From 296ead3241fea4566eb6be92c01a47c177f07930 Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Fri, 7 Aug 2026 01:02:45 +0200 Subject: [PATCH] avr: simplified modules. --- avr/apps/reportsensors/main.asm | 111 +++++--------------------------- avr/apps/stats/main.asm | 69 ++++++++++---------- 2 files changed, 51 insertions(+), 129 deletions(-) diff --git a/avr/apps/reportsensors/main.asm b/avr/apps/reportsensors/main.asm index e5dc929..0a7d236 100644 --- a/avr/apps/reportsensors/main.asm +++ b/avr/apps/reportsensors/main.asm @@ -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 diff --git a/avr/apps/stats/main.asm b/avr/apps/stats/main.asm index 2e0e438..9959079 100644 --- a/avr/apps/stats/main.asm +++ b/avr/apps/stats/main.asm @@ -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