comparison src/adc_lightsensor.asm @ 650:bc214815deb2

3.19/10.75 release
author heinrichsweikamp
date Sun, 28 Aug 2022 13:13:38 +0200
parents ef2ed7e3a895
children 75e90cd0c2c3
comparison
equal deleted inserted replaced
649:ef2ed7e3a895 650:bc214815deb2
79 btfsc CHRG_IN ; - still charging? 79 btfsc CHRG_IN ; - still charging?
80 return ; NO - done 80 return ; NO - done
81 ;bra charge_cv_active ; YES - charging in CV mode 81 ;bra charge_cv_active ; YES - charging in CV mode
82 82
83 charge_cv_active: 83 charge_cv_active:
84 btfss analog_switches ; does the OSTC have analog switches?
85 bra charge_cv_active1 ; NO
86 btfsc surfmode_menu ; YES - in surface menus?
87 bsf trigger_timeout ; YES - exit to surface mode during charging
88 charge_cv_active1:
84 decfsz get_bat_volt_counter,F ; decrement counter, became zero? 89 decfsz get_bat_volt_counter,F ; decrement counter, became zero?
85 return ; NO - not yet, done 90 return ; NO - not yet, done
86 movlw .15 ; YES - battery voltage >= 16*256mV (4.096V) 91 movlw .15 ; YES - battery voltage >= 16*256mV (4.096V)
87 cpfsgt batt_voltage+1 ; - ... ? 92 cpfsgt batt_voltage+1 ; - ... ?
88 bra charge_cc_active ; NO 93 bra charge_cc_active ; NO
94 bcf LEDr ; - indicate charging 99 bcf LEDr ; - indicate charging
95 bsf get_bat_volt_counter,0 ; - set counter to 1 100 bsf get_bat_volt_counter,0 ; - set counter to 1
96 return ; - done 101 return ; - done
97 102
98 charge_cc_active: 103 charge_cc_active:
104 btfss analog_switches ; does the OSTC have analog switches?
105 bra charge_cc_active1 ; NO
106 btfsc surfmode_menu ; YES - in surface menus?
107 bsf trigger_timeout ; YES - exit to surface mode during charging
108 charge_cc_active1:
99 bsf cc_active ; set CC charging mode 109 bsf cc_active ; set CC charging mode
100 bsf LEDr ; indicate charging 110 bsf LEDr ; indicate charging
101 bcf CHRG_OUT ; 111 bcf CHRG_OUT ;
102 bsf TRISJ,2 ; set chrg-Out output to high impedance 112 bsf TRISJ,2 ; set chrg-Out output to high impedance
103 movlw .15 ; battery voltage >= 16*256mV (4.096 V) 113 movlw .15 ; battery voltage >= 16*256mV (4.096 V)
256 get_ambient_level: 266 get_ambient_level:
257 btfsc sleepmode ; in sleep mode? 267 btfsc sleepmode ; in sleep mode?
258 return ; YES - done 268 return ; YES - done
259 btfsc adc_is_running ; NO - ADC in use? 269 btfsc adc_is_running ; NO - ADC in use?
260 return ; YES - abort 270 return ; YES - abort
271 TSTOSS opt_use_AmbientSensor ; =1: Use the ambient sensor
272 bra get_ambient_level0 ; NO, skip and use fixed value
261 banksel HW_descriptor ; NO - select bank where hardware descriptor is stored 273 banksel HW_descriptor ; NO - select bank where hardware descriptor is stored
262 btfsc ambient_sensor ; - ambient sensor available? 274 btfsc ambient_sensor ; - ambient sensor available?
263 bra get_ambient_level1 ; YES - use sensor 275 bra get_ambient_level1 ; YES - use sensor
276 get_ambient_level0:
264 banksel isr_backup ; NO - back to ISR default bank 277 banksel isr_backup ; NO - back to ISR default bank
265 movff brightness,isr_lo ; - get brightness selection 278 movff brightness,isr_lo ; - get brightness selection
266 incf isr_lo,F ; - 0-2 -> 1-3 279 incf isr_lo,F ; - 0-2 -> 1-3
267 movlw ambient_light_max_high_cr ; - default selection to brightest setting 280 movlw ambient_light_max_high_cr ; - default selection to brightest setting
268 dcfsnz isr_lo,F ; - level 0 (eco) selected? 281 dcfsnz isr_lo,F ; - level 0 (eco) selected?
507 return ; done 520 return ; done
508 521
509 get_analog_switches_1: 522 get_analog_switches_1:
510 btfsc adc_is_running ; ADC in use? 523 btfsc adc_is_running ; ADC in use?
511 return ; YES - abort 524 return ; YES - abort
512 btfsc cc_active ; NO - charging? 525 btfsc cc_active ; NO - charging constant current?
526 bra get_analog_switches0 ; YES - abort (and clear both flags)
527 btfsc cv_active ; NO - charging constant voltage?
513 bra get_analog_switches0 ; YES - abort (and clear both flags) 528 bra get_analog_switches0 ; YES - abort (and clear both flags)
514 529
515 get_analog_switches_2: 530 get_analog_switches_2:
516 ; reset the latch register in case it's externally pulled down. mH This is a test 531 ; reset the latch register in case it's externally pulled down. mH This is a test
517 bsf power_sw1 ; switch on power supply for switch 1 532 bsf power_sw1 ; switch on power supply for switch 1