From 6884d7f1aca81ae4191fe5c2ea3bc422d50c5bcd Mon Sep 17 00:00:00 2001 From: Joerg Lehmann Date: Tue, 24 Sep 2019 17:04:45 +0200 Subject: [PATCH] make version part of init packet --- mini-beieli-node.ino | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/mini-beieli-node.ino b/mini-beieli-node.ino index 6f63b50..53e4d2f 100644 --- a/mini-beieli-node.ino +++ b/mini-beieli-node.ino @@ -135,10 +135,10 @@ sMyExtraCommands_top( | \****************************************************************************/ -static const char sVersion[] = "0.1"; +static const int32_t fwVersion = 20190913; static const byte MAX_VALUES_TO_SEND = 8; static const uint8_t LORA_DATA_VERSION = 1; -static const uint8_t LORA_DATA_VERSION_FIRST_PACKAGE = 128; +static const uint8_t LORA_DATA_VERSION_FIRST_PACKAGE = 129; static const uint32_t PRESSURE_OFFSET = 825; static const uint16_t SEND_DIFF_THRESHOLD_5GRAMS = 10; // when weight value drops by 50g, then send data @@ -170,7 +170,8 @@ typedef struct { } __attribute__((packed)) LORA_data; typedef struct { - uint8_t version; // Version + uint8_t version; // Version of Packet Format (must be increased every time format changes...) + int32_t fw_version; // Version of Firmware, Nummer entspricht YYYYMMDD uint8_t vbat; // Batteriespannung (0: <= 2510mV, 70: 3000mV, 170: 3700mV, 255: >= 4295mV [1 Einheit => 7mV]) uint8_t humidity; // Luftfeuchtigkeit in Prozent int16_t temperature; // Temperatur in 1/10 Grad Celsius @@ -295,7 +296,7 @@ void setup_platform(void) gCatena.SafePrintf("\n"); gCatena.SafePrintf("-------------------------------------------------------------------------------\n"); - gCatena.SafePrintf("mini-beieli.ch - BeieliScale Version %s.\n", sVersion); + gCatena.SafePrintf("mini-beieli.ch - BeieliScale Version %d.\n", fwVersion); { char sRegion[16]; gCatena.SafePrintf("Target network: %s / %s\n", @@ -476,6 +477,7 @@ void ClearLoraData(void) } lora_data_first.version = LORA_DATA_VERSION_FIRST_PACKAGE; + lora_data_first.fw_version = fwVersion; lora_data_first.vbat = 0; lora_data_first.humidity = 0; lora_data_first.pressure = 0; @@ -501,7 +503,8 @@ void ShowLORAData(bool firstTime) if (firstTime) { gCatena.SafePrintf("{\n"); - gCatena.SafePrintf(" \"version\": \"%u\",\n", lora_data_first.version); + gCatena.SafePrintf(" \"version\": \"%d\",\n", lora_data_first.version); + gCatena.SafePrintf(" \"fw_version\": \"%d\",\n", lora_data_first.fw_version); gCatena.SafePrintf(" \"vbat\": \"%u\",\n", lora_data_first.vbat); gCatena.SafePrintf(" \"humidity\": \"%u\",\n", lora_data_first.humidity); gCatena.SafePrintf(" \"pressure\": \"%u\",\n", lora_data_first.pressure); @@ -514,7 +517,7 @@ void ShowLORAData(bool firstTime) } else { gCatena.SafePrintf("{\n"); - gCatena.SafePrintf(" \"version\": \"%u\",\n", lora_data.version); + gCatena.SafePrintf(" \"version\": \"%d\",\n", lora_data.version); gCatena.SafePrintf(" \"vbat\": \"%u\",\n", lora_data.vbat); gCatena.SafePrintf(" \"temperature\": \"%u\",\n", lora_data.temperature); gCatena.SafePrintf(" \"humidity\": ["); @@ -898,8 +901,7 @@ static void receiveMessage(void *pContext, uint8_t port, const uint8_t *pMessage return; } - gCatena.SafePrintf("receiveMessage was called!!!!n"); - gCatena.SafePrintf("Port: %s\n", port); + gCatena.SafePrintf("Port: %i\n", port); gCatena.SafePrintf("LMIC.rxDelay: %i\n", LMIC.rxDelay); gCatena.SafePrintf("LMIC.dn2Dr: %i\n", LMIC.dn2Dr); gCatena.SafePrintf("LMIC.dn2Freq: %i\n", LMIC.dn2Freq); @@ -910,7 +912,7 @@ static void receiveMessage(void *pContext, uint8_t port, const uint8_t *pMessage if (! (port == 1 && 2 <= nMessage && nMessage <= 3)) { if (config_data.debug_level > 0) { - gCatena.SafePrintf("invalid message port(%02x)/length(%zx)\n", + gCatena.SafePrintf("invalid message port(%02x)/length(%x)\n", port, nMessage ); }