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