tcrt1000: decreased limit from 170 to 100
This commit is contained in:
@@ -10,7 +10,8 @@
|
|||||||
|
|
||||||
|
|
||||||
.equ TCRT1K_INTERVAL = 7
|
.equ TCRT1K_INTERVAL = 7
|
||||||
.equ TCRT1K_LIMIT = 170
|
;.equ TCRT1K_LIMIT = 170
|
||||||
|
.equ TCRT1K_LIMIT = 100
|
||||||
|
|
||||||
.equ TCRT1K_FLAGS_VALID_BIT = 7
|
.equ TCRT1K_FLAGS_VALID_BIT = 7
|
||||||
.equ TCRT1K_FLAGS_VALUE_BIT = 0
|
.equ TCRT1K_FLAGS_VALUE_BIT = 0
|
||||||
@@ -24,6 +25,7 @@
|
|||||||
tcrt1kDataBegin:
|
tcrt1kDataBegin:
|
||||||
tcrt1kTimer: .byte 1
|
tcrt1kTimer: .byte 1
|
||||||
tcrt1kFlags: .byte 1
|
tcrt1kFlags: .byte 1
|
||||||
|
tcrt1kLastValue: .byte 1
|
||||||
tcrt1kDataEnd:
|
tcrt1kDataEnd:
|
||||||
|
|
||||||
|
|
||||||
@@ -105,15 +107,16 @@ TCRT1K_Every100ms_readValue:
|
|||||||
ldi r16, TCRT1K_INTERVAL ; restart timer
|
ldi r16, TCRT1K_INTERVAL ; restart timer
|
||||||
sts tcrt1kTimer, r16
|
sts tcrt1kTimer, r16
|
||||||
in r16, ADCH ; read value from ADC
|
in r16, ADCH ; read value from ADC
|
||||||
|
sts tcrt1kLastValue, r16
|
||||||
cbi TCRT1K_LED_PORT, TCRT1K_LED_PIN ; LED off
|
cbi TCRT1K_LED_PORT, TCRT1K_LED_PIN ; LED off
|
||||||
; convert to 1/0
|
; convert to 1/0
|
||||||
lds r17, tcrt1kFlags
|
lds r17, tcrt1kFlags
|
||||||
cbr r17, (1<<TCRT1K_FLAGS_VALUE_BIT)
|
cbr r17, (1<<TCRT1K_FLAGS_VALUE_BIT) ; clear value bit
|
||||||
cpi r16, TCRT1K_LIMIT
|
cpi r16, TCRT1K_LIMIT ; ADC value < LIMIT?
|
||||||
brcs TCRT1K_Every100ms_valueSet
|
brcs TCRT1K_Every100ms_valueSet ; yes: keep value bit zero
|
||||||
sbr r17, (1<<TCRT1K_FLAGS_VALUE_BIT)
|
sbr r17, (1<<TCRT1K_FLAGS_VALUE_BIT) ; no: set value bit
|
||||||
TCRT1K_Every100ms_valueSet:
|
TCRT1K_Every100ms_valueSet:
|
||||||
sbr r17, (1<<TCRT1K_FLAGS_VALID_BIT)
|
sbr r17, (1<<TCRT1K_FLAGS_VALID_BIT) ; set valid bit
|
||||||
sts tcrt1kFlags, r17
|
sts tcrt1kFlags, r17
|
||||||
ret
|
ret
|
||||||
; @end
|
; @end
|
||||||
|
|||||||
Reference in New Issue
Block a user