make version part of init packet

This commit is contained in:
Joerg Lehmann 2019-09-24 17:04:45 +02:00
parent 754404a771
commit 6884d7f1ac
1 changed files with 11 additions and 9 deletions

View File

@ -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 byte MAX_VALUES_TO_SEND = 8;
static const uint8_t LORA_DATA_VERSION = 1; 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 uint32_t PRESSURE_OFFSET = 825;
static const uint16_t SEND_DIFF_THRESHOLD_5GRAMS = 10; // when weight value drops by 50g, then send data 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; } __attribute__((packed)) LORA_data;
typedef struct { 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 vbat; // Batteriespannung (0: <= 2510mV, 70: 3000mV, 170: 3700mV, 255: >= 4295mV [1 Einheit => 7mV])
uint8_t humidity; // Luftfeuchtigkeit in Prozent uint8_t humidity; // Luftfeuchtigkeit in Prozent
int16_t temperature; // Temperatur in 1/10 Grad Celsius 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("-------------------------------------------------------------------------------\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]; char sRegion[16];
gCatena.SafePrintf("Target network: %s / %s\n", 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.version = LORA_DATA_VERSION_FIRST_PACKAGE;
lora_data_first.fw_version = fwVersion;
lora_data_first.vbat = 0; lora_data_first.vbat = 0;
lora_data_first.humidity = 0; lora_data_first.humidity = 0;
lora_data_first.pressure = 0; lora_data_first.pressure = 0;
@ -501,7 +503,8 @@ void ShowLORAData(bool firstTime)
if (firstTime) { if (firstTime) {
gCatena.SafePrintf("{\n"); 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(" \"vbat\": \"%u\",\n", lora_data_first.vbat);
gCatena.SafePrintf(" \"humidity\": \"%u\",\n", lora_data_first.humidity); gCatena.SafePrintf(" \"humidity\": \"%u\",\n", lora_data_first.humidity);
gCatena.SafePrintf(" \"pressure\": \"%u\",\n", lora_data_first.pressure); gCatena.SafePrintf(" \"pressure\": \"%u\",\n", lora_data_first.pressure);
@ -514,7 +517,7 @@ void ShowLORAData(bool firstTime)
} else { } else {
gCatena.SafePrintf("{\n"); 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(" \"vbat\": \"%u\",\n", lora_data.vbat);
gCatena.SafePrintf(" \"temperature\": \"%u\",\n", lora_data.temperature); gCatena.SafePrintf(" \"temperature\": \"%u\",\n", lora_data.temperature);
gCatena.SafePrintf(" \"humidity\": ["); gCatena.SafePrintf(" \"humidity\": [");
@ -898,8 +901,7 @@ static void receiveMessage(void *pContext, uint8_t port, const uint8_t *pMessage
return; return;
} }
gCatena.SafePrintf("receiveMessage was called!!!!n"); gCatena.SafePrintf("Port: %i\n", port);
gCatena.SafePrintf("Port: %s\n", port);
gCatena.SafePrintf("LMIC.rxDelay: %i\n", LMIC.rxDelay); gCatena.SafePrintf("LMIC.rxDelay: %i\n", LMIC.rxDelay);
gCatena.SafePrintf("LMIC.dn2Dr: %i\n", LMIC.dn2Dr); gCatena.SafePrintf("LMIC.dn2Dr: %i\n", LMIC.dn2Dr);
gCatena.SafePrintf("LMIC.dn2Freq: %i\n", LMIC.dn2Freq); 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 (! (port == 1 && 2 <= nMessage && nMessage <= 3))
{ {
if (config_data.debug_level > 0) { 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 port, nMessage
); );
} }