mirror of
https://github.com/opentx/opentx.git
synced 2025-07-25 17:25:13 +03:00
Fixes #3969
This commit is contained in:
parent
9fb6f7b5f5
commit
c0fa5734ab
2 changed files with 43 additions and 39 deletions
|
@ -356,7 +356,7 @@ void menuModelSensor(event_t event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void onSensorMenu(const char *result)
|
void onSensorMenu(const char * result)
|
||||||
{
|
{
|
||||||
uint8_t index = menuVerticalPosition - ITEM_TELEMETRY_SENSOR1;
|
uint8_t index = menuVerticalPosition - ITEM_TELEMETRY_SENSOR1;
|
||||||
|
|
||||||
|
|
|
@ -158,19 +158,21 @@ void writeHeader()
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
char label[TELEM_LABEL_LEN+7];
|
char label[TELEM_LABEL_LEN+7];
|
||||||
for (int i=0; i<MAX_TELEMETRY_SENSORS; i++) {
|
for (int i=0; i<MAX_TELEMETRY_SENSORS; i++) {
|
||||||
TelemetrySensor & sensor = g_model.telemetrySensors[i];
|
if (isTelemetryFieldAvailable(i)) {
|
||||||
if (sensor.logs) {
|
TelemetrySensor & sensor = g_model.telemetrySensors[i];
|
||||||
memset(label, 0, sizeof(label));
|
if (sensor.logs) {
|
||||||
zchar2str(label, sensor.label, TELEM_LABEL_LEN);
|
memset(label, 0, sizeof(label));
|
||||||
uint8_t unit = sensor.unit;
|
zchar2str(label, sensor.label, TELEM_LABEL_LEN);
|
||||||
if (unit == UNIT_CELLS ) unit = UNIT_VOLTS;
|
uint8_t unit = sensor.unit;
|
||||||
if (UNIT_RAW < unit && unit < UNIT_FIRST_VIRTUAL) {
|
if (unit == UNIT_CELLS ) unit = UNIT_VOLTS;
|
||||||
strcat(label, "(");
|
if (UNIT_RAW < unit && unit < UNIT_FIRST_VIRTUAL) {
|
||||||
strncat(label, STR_VTELEMUNIT+1+3*unit, 3);
|
strcat(label, "(");
|
||||||
strcat(label, ")");
|
strncat(label, STR_VTELEMUNIT+1+3*unit, 3);
|
||||||
|
strcat(label, ")");
|
||||||
|
}
|
||||||
|
strcat(label, ",");
|
||||||
|
f_puts(label, &g_oLogFile);
|
||||||
}
|
}
|
||||||
strcat(label, ",");
|
|
||||||
f_puts(label, &g_oLogFile);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -297,36 +299,38 @@ void logsWrite()
|
||||||
|
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
for (int i=0; i<MAX_TELEMETRY_SENSORS; i++) {
|
for (int i=0; i<MAX_TELEMETRY_SENSORS; i++) {
|
||||||
TelemetrySensor & sensor = g_model.telemetrySensors[i];
|
if (isTelemetryFieldAvailable(i)) {
|
||||||
TelemetryItem & telemetryItem = telemetryItems[i];
|
TelemetrySensor & sensor = g_model.telemetrySensors[i];
|
||||||
if (sensor.logs) {
|
TelemetryItem & telemetryItem = telemetryItems[i];
|
||||||
if (sensor.unit == UNIT_GPS) {
|
if (sensor.logs) {
|
||||||
if (telemetryItem.gps.longitude && telemetryItem.gps.latitude) {
|
if (sensor.unit == UNIT_GPS) {
|
||||||
div_t qr = div(telemetryItem.gps.latitude, 1000000);
|
if (telemetryItem.gps.longitude && telemetryItem.gps.latitude) {
|
||||||
f_printf(&g_oLogFile, "%d.%06d ", qr.quot, abs(qr.rem));
|
div_t qr = div(telemetryItem.gps.latitude, 1000000);
|
||||||
qr = div(telemetryItem.gps.longitude, 1000000);
|
f_printf(&g_oLogFile, "%d.%06d ", qr.quot, abs(qr.rem));
|
||||||
f_printf(&g_oLogFile, "%d.%06d,", qr.quot, abs(qr.rem));
|
qr = div(telemetryItem.gps.longitude, 1000000);
|
||||||
|
f_printf(&g_oLogFile, "%d.%06d,", qr.quot, abs(qr.rem));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
f_printf(&g_oLogFile, ",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (sensor.unit == UNIT_DATETIME) {
|
||||||
|
f_printf(&g_oLogFile, "%4d-%02d-%02d %02d:%02d:%02d,", telemetryItem.datetime.year, telemetryItem.datetime.month, telemetryItem.datetime.day, telemetryItem.datetime.hour, telemetryItem.datetime.min, telemetryItem.datetime.sec);
|
||||||
|
}
|
||||||
|
else if (sensor.prec == 2) {
|
||||||
|
div_t qr = div(telemetryItem.value, 100);
|
||||||
|
if (telemetryItem.value < 0) f_printf(&g_oLogFile, "-");
|
||||||
|
f_printf(&g_oLogFile, "%d.%02d,", abs(qr.quot), abs(qr.rem));
|
||||||
|
}
|
||||||
|
else if (sensor.prec == 1) {
|
||||||
|
div_t qr = div(telemetryItem.value, 10);
|
||||||
|
if (telemetryItem.value < 0) f_printf(&g_oLogFile, "-");
|
||||||
|
f_printf(&g_oLogFile, "%d.%d,", abs(qr.quot), abs(qr.rem));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
f_printf(&g_oLogFile, ",");
|
f_printf(&g_oLogFile, "%d,", telemetryItem.value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sensor.unit == UNIT_DATETIME) {
|
|
||||||
f_printf(&g_oLogFile, "%4d-%02d-%02d %02d:%02d:%02d,", telemetryItem.datetime.year, telemetryItem.datetime.month, telemetryItem.datetime.day, telemetryItem.datetime.hour, telemetryItem.datetime.min, telemetryItem.datetime.sec);
|
|
||||||
}
|
|
||||||
else if (sensor.prec == 2) {
|
|
||||||
div_t qr = div(telemetryItem.value, 100);
|
|
||||||
if (telemetryItem.value < 0) f_printf(&g_oLogFile, "-");
|
|
||||||
f_printf(&g_oLogFile, "%d.%02d,", abs(qr.quot), abs(qr.rem));
|
|
||||||
}
|
|
||||||
else if (sensor.prec == 1) {
|
|
||||||
div_t qr = div(telemetryItem.value, 10);
|
|
||||||
if (telemetryItem.value < 0) f_printf(&g_oLogFile, "-");
|
|
||||||
f_printf(&g_oLogFile, "%d.%d,", abs(qr.quot), abs(qr.rem));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
f_printf(&g_oLogFile, "%d,", telemetryItem.value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue