mirror of
https://github.com/opentx/opentx.git
synced 2025-07-13 11:29:51 +03:00
M-Link telemetry (#8281)
This commit is contained in:
parent
7613f72ec5
commit
b60ba23f1f
22 changed files with 276 additions and 15 deletions
|
@ -161,7 +161,7 @@ const char * const unitsFilenames[] = {
|
|||
"hertz",
|
||||
"ms",
|
||||
"us",
|
||||
"spare4",
|
||||
"km",
|
||||
"spare5",
|
||||
"spare6",
|
||||
"spare7",
|
||||
|
|
|
@ -278,6 +278,7 @@ enum TelemetryProtocol
|
|||
PROTOCOL_TELEMETRY_FLYSKY_IBUS,
|
||||
PROTOCOL_TELEMETRY_HITEC,
|
||||
PROTOCOL_TELEMETRY_HOTT,
|
||||
PROTOCOL_TELEMETRY_MLINK,
|
||||
PROTOCOL_TELEMETRY_MULTIMODULE,
|
||||
PROTOCOL_TELEMETRY_AFHDS3,
|
||||
PROTOCOL_TELEMETRY_GHOST,
|
||||
|
@ -318,8 +319,8 @@ enum TelemetryUnit {
|
|||
UNIT_HERTZ,
|
||||
UNIT_MS,
|
||||
UNIT_US,
|
||||
UNIT_MAX = UNIT_US,
|
||||
UNIT_SPARE4,
|
||||
UNIT_KM,
|
||||
UNIT_MAX = UNIT_KM,
|
||||
UNIT_SPARE5,
|
||||
UNIT_SPARE6,
|
||||
UNIT_SPARE7,
|
||||
|
|
|
@ -2041,6 +2041,7 @@ const luaR_value_entry opentxConstants[] = {
|
|||
{"UNIT_KMH", UNIT_KMH },
|
||||
{"UNIT_MPH", UNIT_MPH },
|
||||
{"UNIT_METERS", UNIT_METERS },
|
||||
{"UNIT_KM", UNIT_KM },
|
||||
{"UNIT_FEET", UNIT_FEET },
|
||||
{"UNIT_CELSIUS", UNIT_CELSIUS },
|
||||
{"UNIT_FAHRENHEIT", UNIT_FAHRENHEIT },
|
||||
|
|
|
@ -148,7 +148,7 @@ endif()
|
|||
|
||||
if(MULTIMODULE)
|
||||
add_definitions(-DMULTIMODULE)
|
||||
set(SRC ${SRC} pulses/multi.cpp telemetry/spektrum.cpp telemetry/hitec.cpp telemetry/hott.cpp telemetry/multi.cpp io/multi_firmware_update.cpp)
|
||||
set(SRC ${SRC} pulses/multi.cpp telemetry/spektrum.cpp telemetry/hitec.cpp telemetry/hott.cpp telemetry/mlink.cpp telemetry/multi.cpp io/multi_firmware_update.cpp)
|
||||
endif()
|
||||
|
||||
if(CROSSFIRE)
|
||||
|
|
161
radio/src/telemetry/mlink.cpp
Normal file
161
radio/src/telemetry/mlink.cpp
Normal file
|
@ -0,0 +1,161 @@
|
|||
/*
|
||||
* Copyright (C) OpenTX
|
||||
*
|
||||
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "opentx.h"
|
||||
|
||||
struct MLinkSensor
|
||||
{
|
||||
const uint16_t id;
|
||||
const char * name;
|
||||
const TelemetryUnit unit;
|
||||
const uint8_t precision;
|
||||
};
|
||||
|
||||
const MLinkSensor mlinkSensors[] = {
|
||||
{MLINK_RX_VOLTAGE, ZSTR_BATT, UNIT_VOLTS, 1},
|
||||
{MLINK_VOLTAGE, ZSTR_VFAS, UNIT_VOLTS, 1},
|
||||
{MLINK_CURRENT, ZSTR_CURR, UNIT_AMPS, 1},
|
||||
{MLINK_VARIO, ZSTR_VSPD, UNIT_METERS_PER_SECOND, 1},
|
||||
{MLINK_SPEED, ZSTR_SPEED, UNIT_KMH, 1},
|
||||
{MLINK_RPM, ZSTR_RPM, UNIT_RPMS, 0},
|
||||
{MLINK_TEMP, ZSTR_TEMP1, UNIT_CELSIUS, 1},
|
||||
{MLINK_HEADING, ZSTR_HDG, UNIT_DEGREE, 1},
|
||||
{MLINK_ALT, ZSTR_ALT , UNIT_METERS, 0},
|
||||
{MLINK_FUEL, ZSTR_FUEL, UNIT_PERCENT, 0},
|
||||
{MLINK_CAPACITY, ZSTR_CAPACITY, UNIT_MAH, 0},
|
||||
{MLINK_FLOW, ZSTR_FLOW, UNIT_MILLILITERS, 0},
|
||||
{MLINK_DISTANCE, ZSTR_DIST, UNIT_KM, 1},
|
||||
{MLINK_LQI, ZSTR_RSSI, UNIT_RAW, 0},
|
||||
{MLINK_LOSS, ZSTR_LOSS, UNIT_RAW, 0},
|
||||
{MLINK_TX_RSSI, ZSTR_TX_RSSI, UNIT_RAW, 0},
|
||||
{MLINK_TX_LQI, ZSTR_TX_QUALITY, UNIT_RAW, 0},
|
||||
};
|
||||
|
||||
const MLinkSensor * getMLinkSensor(uint16_t id)
|
||||
{
|
||||
for (const MLinkSensor * sensor = mlinkSensors; sensor->id; sensor++) {
|
||||
if (id == sensor->id)
|
||||
return sensor;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void processMLinkPacket(const uint8_t * packet)
|
||||
{
|
||||
const uint8_t * data = packet + 2;
|
||||
|
||||
// Multi telem
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_TX_RSSI, 0, 0, (packet[0] * 100) / 31, UNIT_RAW, 0);
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_TX_LQI, 0, 0, packet[1], UNIT_RAW, 0);
|
||||
|
||||
// M-Link telem
|
||||
if (data[0] == 0x13) { // Telemetry type RX-9
|
||||
for (uint8_t i = 1; i < 5; i += 3) { //2 sensors per packet
|
||||
int32_t val = (int16_t )(data[i + 2] << 8 | data[i + 1]);
|
||||
val = val >> 1; // remove alarm flag
|
||||
uint8_t adress = (data[i] & 0xF0) >> 4;
|
||||
switch (data[i] & 0x0F) {
|
||||
case MLINK_VOLTAGE:
|
||||
if ((data[i] & 0xF0) == 0x00){
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_RX_VOLTAGE, 0, adress, val, UNIT_VOLTS, 1);
|
||||
}
|
||||
else {
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_VOLTAGE, 0, adress, val, UNIT_VOLTS, 1);
|
||||
}
|
||||
break;
|
||||
case MLINK_CURRENT:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_CURRENT, 0, adress, val, UNIT_AMPS, 1);
|
||||
break;
|
||||
case MLINK_VARIO:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_VARIO, 0, adress, val, UNIT_METERS_PER_SECOND, 1);
|
||||
break;
|
||||
case MLINK_SPEED:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_SPEED, 0, adress, val, UNIT_KMH, 1);
|
||||
break;
|
||||
case MLINK_RPM:
|
||||
if (val < 0) {
|
||||
val = -val * 10;
|
||||
}
|
||||
else {
|
||||
val = val * 100;
|
||||
}
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_RPM, 0, adress, val, UNIT_RPMS, 0);
|
||||
break;
|
||||
case MLINK_TEMP:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_TEMP, 0, adress, val, UNIT_CELSIUS, 1);
|
||||
break;
|
||||
case MLINK_HEADING:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_HEADING, 0, adress, val, UNIT_DEGREE, 1);
|
||||
break;
|
||||
case MLINK_ALT:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_ALT, 0, adress, val, UNIT_METERS, 0);
|
||||
break;
|
||||
case MLINK_FUEL:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_FUEL, 0, adress, val, UNIT_PERCENT, 0);
|
||||
break;
|
||||
case MLINK_CAPACITY:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_CAPACITY, 0, adress, val, UNIT_MAH, 0);
|
||||
break;
|
||||
case MLINK_FLOW:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_FLOW, 0, adress, val, UNIT_MILLILITERS, 0);
|
||||
break;
|
||||
case MLINK_DISTANCE:
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_DISTANCE, 0, adress, val, UNIT_KM, 1);
|
||||
break;
|
||||
case MLINK_LQI:
|
||||
uint8_t mlinkRssi = data[i + 1] >> 1;
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_LQI, 0, 0, mlinkRssi, UNIT_RAW, 0);
|
||||
telemetryData.rssi.set(mlinkRssi);
|
||||
if (mlinkRssi > 0) {
|
||||
telemetryStreaming = TELEMETRY_TIMEOUT10ms;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (packet[2] == 0x03) { // Telemetry type RX-5
|
||||
uint16_t mlinkRssi = (packet[4] * 100) / 35;
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_LQI, 0, 0, mlinkRssi, UNIT_RAW, 0);
|
||||
telemetryData.rssi.set(mlinkRssi);
|
||||
if (mlinkRssi > 0) {
|
||||
telemetryStreaming = TELEMETRY_TIMEOUT10ms;
|
||||
}
|
||||
setTelemetryValue(PROTOCOL_TELEMETRY_MLINK, MLINK_LOSS, 0, 0, packet[7], UNIT_RAW, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void mlinkSetDefault(int index, uint16_t id, uint8_t subId, uint8_t instance)
|
||||
{
|
||||
TelemetrySensor &telemetrySensor = g_model.telemetrySensors[index];
|
||||
telemetrySensor.id = id;
|
||||
telemetrySensor.subId = subId;
|
||||
telemetrySensor.instance = instance;
|
||||
|
||||
const MLinkSensor * sensor = getMLinkSensor(id);
|
||||
if (sensor) {
|
||||
TelemetryUnit unit = sensor->unit;
|
||||
uint8_t prec = min<uint8_t>(2, sensor->precision);
|
||||
telemetrySensor.init(sensor->name, unit, prec);
|
||||
if (unit == UNIT_RPMS) {
|
||||
telemetrySensor.custom.ratio = 1;
|
||||
telemetrySensor.custom.offset = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
telemetrySensor.init(id);
|
||||
}
|
||||
|
||||
storageDirty(EE_MODEL);
|
||||
}
|
47
radio/src/telemetry/mlink.h
Normal file
47
radio/src/telemetry/mlink.h
Normal file
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Copyright (C) OpenTX
|
||||
*
|
||||
* Based on code named
|
||||
* th9x - http://code.google.com/p/th9x
|
||||
* er9x - http://code.google.com/p/er9x
|
||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||
*
|
||||
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
enum {
|
||||
MLINK_VOLTAGE = 1,
|
||||
MLINK_CURRENT = 2,
|
||||
MLINK_VARIO = 3,
|
||||
MLINK_SPEED = 4,
|
||||
MLINK_RPM = 5,
|
||||
MLINK_TEMP = 6,
|
||||
MLINK_HEADING = 7,
|
||||
MLINK_ALT = 8,
|
||||
MLINK_FUEL = 9,
|
||||
MLINK_LQI = 10,
|
||||
MLINK_CAPACITY = 11,
|
||||
MLINK_FLOW = 12,
|
||||
MLINK_DISTANCE = 13,
|
||||
MLINK_RX_VOLTAGE = 16, // out of range ID for specific RxBt treatment
|
||||
MLINK_LOSS = 17, // out of range ID for handling number of loss
|
||||
MLINK_TX_RSSI = 18, // out of range ID for handling Telemetry RSSi reported by multi
|
||||
MLINK_TX_LQI = 19, // out of range ID for handling Telemetry LQI reported by multi
|
||||
};
|
||||
|
||||
void processMLinkTelemetryData(uint8_t data, uint8_t* rxBuffer, uint8_t& rxBufferCount);
|
||||
void mlinkSetDefault(int index, uint16_t id, uint8_t subId, uint8_t instance);
|
||||
|
||||
// Used by multi protocol
|
||||
void processMLinkPacket(const uint8_t *packet);
|
|
@ -42,6 +42,7 @@ enum MultiPacketTypes : uint8_t
|
|||
FlyskyIBusTelemetryAC,
|
||||
MultiRxChannels,
|
||||
HottTelemetry,
|
||||
MLinkTelemetry
|
||||
};
|
||||
|
||||
enum MultiBufferState : uint8_t
|
||||
|
@ -379,6 +380,13 @@ static void processMultiTelemetryPaket(const uint8_t * packet, uint8_t module)
|
|||
TRACE("[MP] Received HoTT telemetry len %d < 14", len);
|
||||
break;
|
||||
|
||||
case MLinkTelemetry:
|
||||
if (len > 6)
|
||||
processMLinkPacket(data);
|
||||
else
|
||||
TRACE("[MP] Received M-Link telemetry len %d < 6", len);
|
||||
break;
|
||||
|
||||
case FrSkyHubTelemetry:
|
||||
if (len >= 4)
|
||||
frskyDProcessPacket(data);
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include "hitec.h"
|
||||
#include "hott.h"
|
||||
#include "multi.h"
|
||||
#include "mlink.h"
|
||||
#endif
|
||||
#if defined(MULTIMODULE) || defined(AFHDS3)
|
||||
#include "flysky_ibus.h"
|
||||
|
|
|
@ -559,6 +559,10 @@ int setTelemetryValue(TelemetryProtocol protocol, uint16_t id, uint8_t subId, ui
|
|||
case PROTOCOL_TELEMETRY_HOTT:
|
||||
hottSetDefault(index, id, subId, instance);
|
||||
break;
|
||||
|
||||
case PROTOCOL_TELEMETRY_MLINK:
|
||||
mlinkSetDefault(index, id, subId, instance);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(LUA)
|
||||
|
|
|
@ -260,7 +260,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\010")
|
||||
#define TR_VUNITSSYSTEM TR("Metr.\0""Imper.", "Metrické""Imperial")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1381,3 +1381,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -263,7 +263,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\012")
|
||||
#define TR_VUNITSSYSTEM TR("Metrik""Imper.", "Metrisch\0 ""Imperial\0 ")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1388,3 +1388,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -263,7 +263,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\010")
|
||||
#define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1385,3 +1385,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -260,7 +260,7 @@
|
|||
#define LEN_VUNITSSYSTEM "\010"
|
||||
#define TR_VUNITSSYSTEM "Métrico\0""Imperial"
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1384,3 +1384,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -281,7 +281,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\010")
|
||||
#define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1392,3 +1392,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -283,7 +283,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\012")
|
||||
#define TR_VUNITSSYSTEM TR("Métr.\0""Impér.", "Métriques\0""Impériales")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1409,3 +1409,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -284,7 +284,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\011")
|
||||
#define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metriche\0""Imperiali")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1402,3 +1402,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -264,7 +264,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\010")
|
||||
#define TR_VUNITSSYSTEM TR("Mtrsch""Engels", "Metrisch\0 ""Engels\0 ")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1394,3 +1394,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -281,7 +281,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\010") /*8 decimal*/
|
||||
#define TR_VUNITSSYSTEM TR("Metr. ""Imper.", "Metryczn""Imperial")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1401,3 +1401,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -277,7 +277,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\010")
|
||||
#define TR_VUNITSSYSTEM TR("Metric""Imper.", "Metric\0 ""Imperial")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1401,3 +1401,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -278,7 +278,7 @@
|
|||
#define LEN_VUNITSSYSTEM TR("\006", "\010")
|
||||
#define TR_VUNITSSYSTEM TR("Metri.""Imper.", "Metriska""Imperial")
|
||||
#define LEN_VTELEMUNIT "\003"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0"
|
||||
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz""mlm""Hz\0""mS\0""uS\0""km\0"
|
||||
|
||||
#define STR_V (STR_VTELEMUNIT+1)
|
||||
#define STR_A (STR_VTELEMUNIT+4)
|
||||
|
@ -1401,3 +1401,6 @@
|
|||
#define ZSTR_SERVO_VOLTAGE "SrvV"
|
||||
#define ZSTR_SERVO_TEMPERATURE "SrvT"
|
||||
#define ZSTR_SERVO_STATUS "SrvS"
|
||||
#define ZSTR_LOSS "Loss"
|
||||
#define ZSTR_SPEED "Spd "
|
||||
#define ZSTR_FLOW "Flow"
|
||||
|
|
|
@ -41,6 +41,7 @@ for i, (s, f) in enumerate([("volt", "volt0"), ("volts", "volt1"),
|
|||
("hertz", "hertz0"), ("hertz", "hertz1"),
|
||||
("milisecond", "ms0"), ("miliseconds", "ms1"),
|
||||
("microsecond", "us0"), ("microseconds", "us1"),
|
||||
("kilometer", "km0"), ("kilometers", "km1"),
|
||||
("hour", "hour0"), ("hours", "hour1"),
|
||||
("minute", "minute0"), ("minutes", "minute1"),
|
||||
("second", "second0"), ("seconds", "second1"),
|
||||
|
|
|
@ -39,6 +39,10 @@ for i, (s, f) in enumerate([("volts", "volt0"),
|
|||
("millilitres", "ml0"),
|
||||
("onces", "founce0"),
|
||||
("millilitre minute", "mlpm0"),
|
||||
("microsecond", "us0"),
|
||||
("milisecond", "ms0"),
|
||||
("hertz", "hertz0"),
|
||||
("kilometre", "km0"),
|
||||
("heure", "hour0"),
|
||||
("minute", "minute0"),
|
||||
("seconde", "second0"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue