From 4fd5091657eb9b364c535d47082cbac02934e674 Mon Sep 17 00:00:00 2001 From: 3djc Date: Sat, 10 Aug 2019 12:00:38 +0200 Subject: [PATCH 1/6] Make switch logging using hardware config --- radio/src/logs.cpp | 79 +++++++++++----------------------------- radio/src/strhelpers.cpp | 49 ++++++++++++++----------- radio/src/strhelpers.h | 1 + 3 files changed, 51 insertions(+), 78 deletions(-) diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index 0ac375041..6f2252666 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -28,13 +28,11 @@ uint8_t logDelay; void writeHeader(); #if defined(PCBTARANIS) || defined(PCBHORUS) - #define GET_2POS_STATE(sw) (switchState(SW_ ## sw ## 0) ? -1 : 1) +#define GET_SWITCH_STATE(sw) (getValue(MIXSRC_FIRST_SWITCH+sw) < 0 ? -1 : getValue(MIXSRC_FIRST_SWITCH+sw) > 0 ? 1 : 0) #else - #define GET_2POS_STATE(sw) (switchState(SW_ ## sw) ? -1 : 1) -#endif - +#define GET_2POS_STATE(sw) (switchState(SW_ ## sw) ? -1 : 1) #define GET_3POS_STATE(sw) (switchState(SW_ ## sw ## 0) ? -1 : (switchState(SW_ ## sw ## 2) ? 1 : 0)) - +#endif void logsInit() { @@ -166,18 +164,18 @@ void writeHeader() } f_putc(',', &g_oLogFile); } -#if defined(PCBX7) - #define STR_SWITCHES_LOG_HEADER "SA,SB,SC,SD,SF,SH" -#elif defined(PCBXLITE) - #define STR_SWITCHES_LOG_HEADER "SA,SB,SC,SD" -#elif defined(PCBXLITES) - #define STR_SWITCHES_LOG_HEADER "SA,SB,SC,SD,SE,SF" -#elif defined(PCBX9LITE) - #define STR_SWITCHES_LOG_HEADER "SA,SB,SC,SE,SF" -#else - #define STR_SWITCHES_LOG_HEADER "SA,SB,SC,SD,SE,SF,SG,SH" -#endif - f_puts(STR_SWITCHES_LOG_HEADER ",LSW,", &g_oLogFile); + + for(uint8_t i=0; i= 5) + *dest++ = 'H' + swinfo.quot - 5; + else if (swinfo.quot == 4) +#if defined(RADIO_T12) + *dest++ = 'G'; +#else + *dest++ = 'F'; +#endif + else + *dest++ = 'A'+swinfo.quot; +#else + *dest++ = 'A' + swinfo.quot; +#endif + } + return dest; +} + char * getSwitchString(char * dest, swsrc_t idx) { if (idx == SWSRC_NONE) { @@ -267,27 +294,7 @@ char * getSwitchString(char * dest, swsrc_t idx) #define IDX_ON_IN_STR_VSWITCHES (IDX_TRIMS_IN_STR_VSWITCHES+SWSRC_LAST_TRIM-SWSRC_FIRST_TRIM+1) if (idx <= SWSRC_LAST_SWITCH) { div_t swinfo = switchInfo(idx); - if (ZEXIST(g_eeGeneral.switchNames[swinfo.quot])) { - s += zchar2str(s, g_eeGeneral.switchNames[swinfo.quot], LEN_SWITCH_NAME); - // TODO tous zchar2str - } - else { - *s++ = 'S'; -#if defined(PCBX7) - if (swinfo.quot >= 5) - *s++ = 'H' + swinfo.quot - 5; - else if (swinfo.quot == 4) -#if defined(RADIO_T12) - *s++ = 'G'; -#else - *s++ = 'F'; -#endif - else - *s++ = 'A'+swinfo.quot; -#else - *s++ = 'A' + swinfo.quot; -#endif - } + s = getSwitchName(s, idx); *s++ = "\300-\301"[swinfo.rem]; *s = '\0'; } diff --git a/radio/src/strhelpers.h b/radio/src/strhelpers.h index e9e45425d..ed9c145db 100644 --- a/radio/src/strhelpers.h +++ b/radio/src/strhelpers.h @@ -36,6 +36,7 @@ char * getTimerString(char * dest, int32_t tme, uint8_t hours=0); char * getCurveString(char * dest, int idx); char * getGVarString(char * dest, int idx); char * getSwitchString(char * dest, swsrc_t idx); +char * getSwitchName(char * dest, swsrc_t idx); char * getSourceString(char * dest, mixsrc_t idx); #endif From c5900bc351be06c9ec9fbb138f243ce71c2cc519 Mon Sep 17 00:00:00 2001 From: 3djc Date: Sat, 10 Aug 2019 12:08:54 +0200 Subject: [PATCH 2/6] compilation fixes --- radio/src/strhelpers.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/radio/src/strhelpers.cpp b/radio/src/strhelpers.cpp index 34e4adb30..30b31712e 100644 --- a/radio/src/strhelpers.cpp +++ b/radio/src/strhelpers.cpp @@ -241,6 +241,7 @@ char * getGVarString(char * dest, int idx) return dest; } +#if !defined(PCBSKY9X) char * getSwitchName(char * dest, swsrc_t idx) { div_t swinfo = switchInfo(idx); @@ -267,6 +268,7 @@ char * getSwitchName(char * dest, swsrc_t idx) } return dest; } +#endif char * getSwitchString(char * dest, swsrc_t idx) { From 13ade094a30c8bb966066a87c7a37d76c316c5c8 Mon Sep 17 00:00:00 2001 From: 3djc Date: Sat, 10 Aug 2019 17:30:20 +0200 Subject: [PATCH 3/6] Cosmetics --- radio/src/logs.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index 6f2252666..9465d99a7 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -28,10 +28,10 @@ uint8_t logDelay; void writeHeader(); #if defined(PCBTARANIS) || defined(PCBHORUS) -#define GET_SWITCH_STATE(sw) (getValue(MIXSRC_FIRST_SWITCH+sw) < 0 ? -1 : getValue(MIXSRC_FIRST_SWITCH+sw) > 0 ? 1 : 0) + #define GET_SWITCH_STATE(sw) (getValue(MIXSRC_FIRST_SWITCH+sw) < 0 ? -1 : getValue(MIXSRC_FIRST_SWITCH+sw) > 0 ? 1 : 0) #else -#define GET_2POS_STATE(sw) (switchState(SW_ ## sw) ? -1 : 1) -#define GET_3POS_STATE(sw) (switchState(SW_ ## sw ## 0) ? -1 : (switchState(SW_ ## sw ## 2) ? 1 : 0)) + #define GET_2POS_STATE(sw) (switchState(SW_ ## sw) ? -1 : 1) + #define GET_3POS_STATE(sw) (switchState(SW_ ## sw ## 0) ? -1 : (switchState(SW_ ## sw ## 2) ? 1 : 0)) #endif void logsInit() From f0060af07d342112115ccf7598c49e8e102e307f Mon Sep 17 00:00:00 2001 From: 3djc Date: Sun, 11 Aug 2019 08:49:49 +0200 Subject: [PATCH 4/6] Cosmetics --- radio/src/logs.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index 9465d99a7..e9324a48b 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -167,11 +167,10 @@ void writeHeader() for(uint8_t i=0; i Date: Mon, 12 Aug 2019 12:22:27 +0200 Subject: [PATCH 5/6] Cosmetics --- radio/src/logs.cpp | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index e9324a48b..822f5e7b4 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -22,13 +22,16 @@ #include "ff.h" FIL g_oLogFile __DMA; -const char * g_logError = NULL; +const char * g_logError = nullptr; uint8_t logDelay; void writeHeader(); #if defined(PCBTARANIS) || defined(PCBHORUS) - #define GET_SWITCH_STATE(sw) (getValue(MIXSRC_FIRST_SWITCH+sw) < 0 ? -1 : getValue(MIXSRC_FIRST_SWITCH+sw) > 0 ? 1 : 0) + int getSwitchState(uint8_t swtch) { + int value = getValue(MIXSRC_FIRST_SWITCH + swtch); + return (value == 0) ? 0 : (value < 0) ? -1 : +1; + } #else #define GET_2POS_STATE(sw) (switchState(SW_ ## sw) ? -1 : 1) #define GET_3POS_STATE(sw) (switchState(SW_ ## sw ## 0) ? -1 : (switchState(SW_ ## sw ## 2) ? 1 : 0)) @@ -106,7 +109,7 @@ const char * logsOpen() writeHeader(); } - return NULL; + return nullptr; } tmr10ms_t lastLogTime = 0; @@ -165,12 +168,13 @@ void writeHeader() f_putc(',', &g_oLogFile); } - for(uint8_t i=0; i 0) { tmr10ms_t tmr10ms = get_tmr10ms(); @@ -202,7 +206,7 @@ void logsWrite() if (!g_oLogFile.obj.fs) { const char * result = logsOpen(); - if (result != NULL) { + if (result) { if (result != error_displayed) { error_displayed = result; POPUP_WARNING(result); @@ -270,9 +274,9 @@ void logsWrite() } #if defined(PCBTARANIS) || defined(PCBHORUS) - for(uint8_t i=0; i Date: Mon, 12 Aug 2019 12:28:14 +0200 Subject: [PATCH 6/6] Cosmetics --- radio/src/gui/128x64/lcd.cpp | 2 +- radio/src/gui/212x64/lcd.cpp | 2 +- radio/src/gui/480x272/lcd.cpp | 2 +- radio/src/strhelpers.cpp | 4 ++-- radio/src/strhelpers.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/radio/src/gui/128x64/lcd.cpp b/radio/src/gui/128x64/lcd.cpp index 4cbcd4669..c3722475c 100644 --- a/radio/src/gui/128x64/lcd.cpp +++ b/radio/src/gui/128x64/lcd.cpp @@ -791,7 +791,7 @@ void putsModelName(coord_t x, coord_t y, char *name, uint8_t id, LcdFlags att) void drawSwitch(coord_t x, coord_t y, swsrc_t idx, LcdFlags flags) { char s[8]; - getSwitchString(s, idx); + getSwitchPositionName(s, idx); lcdDrawText(x, y, s, flags); } diff --git a/radio/src/gui/212x64/lcd.cpp b/radio/src/gui/212x64/lcd.cpp index e71fda26b..56492e5c5 100644 --- a/radio/src/gui/212x64/lcd.cpp +++ b/radio/src/gui/212x64/lcd.cpp @@ -696,7 +696,7 @@ void putsModelName(coord_t x, coord_t y, char *name, uint8_t id, LcdFlags att) void drawSwitch(coord_t x, coord_t y, int32_t idx, LcdFlags flags) { char s[8]; - getSwitchString(s, idx); + getSwitchPositionName(s, idx); lcdDrawText(x, y, s, flags); } diff --git a/radio/src/gui/480x272/lcd.cpp b/radio/src/gui/480x272/lcd.cpp index a614eda90..c260bf54b 100644 --- a/radio/src/gui/480x272/lcd.cpp +++ b/radio/src/gui/480x272/lcd.cpp @@ -290,7 +290,7 @@ void putsModelName(coord_t x, coord_t y, char * name, uint8_t id, LcdFlags att) void drawSwitch(coord_t x, coord_t y, swsrc_t idx, LcdFlags flags) { char s[8]; - getSwitchString(s, idx); + getSwitchPositionName(s, idx); lcdDrawText(x, y, s, flags); } diff --git a/radio/src/strhelpers.cpp b/radio/src/strhelpers.cpp index 30b31712e..3473cc5ab 100644 --- a/radio/src/strhelpers.cpp +++ b/radio/src/strhelpers.cpp @@ -270,7 +270,7 @@ char * getSwitchName(char * dest, swsrc_t idx) } #endif -char * getSwitchString(char * dest, swsrc_t idx) +char * getSwitchPositionName(char * dest, swsrc_t idx) { if (idx == SWSRC_NONE) { return getStringAtIndex(dest, STR_VSWITCHES, 0); @@ -405,7 +405,7 @@ char * getSourceString(char * dest, mixsrc_t idx) } } else if (idx <= MIXSRC_LAST_LOGICAL_SWITCH) { - getSwitchString(dest, SWSRC_SW1 + idx - MIXSRC_SW1); + getSwitchPositionName(dest, SWSRC_SW1 + idx - MIXSRC_SW1); } else if (idx <= MIXSRC_LAST_TRAINER) { strAppendStringWithIndex(dest, STR_PPM_TRAINER, idx - MIXSRC_FIRST_TRAINER + 1); diff --git a/radio/src/strhelpers.h b/radio/src/strhelpers.h index ed9c145db..114d7a009 100644 --- a/radio/src/strhelpers.h +++ b/radio/src/strhelpers.h @@ -35,7 +35,7 @@ char * strAppendStringWithIndex(char * dest, const char * s, int idx); char * getTimerString(char * dest, int32_t tme, uint8_t hours=0); char * getCurveString(char * dest, int idx); char * getGVarString(char * dest, int idx); -char * getSwitchString(char * dest, swsrc_t idx); +char * getSwitchPositionName(char * dest, swsrc_t idx); char * getSwitchName(char * dest, swsrc_t idx); char * getSourceString(char * dest, mixsrc_t idx); #endif