diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index f3d4aa618..e0f93b578 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -137,13 +137,17 @@ const pm_char * openLogs() #endif #if defined(FRSKY_HUB) - if (IS_USR_PROTO_FRSKY_HUB()) - f_puts("GPS Date,GPS Time,Long,Lat,Course,GPS Speed,GPS Alt,Baro Alt,Vertical Speed,Temp1,Temp2,RPM,Fuel,Cell volts,Cell 1,Cell 2,Cell 3,Cell 4,Cell 5,Cell 6,Current,Consumption,Vfas,AccelX,AccelY,AccelZ,", &g_oLogFile); + if (IS_USR_PROTO_FRSKY_HUB()) { + f_puts("GPS Date,GPS Time,Long,Lat,Course,GPS Speed(", &g_oLogFile); + f_puts(TELEMETRY_GPS_SPEED_UNIT, &g_oLogFile); + f_puts("),GPS Alt,Baro Alt,Vertical Speed,Temp1,Temp2,RPM,Fuel,Cell volts,Cell 1,Cell 2,Cell 3,Cell 4,Cell 5,Cell 6,Current,Consumption,Vfas,AccelX,AccelY,AccelZ,", &g_oLogFile); + } #endif #if defined(WS_HOW_HIGH) - if (IS_USR_PROTO_WS_HOW_HIGH()) + if (IS_USR_PROTO_WS_HOW_HIGH()) { f_puts("WSHH Alt,", &g_oLogFile); + } #endif #if defined(PCBTARANIS) @@ -170,6 +174,12 @@ void closeLogs() lastLogTime = 0; } +getvalue_t getConvertedTelemetryValue(getvalue_t val, uint8_t unit) +{ + convertUnit(val, unit); + return val; +} + // TODO test when disk full void writeLogs() { diff --git a/radio/src/telemetry/frsky.h b/radio/src/telemetry/frsky.h index 56aafe12f..7f1a1af9d 100644 --- a/radio/src/telemetry/frsky.h +++ b/radio/src/telemetry/frsky.h @@ -238,8 +238,9 @@ void resetTelemetry(); #define TELEMETRY_BARO_ALT_ARGS frskyData.hub.baroAltitude_bp, #define TELEMETRY_GPS_ALT_FORMAT "%d," #define TELEMETRY_GPS_ALT_ARGS frskyData.hub.gpsAltitude_bp, -#define TELEMETRY_GPS_SPEED_FORMAT "%d.%02d," -#define TELEMETRY_GPS_SPEED_ARGS TELEMETRY_GPS_SPEED_BP, TELEMETRY_GPS_SPEED_AP, +#define TELEMETRY_GPS_SPEED_UNIT (IS_IMPERIAL_ENABLE() ? SPEED_UNIT_IMP : SPEED_UNIT_METR) +#define TELEMETRY_GPS_SPEED_FORMAT "%d," +#define TELEMETRY_GPS_SPEED_ARGS getConvertedTelemetryValue(frskyData.hub.gpsSpeed_bp, UNIT_KTS), #define TELEMETRY_CELLS_FORMAT "%d.%d,%d.%02d,%d.%02d,%d.%02d,%d.%02d,%d.%02d,%d.%02d," #define TELEMETRY_CELLS_ARGS frskyData.hub.cellsSum / 10, frskyData.hub.cellsSum % 10, frskyData.hub.cellVolts[0]*2/100, frskyData.hub.cellVolts[0]*2%100, frskyData.hub.cellVolts[1]*2/100, frskyData.hub.cellVolts[1]*2%100, frskyData.hub.cellVolts[2]*2/100, frskyData.hub.cellVolts[2]*2%100, frskyData.hub.cellVolts[3]*2/100, frskyData.hub.cellVolts[3]*2%100, frskyData.hub.cellVolts[4]*2/100, frskyData.hub.cellVolts[4]*2%100, frskyData.hub.cellVolts[5]*2/100, frskyData.hub.cellVolts[5]*2%100, #define TELEMETRY_CURRENT_FORMAT "%d.%02d," diff --git a/radio/src/telemetry/frsky_sport.h b/radio/src/telemetry/frsky_sport.h index 2bcc29bb7..b63d1869f 100644 --- a/radio/src/telemetry/frsky_sport.h +++ b/radio/src/telemetry/frsky_sport.h @@ -199,8 +199,9 @@ void resetTelemetry(); #define TELEMETRY_BARO_ALT_ARGS frskyData.hub.baroAltitude < 0 ? '-' : ' ', abs(frskyData.hub.baroAltitude / 100), abs(frskyData.hub.baroAltitude % 100), #define TELEMETRY_GPS_ALT_FORMAT "%c%d.%02d," #define TELEMETRY_GPS_ALT_ARGS frskyData.hub.gpsAltitude < 0 ? '-' : ' ', abs(frskyData.hub.gpsAltitude / 100), abs(frskyData.hub.gpsAltitude % 100), -#define TELEMETRY_GPS_SPEED_FORMAT "%c%d.%02d," -#define TELEMETRY_GPS_SPEED_ARGS frskyData.hub.gpsSpeed_bp < 0 ? '-' : ' ', abs(frskyData.hub.gpsSpeed_bp / 1000), abs(frskyData.hub.gpsSpeed_bp % 1000), +#define TELEMETRY_GPS_SPEED_UNIT (IS_IMPERIAL_ENABLE() ? SPEED_UNIT_IMP : SPEED_UNIT_METR) +#define TELEMETRY_GPS_SPEED_FORMAT "%d," +#define TELEMETRY_GPS_SPEED_ARGS getConvertedTelemetryValue(frskyData.hub.gpsSpeed_bp, UNIT_KTS), #define TELEMETRY_CELLS_FORMAT "%d.%d,%d.%02d,%d.%02d,%d.%02d,%d.%02d,%d.%02d,%d.%02d," #define TELEMETRY_CELLS_ARGS frskyData.hub.cellsSum / 10, frskyData.hub.cellsSum % 10, TELEMETRY_CELL_VOLTAGE(0)/100, TELEMETRY_CELL_VOLTAGE(0)%100, TELEMETRY_CELL_VOLTAGE(1)/100, TELEMETRY_CELL_VOLTAGE(1)%100, TELEMETRY_CELL_VOLTAGE(2)/100, TELEMETRY_CELL_VOLTAGE(2)%100, TELEMETRY_CELL_VOLTAGE(3)/100, TELEMETRY_CELL_VOLTAGE(3)%100, TELEMETRY_CELL_VOLTAGE(4)/100, TELEMETRY_CELL_VOLTAGE(4)%100, TELEMETRY_CELL_VOLTAGE(5)/100, TELEMETRY_CELL_VOLTAGE(5)%100, #define TELEMETRY_CURRENT_FORMAT "%d.%d," diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 074c45a14..862f5ab87 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -76,7 +76,7 @@ const pm_char STR_OPEN9X[] PROGMEM = #if defined(FRSKY) || defined(CPUARM) #if defined(CPUARM) ISTR(VTELEMUNIT_IMP) - ISTR(VTELEMUNIT_NORM) + ISTR(VTELEMUNIT_METR) #else ISTR(VTELEMUNIT) #endif diff --git a/radio/src/translations.h b/radio/src/translations.h index 88aa521ac..1d5d99c9c 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -125,8 +125,8 @@ extern const pm_char STR_OPEN9X[]; #if defined(FRSKY) || defined(CPUARM) #if defined(CPUARM) #define OFS_VTELEMUNIT_IMP (OFS_VTELEMCHNS + sizeof(TR_VTELEMCHNS)) - #define OFS_VTELEMUNIT_NORM (OFS_VTELEMUNIT_IMP + sizeof(TR_VTELEMUNIT_IMP)) - #define OFS_VALARM (OFS_VTELEMUNIT_NORM + sizeof(TR_VTELEMUNIT_NORM)) + #define OFS_VTELEMUNIT_METR (OFS_VTELEMUNIT_IMP + sizeof(TR_VTELEMUNIT_IMP)) + #define OFS_VALARM (OFS_VTELEMUNIT_METR + sizeof(TR_VTELEMUNIT_METR)) #else #define OFS_VTELEMUNIT (OFS_VTELEMCHNS + sizeof(TR_VTELEMCHNS)) #define OFS_VALARM (OFS_VTELEMUNIT + sizeof(TR_VTELEMUNIT)) @@ -220,7 +220,7 @@ extern const pm_char STR_OPEN9X[]; #if defined(FRSKY) || defined(CPUARM) #if defined(CPUARM) - #define STR_VTELEMUNIT (STR_OPEN9X + (g_eeGeneral.imperial ? OFS_VTELEMUNIT_IMP : OFS_VTELEMUNIT_NORM)) + #define STR_VTELEMUNIT (STR_OPEN9X + (g_eeGeneral.imperial ? OFS_VTELEMUNIT_IMP : OFS_VTELEMUNIT_METR)) #else #define STR_VTELEMUNIT (STR_OPEN9X + OFS_VTELEMUNIT) #endif diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 1fa49ad61..497777cb3 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -266,8 +266,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010") #define TR_VUNITSSYSTEM TR("Metr.\0""Imper.", "Metrické""Imperial") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 909c3ab62..d88994a0d 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -266,8 +266,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010") #define TR_VUNITSSYSTEM TR("Metrik""Imper.", "Metrisch\0 ""Imperial") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "V\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "V\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "V\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 5d8b9dedc..29602e920 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -263,20 +263,25 @@ #endif #define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Vfs-""Cur+""Pwr+""Acc\0""Time" +#define LENGTH_UNIT_IMP "ft\0" +#define SPEED_UNIT_IMP "mph" +#define LENGTH_UNIT_METR "m\0 " +#define SPEED_UNIT_METR "kmh" + #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010") #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT_METR LENGTH_UNIT_METR "@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" - #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT_IMP LENGTH_UNIT_IMP "@\0 ""%\0 ""mA\0""mAh""W\0 " #else #if defined(IMPERIAL_UNITS) - #define LENGTH_UNIT "ft\0" - #define SPEED_UNIT "kts" + #define LENGTH_UNIT LENGTH_UNIT_IMP + #define SPEED_UNIT SPEED_UNIT_IMP #else - #define LENGTH_UNIT "m\0 " - #define SPEED_UNIT "kmh" + #define LENGTH_UNIT LENGTH_UNIT_METR + #define SPEED_UNIT SPEED_UNIT_METR #endif #define LEN_VTELEMUNIT "\003" #define TR_VTELEMUNIT "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 " diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 6f250d2a3..6c66a6251 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -266,8 +266,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010") #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 41a84c5de..7e510a6c8 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -266,8 +266,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010") #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 5baae5672..d362683fc 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -266,8 +266,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\012") #define TR_VUNITSSYSTEM TR("Métr.\0""Impér.", "Métriques\0""Impériales") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 1a16a18b2..f158f0e3b 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -266,8 +266,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\011") #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metriche\0""Imperiali") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index a06512468..d54106845 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -277,8 +277,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\012") #define TR_VUNITSSYSTEM TR("Metr.\0""Imper.", "Metryczne\0""Imperialne") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "V\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "V\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "V\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 68d0a8616..8030dd0b0 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -266,8 +266,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010") #define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index ef4d117be..e34f3e6d5 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -266,8 +266,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010") #define TR_VUNITSSYSTEM TR("Metri.""Imper.", "Metriska""Imperial") - #define LEN_VTELEMUNIT_NORM "\003" - #define TR_VTELEMUNIT_NORM "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT_METR "\003" + #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " #define LEN_VTELEMUNIT_IMP "\003" #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " #else