avr: make brightness module ready for ATmega devices.

This commit is contained in:
Martin Preuss
2026-04-16 21:28:17 +02:00
parent 0be8ad101a
commit 0c8d812a7a

View File

@@ -88,16 +88,20 @@ Brightness_Every100ms:
breq Brightness_Every100ms_startMeasure breq Brightness_Every100ms_startMeasure
ret ret
Brightness_Every100ms_startMeasure: Brightness_Every100ms_startMeasure:
sbi ADCSRA, ADSC ; start conversion inr r16, ADCSRA ; start conversion
sbr r16, (1<<ADSC)
outr ADCSRA, r16
; sbi ADCSRA, ADSC ; start conversion
ret ret
Brightness_Every100ms_readValue: Brightness_Every100ms_readValue:
sbic ADCSRA, ADSC inr r16, ADCSRA
sbrc r16, ADSC
ret ; return if bit still set, leave brightnessTimer at "1" ret ; return if bit still set, leave brightnessTimer at "1"
; conversion complete, read value ; conversion complete, read value
ldi r16, BRIGHTNESS_INTERVAL ; restart timer ldi r16, BRIGHTNESS_INTERVAL ; restart timer
sts brightnessTimer, r16 sts brightnessTimer, r16
in r16, ADCL inr r16, ADCL
in r17, ADCH ; read value from ADC inr r17, ADCH ; read value from ADC
sts brightnessLastValue, r16 sts brightnessLastValue, r16
sts brightnessLastValue+1, r17 sts brightnessLastValue+1, r17
; convert to 1/0 ; convert to 1/0