diff --git a/doc/memory_map_parameteo_stm32l476.xls b/doc/memory_map_parameteo_stm32l476.xls new file mode 100644 index 0000000..2b619e9 Binary files /dev/null and b/doc/memory_map_parameteo_stm32l476.xls differ diff --git a/include/etc/kiss_did_configuration.h b/include/etc/kiss_did_configuration.h index efd2584..3615bdb 100644 --- a/include/etc/kiss_did_configuration.h +++ b/include/etc/kiss_did_configuration.h @@ -37,12 +37,14 @@ extern char did_dummy_data; ENTRY(0x1501U, gsm_sim800_simcard_status_string) \ ENTRY(0x1502U, gsm_sim800_cellid) \ ENTRY(0x1503U, gsm_sim800_lac) \ + ENTRY(0x5555U, main_test_string) \ #define DIDS_FLOAT(ENTRY) \ ENTRY(0x2000U, rte_wx_temperature_average_external_valid, DID_EMPTY, DID_EMPTY) \ ENTRY(0x2001U, rte_wx_temperature_internal_valid, DID_EMPTY, DID_EMPTY) \ ENTRY(0x2002U, rte_wx_pressure_history[0], rte_wx_pressure_history[1], rte_wx_pressure_history[2]) \ ENTRY(0x1505U, gsm_sim800_signal_level_dbm, DID_EMPTY, DID_EMPTY) \ + ENTRY(0x2222U, main_test_float, DID_EMPTY, DID_EMPTY) \ #define DIDS_NUMERIC(ENTRY) \ ENTRY(0x1000U, master_time, DID_EMPTY, DID_EMPTY) \ diff --git a/include/main.h b/include/main.h index 71fb107..1a443c0 100644 --- a/include/main.h +++ b/include/main.h @@ -15,7 +15,7 @@ #define SYSTICK_TICKS_PER_SECONDS 100 #define SYSTICK_TICKS_PERIOD 10 -#define INTERNAL_WATCHDOG +//#define INTERNAL_WATCHDOG #define EXTERNAL_WATCHDOG #define PWR_SWITCH_BOTH @@ -73,6 +73,10 @@ extern uint8_t main_woken_up; extern int8_t main_cpu_load; +extern const float main_test_float; + +extern const char main_test_string[11]; + extern char after_tx_lock; extern unsigned short rx10m, tx10m, digi10m, digidrop10m, kiss10m; diff --git a/include/software_version.h b/include/software_version.h index ed5047f..ef261c5 100644 --- a/include/software_version.h +++ b/include/software_version.h @@ -8,8 +8,8 @@ #ifndef SOFTWARE_VERSION_H_ #define SOFTWARE_VERSION_H_ -#define SW_VER "EB03" -#define SW_DATE "19112023" +#define SW_VER "EB04" +#define SW_DATE "26112023" #define SW_KISS_PROTO "B" extern const char software_version_str[5]; diff --git a/src/kiss_protocol/kiss_did.c b/src/kiss_protocol/kiss_did.c index 4289b63..979d20a 100644 --- a/src/kiss_protocol/kiss_did.c +++ b/src/kiss_protocol/kiss_did.c @@ -389,7 +389,7 @@ uint8_t kiss_did_response(uint16_t identifier, uint8_t * output_buffer, uint16_t //move forward a poiner to response buffer output_buffer += sizeof(float); - out += found.first_data_size; + out += sizeof(float); if (number_of_data_source > 1) { //append second data source @@ -418,6 +418,9 @@ uint8_t kiss_did_response(uint16_t identifier, uint8_t * output_buffer, uint16_t output_buffer[0] = (identifier & 0xFF); output_buffer[1] = (identifier & 0xFF00) >> 8; + // move after DID value and size_byte + output_buffer += 2; + // if this is a string DID const void * str = (void *)found.first_data; diff --git a/src/main.c b/src/main.c index b8b9d99..63ad56f 100644 --- a/src/main.c +++ b/src/main.c @@ -292,6 +292,10 @@ telemetry_description_t main_telemetry_description = TELEMETRY_NOTHING; char after_tx_lock; +const float main_test_float = 123.4f; + +const char main_test_string[11] = "1234556aaa\0"; + unsigned short rx10m = 0, tx10m = 0, digi10m = 0, digidrop10m = 0, kiss10m = 0; static void message_callback(struct AX25Msg *msg) {