avr: simplified modules.

This commit is contained in:
Martin Preuss
2026-08-07 01:02:45 +02:00
parent f3820aee22
commit 296ead3241
2 changed files with 51 additions and 129 deletions

View File

@@ -89,122 +89,45 @@ appReportSensorsWalkTable:
#ifdef MODULES_SI7021
appReportSensorsSi7021MeasureValue1:
rjmp SI7021_MeasureTemp
appReportSensorsSi7021MeasureValue2:
rjmp SI7021_MeasureHumidity
appReportSensorsSi7021SendValue1:
rjmp SI7021_SendTemperature
appReportSensorsSi7021SendValue2:
rjmp SI7021_SendHumidity
#endif
#ifdef MODULES_DS18B20
appReportSensorsDs18b20SendValue:
rjmp Ds18b20_SendTemperature
#endif
#ifdef MODULES_MULTIFAN
appReportSensorsMultiFanSendValue1:
bigjmp MultiFan_ReportSpeed1
appReportSensorsMultiFanSendValue2:
bigjmp MultiFan_ReportSpeed2
appReportSensorsMultiFanSendValue3:
bigjmp MultiFan_ReportSpeed3
#endif
#ifdef MODULES_SGP40
appReportSensorsSgp40MeasureValue:
rjmp SGP40_MeasureRawSignal
appReportSensorsSgp40SendValue:
rjmp SGP40_SendTVOC
#endif
#ifdef MODULES_SGP30
appReportSensorsSgp30SendValue1:
rjmp SGP30_SendTVOC
appReportSensorsSgp30SendValue2:
rjmp SGP30_SendCO2
#endif
#ifdef MODULES_CCS811
appReportSensorsCcs811SendValue1:
rjmp CCS811_SendTVOC
appReportSensorsCcs811SendValue2:
rjmp CCS811_SendCO2
#endif
#ifdef MODULES_BRIGHTNESS
appReportSensorsBrightnessSendValue:
rjmp Brightness_Send
#endif
#ifdef APPS_DOOR
appReportSensorsDoorSendValue:
rjmp appDoorSendValue
#endif
#ifdef APPS_MOTION
appReportSensorsMotionSendValue:
rjmp appMotionSendValue
#endif
; ---------------------------------------------------------------------------
; table
; time routine (word address)
appReportSensorsTable:
#ifdef MODULES_SI7021
.dw 1, appReportSensorsSi7021MeasureValue1
.dw 11, appReportSensorsSi7021MeasureValue2
.dw 16, appReportSensorsSi7021SendValue1
.dw 21, appReportSensorsSi7021SendValue2
.dw 1, SI7021_MeasureTemp
.dw 11, SI7021_MeasureHumidity
.dw 16, SI7021_SendTemperature
.dw 21, SI7021_SendHumidity
#endif
#ifdef MODULES_MULTIFAN
.dw 32, appReportSensorsMultiFanSendValue1
.dw 33, appReportSensorsMultiFanSendValue2
.dw 34, appReportSensorsMultiFanSendValue3
.dw 32, MultiFan_ReportSpeed1
.dw 33, MultiFan_ReportSpeed2
.dw 34, MultiFan_ReportSpeed3
#endif
#ifdef MODULES_SGP40
.dw 53, appReportSensorsSgp40MeasureValue
.dw 63, appReportSensorsSgp40SendValue
.dw 53, SGP40_MeasureRawSignal
.dw 63, SGP40_SendTVOC
#endif
#ifdef MODULES_SGP30
.dw 53, appReportSensorsSgp30SendValue1
.dw 63, appReportSensorsSgp30SendValue2
.dw 53, SGP30_SendTVOC
.dw 63, SGP30_SendCO2
#endif
#ifdef MODULES_DS18B20
.dw 84, appReportSensorsDs18b20SendValue
.dw 84, Ds18b20_SendTemperature
#endif
#ifdef MODULES_CCS811
.dw 94, appReportSensorsCcs811SendValue1
.dw 104, appReportSensorsCcs811SendValue2
.dw 94, CCS811_SendTVOC
.dw 104, CCS811_SendCO2
#endif
#ifdef MODULES_BRIGHTNESS
.dw 97, appReportSensorsBrightnessSendValue
.dw 97, Brightness_Send
#endif
#ifdef APPS_DOOR
.dw 100, appReportSensorsDoorSendValue
.dw 100, appDoorSendValue
#endif
#ifdef APPS_MOTION
.dw 108, appReportSensorsMotionSendValue
.dw 108, appMotionSendValue
#endif
; end of table
.dw 0, 0

View File

@@ -87,6 +87,9 @@ AppStats_OnEveryMinute_store:
appStatsWalkTable:
ldi zl, LOW(appStatsTable*2)
ldi zh, HIGH(appStatsTable*2)
ldi yl, LOW(netInterfaceData)
ldi yh, HIGH(netInterfaceData)
lds r16, appStatsTimer
bigcall WalkTable
ret
@@ -94,42 +97,36 @@ appStatsWalkTable:
AppStats_OnEveryMinute_sendDeviceDev1:
ldi yl, LOW(netInterfaceData)
ldi yh, HIGH(netInterfaceData)
rjmp AppNetwork_SendDevice
AppStats_OnEveryMinute_sendMemStats:
ldi yl, LOW(netInterfaceData)
ldi yh, HIGH(netInterfaceData)
rjmp AppNetwork_SendMemStats
AppStats_OnEveryMinute_sendRecvStats1:
ldi yl, LOW(netInterfaceData)
ldi yh, HIGH(netInterfaceData)
rjmp AppNetwork_SendRxdStats
AppStats_OnEveryMinute_sendSendStats1:
ldi yl, LOW(netInterfaceData)
ldi yh, HIGH(netInterfaceData)
rjmp AppNetwork_SendTxdStats
#ifdef APP_STATS_NETDEV2
AppStats_OnEveryMinute_sendDeviceDev2:
ldi yl, LOW(netInterfaceData2)
ldi yh, HIGH(netInterfaceData2)
rjmp AppNetwork_SendDevice
push yl
push yh
ldi yl, LOW(netInterfaceData2)
ldi yh, HIGH(netInterfaceData2)
rcall AppNetwork_SendDevice
pop yh
pop yl
ret
AppStats_OnEveryMinute_sendRecvStats2:
ldi yl, LOW(netInterfaceData2)
ldi yh, HIGH(netInterfaceData2)
rjmp AppNetwork_SendRxdStats
push yl
push yh
ldi yl, LOW(netInterfaceData2)
ldi yh, HIGH(netInterfaceData2)
rcall AppNetwork_SendRxdStats
pop yh
pop yl
ret
AppStats_OnEveryMinute_sendSendStats2:
ldi yl, LOW(netInterfaceData2)
ldi yh, HIGH(netInterfaceData2)
rjmp AppNetwork_SendTxdStats
push yl
push yh
ldi yl, LOW(netInterfaceData2)
ldi yh, HIGH(netInterfaceData2)
rcall AppNetwork_SendTxdStats
pop yh
pop yl
ret
#endif
; @end
@@ -138,18 +135,20 @@ AppStats_OnEveryMinute_sendSendStats1:
; ---------------------------------------------------------------------------
; table
; time routine (word address)
; @TODO use 2nd byte as flags (e.g. set Y=netInterfaceData, set Y=netInterfaceData2)
appStatsTable:
.dw 1, AppStats_OnEveryMinute_sendMemStats
.dw 2, AppStats_OnEveryMinute_sendDeviceDev1
.dw 3, AppStats_OnEveryMinute_sendRecvStats1
.dw 4, AppStats_OnEveryMinute_sendSendStats1
.dw 5, AppStats_OnEveryMinute_sendDeviceDev1
.dw 1, AppNetwork_SendMemStats
.dw 2, AppNetwork_SendDevice
.dw 3, AppNetwork_SendRxdStats
.dw 4, AppNetwork_SendTxdStats
.dw 5, AppNetwork_SendDevice
#ifdef APP_STATS_NETDEV2
.dw 6, AppStats_OnEveryMinute_sendDeviceDev2
.dw 7, AppStats_OnEveryMinute_sendRecvStats2
.dw 8, AppStats_OnEveryMinute_sendSendStats2
#endif
.dw 9, AppNetwork_SendDevice
; end of table
.dw 0, 0