From 0d2625df7fd03fadefce161990b42bcc711dc78b Mon Sep 17 00:00:00 2001 From: Alexey Zholtikov Date: Wed, 21 Oct 2026 08:35:03 +0300 Subject: [PATCH] doc: added general configuration library --- .gitignore | 3 ++- platformio.ini | 14 +++++++++++++- src/main.c | 8 +++++--- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index c78477b..e67df9a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .vscode .DS_Store -build \ No newline at end of file +build +.pio \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 8630d6a..3a0c571 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,6 +11,8 @@ board_fuses.efuse = 0x07 upload_flags = -Pusb -e +lib_deps = + https://github.com/aZholtikov/zh_rf_config [env:ATmega168P] platform = atmelavr @@ -25,6 +27,8 @@ board_fuses.efuse = 0x07 upload_flags = -Pusb -e +lib_deps = + https://github.com/aZholtikov/zh_rf_config [env:ATmega168PB] platform = atmelavr @@ -39,6 +43,8 @@ board_fuses.efuse = 0x07 upload_flags = -Pusb -e +lib_deps = + https://github.com/aZholtikov/zh_rf_config [env:ATmega328] platform = atmelavr @@ -53,6 +59,8 @@ board_fuses.efuse = 0x07 upload_flags = -Pusb -e +lib_deps = + https://github.com/aZholtikov/zh_rf_config [env:ATmega328P] platform = atmelavr @@ -67,6 +75,8 @@ board_fuses.efuse = 0x07 upload_flags = -Pusb -e +lib_deps = + https://github.com/aZholtikov/zh_rf_config [env:ATmega328PB] platform = atmelavr @@ -80,4 +90,6 @@ board_fuses.hfuse = 0xDF board_fuses.efuse = 0x07 upload_flags = -Pusb - -e \ No newline at end of file + -e +lib_deps = + https://github.com/aZholtikov/zh_rf_config \ No newline at end of file diff --git a/src/main.c b/src/main.c index 47c5b82..da9a1ca 100644 --- a/src/main.c +++ b/src/main.c @@ -3,6 +3,7 @@ #include "avr/fuse.h" #include "avr/interrupt.h" #include "util/delay.h" +#include "zh_rf_config.h" #if defined(__AVR_ATmega328PB__) #ifndef SPCR @@ -31,7 +32,6 @@ #define GATEWAY_CHANNEL 120 #define GATEWAY_ADDRESS 0xDDEEFF #define DEVICE_ID 6 -#define DEVICE_TYPE 4 #define NRF_CMD_W_REGISTER 0x20 #define NRF_CMD_W_TX_PAYLOAD 0xA0 @@ -164,6 +164,8 @@ static float zh_get_battery_voltage(void); static volatile uint8_t send_request = 0; +zh_rf_sensor_transmitted_data_t transmitted_data = {DEVICE_ID, ZH_RF_SENSOR_TOUCH_SWITCH, 0, 0, 0, 0, 0}; + int main(void) { cli(); @@ -179,8 +181,8 @@ int main(void) cli(); send_request = 0; sei(); - int16_t data[] = {DEVICE_ID, DEVICE_TYPE, (int16_t)(zh_get_battery_voltage() * 100.0), 0, 0, 0, 0}; - zh_nrf24_send((uint8_t *)data, sizeof(data)); + transmitted_data.battery_voltage = (int16_t)(zh_get_battery_voltage() * 100.0); + zh_nrf24_send((uint8_t *)&transmitted_data, sizeof(transmitted_data)); } else {