avr: added devices, more work on modules.
This commit is contained in:
@@ -190,7 +190,7 @@ CCS811_OnTimer_measure:
|
||||
lds r16, ccs811ResponseData+4
|
||||
andi r16, (1<<CCS811_STATUS_DATAREADY_BIT)
|
||||
; breq CCS811_OnTimer_ret
|
||||
breq CCS811_OnTimer_storetimerret
|
||||
breq CCS811_OnTimer_storetimerret ; jmp if data not ready
|
||||
lds r16, ccs811Flags
|
||||
ori r16, CCS811_FLAGS_VALIDDATA
|
||||
sts ccs811Flags, r16
|
||||
@@ -421,7 +421,6 @@ ccs811SendDebug:
|
||||
|
||||
|
||||
ccs811SendCo2:
|
||||
ldi r16, 0xff ; destination address
|
||||
ldi r17, VALUE_ID_CO2 ; value id
|
||||
ldi r22, AQHOME_VALUETYPE_CO2
|
||||
lds r18, ccs811ResponseData+1 ; value
|
||||
@@ -431,7 +430,6 @@ ccs811SendCo2:
|
||||
|
||||
|
||||
ccs811SendTvoc:
|
||||
ldi r16, 0xff ; destination address
|
||||
ldi r17, VALUE_ID_TVOC ; value id
|
||||
ldi r22, AQHOME_VALUETYPE_TVOC
|
||||
lds r18, ccs811ResponseData+3 ; value
|
||||
@@ -441,6 +439,14 @@ ccs811SendTvoc:
|
||||
|
||||
|
||||
ccs811SendAny:
|
||||
mov r16, r18 ; check for FF FF
|
||||
and r16, r19
|
||||
inc r16
|
||||
brne ccs811SendAny_send ; send only if data is not FFFF
|
||||
clc
|
||||
ret
|
||||
ccs811SendAny_send:
|
||||
ldi r16, 0xff ; destination address
|
||||
ldi r20, 1
|
||||
clr r21
|
||||
ldi xl, LOW(com2SendBuffer)
|
||||
@@ -464,70 +470,6 @@ ccs811WaitMs_loop2:
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
; ---------------------------------------------------------------------------
|
||||
; ccs811ReadFirmwareRevision
|
||||
;
|
||||
; Expects interrupts being disabled!
|
||||
; Currently doesn't work (my CCS811 doesn't accept the command).
|
||||
;
|
||||
; IN:
|
||||
; - nothing
|
||||
; OUT:
|
||||
; - CFLAG: set if okay, clear on error
|
||||
; - R16: firmware revision (0xff: version 1.0, 0x20: version 2.0)
|
||||
; USED:
|
||||
|
||||
ccs811ReadFirmwareRevision:
|
||||
rcall twiStart
|
||||
ldi r16, (CCS811_ADDR*2) ; write access
|
||||
rcall twiSendByteExpectAck
|
||||
brcc ccs811ReadFirmwareRevision_error1
|
||||
ldi r16, 0x84
|
||||
rcall twiSendByteExpectAck
|
||||
brcc ccs811ReadFirmwareRevision_error2
|
||||
ldi r16, 0xb8
|
||||
rcall twiSendByteExpectAck
|
||||
brcc ccs811ReadFirmwareRevision_error3
|
||||
rcall twiRestart
|
||||
ldi r16, (CCS811_ADDR*2)+1 ; read access
|
||||
rcall twiSendByteExpectAck
|
||||
brcc ccs811ReadFirmwareRevision_error4
|
||||
rcall twiReceiveByte ; don't send ACK
|
||||
brcc ccs811ReadFirmwareRevision_error5
|
||||
rcall twiStop
|
||||
sec
|
||||
ret
|
||||
|
||||
ccs811ReadFirmwareRevision_error1:
|
||||
ldi r16, 1
|
||||
rcall ccs811SetError
|
||||
rjmp ccs811ReadFirmwareRevision_error
|
||||
ccs811ReadFirmwareRevision_error2:
|
||||
ldi r16, 2
|
||||
rcall ccs811SetError
|
||||
rjmp ccs811ReadFirmwareRevision_error
|
||||
ccs811ReadFirmwareRevision_error3:
|
||||
ldi r16, 3
|
||||
rcall ccs811SetError
|
||||
rjmp ccs811ReadFirmwareRevision_error
|
||||
ccs811ReadFirmwareRevision_error4:
|
||||
ldi r16, 4
|
||||
rcall ccs811SetError
|
||||
rjmp ccs811ReadFirmwareRevision_error
|
||||
ccs811ReadFirmwareRevision_error5:
|
||||
ldi r16, 5
|
||||
rcall ccs811SetError
|
||||
rjmp ccs811ReadFirmwareRevision_error
|
||||
|
||||
ccs811ReadFirmwareRevision_error:
|
||||
rcall twiStop
|
||||
clc
|
||||
ret
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user