Implemented address assignment protocol.

This commit is contained in:
Martin Preuss
2023-02-05 23:42:59 +01:00
parent c1aee1e2c5
commit 716248c4e1
6 changed files with 655 additions and 46 deletions

View File

@@ -190,6 +190,7 @@ realInterruptTable:
.include "led.asm"
.include "com.asm"
.include "comproto.asm"
.include "comproto_addr.asm"
.include "twimaster.asm"
.include "lcd.asm"
;.include "bmp280.asm"
@@ -246,8 +247,6 @@ onSystemStart:
#ifdef MODULES_COM
rcall Utils_SetupUid
; brcc onSystemStart_l1
ldi r16, 0xff
rcall CPRO_EnqueueNeedAddress
onSystemStart_l1:
#endif
@@ -295,6 +294,7 @@ onEvery100ms:
onEverySecond:
; rcall TWI_Master_ScanNext
rcall CPRO_OnEverySecond
ret
@@ -331,6 +331,16 @@ onEvery30s:
#ifdef MODULES_SI7021
rcall SI7021_PeriodicMeasurement
rcall Main_SendValueMsg
lds r16, comAddress
tst r16
brne onEvery30s_l1
lds r16, cproMode
cpi r16, CPRO_MODE_NORMAL
brne onEvery30s_l1
rcall CPRO_StartGetAddrProcedure
onEvery30s_l1:
#endif
ret
@@ -379,7 +389,8 @@ onEveryMinute:
; USED: depending on called routines
onPacketReceived:
clc ; not handled
rcall CPRO_OnPacketReceived
ret