MLQ code duplication & docs

This commit is contained in:
rusefi 2020-06-14 14:46:24 -04:00
parent b00cc377af
commit d0d484ac16
4 changed files with 18 additions and 14 deletions

View File

@ -20,7 +20,7 @@ size_t LogField::writeHeader(char* buffer) const {
// Offset 0, length 1 = type
buffer[0] = static_cast<char>(m_type);
// Offset 0, length 34 = name
// Offset 1, length 34 = name
strncpy(&buffer[1], m_name, 34);
// Offset 35, length 10 = units
@ -40,7 +40,7 @@ size_t LogField::writeHeader(char* buffer) const {
buffer[54] = m_digits;
// Total size = 55
return 55;
return MLQ_FIELD_HEADER_SIZE;
}
size_t LogField::writeData(char* buffer) const {

View File

@ -1436,6 +1436,10 @@ end_struct
#define GAUGE_NAME_TIME "Time"
#define GAUGE_NAME_RPM "RPM"
#define GAUGE_NAME_CLT "CLT"
#define GAUGE_NAME_IAT "IAT"
#define GAUGE_NAME_TPS "TPS"
#define GAUGE_NAME_MAP "MAP"
#define GAUGE_NAME_MAF "MAF"
#define GAUGE_NAME_ENGINE_LOAD "Engine Load"
#define GAUGE_NAME_CPU_TEMP "CPU Temperature"
#define GAUGE_NAME_ETB_TARGET "ETB position target"

View File

@ -21,18 +21,18 @@ public enum Sensor {
*/
// RPM, vss
RPM("RPM", SensorCategory.SENSOR_INPUTS, FieldType.UINT16, 4, 1, 0, 8000, "/min"),
RPM(GAUGE_NAME_RPM, SensorCategory.SENSOR_INPUTS, FieldType.UINT16, 4, 1, 0, 8000, "RPM"),
SPEED2RPM("SpeedToRpm", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 6, 1.0 / PACK_MULT_PERCENT, 0, 5, "RPM/kph"),
VSS("VSS", SensorCategory.OPERATIONS, FieldType.UINT8, 8, 1, 0, 150, "kph"),
VSS(GAUGE_NAME_VVS, SensorCategory.OPERATIONS, FieldType.UINT8, 8, 1, 0, 150, "kph"),
// Temperatures
INT_TEMP("MCU Temp", SensorCategory.OPERATIONS, FieldType.INT8, 10, 1, 0, 5, "C"),
CLT("Coolant", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 12, 1.0 / PACK_MULT_TEMPERATURE, -40, 150, "C"),
IAT("IAT", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 14, 1.0 / PACK_MULT_TEMPERATURE, -40, 150, "C"),
INT_TEMP(GAUGE_NAME_CPU_TEMP, SensorCategory.OPERATIONS, FieldType.INT8, 10, 1, 0, 5, "C"),
CLT(GAUGE_NAME_CLT, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 12, 1.0 / PACK_MULT_TEMPERATURE, -40, 150, "deg C"),
IAT("IAT", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 14, 1.0 / PACK_MULT_TEMPERATURE, -40, 150, "deg C"),
// throttle, pedal
TPS("TPS", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 20, 1.0 / PACK_MULT_PERCENT, 0, 100, "%"), // throttle position sensor
PPS("Throttle Pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 22, 1.0 / PACK_MULT_PERCENT, 0, 100, "%"), // pedal position sensor
PPS(GAUGE_NAME_THROTTLE_PEDAL, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 22, 1.0 / PACK_MULT_PERCENT, 0, 100, "%"), // pedal position sensor
// air flow/mass measurement
MAF("MAF", SensorCategory.SENSOR_INPUTS, FieldType.UINT16, 26, 1.0 / PACK_MULT_VOLTAGE, 0, 5, "Volts"),
@ -40,7 +40,7 @@ public enum Sensor {
AFR("A/F ratio", SensorCategory.SENSOR_INPUTS, FieldType.UINT16, 34, 1.0 / PACK_MULT_AFR, 10, 20, "afr"),
VBATT("VBatt", SensorCategory.SENSOR_INPUTS, FieldType.UINT16, 38, 1.0 / PACK_MULT_VOLTAGE, 4, 18, "Volts"),
VBATT(GAUGE_NAME_VBAT, SensorCategory.SENSOR_INPUTS, FieldType.UINT16, 38, 1.0 / PACK_MULT_VOLTAGE, 4, 18, "Volts"),
oilPressure("Oil Pressure", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 40, 1.0 / PACK_MULT_PRESSURE, 0, 5, "X"),
vvtPosition("vvt position", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 42, 1.0 / PACK_MULT_ANGLE, 0, 5, "deg"),
@ -86,9 +86,9 @@ public enum Sensor {
// Knock
// Mode, firmware, protocol, run time
TIME_SECONDS("uptime", SensorCategory.OPERATIONS, FieldType.INT, 112, 0, 5),
TIME_SECONDS(GAUGE_NAME_TIME, SensorCategory.OPERATIONS, FieldType.INT, 112, 1, 0, 5, ""),
engineMode("mode", SensorCategory.OPERATIONS, FieldType.INT, 116, 0, 5),
FIRMWARE_VERSION("FW version", SensorCategory.OPERATIONS, FieldType.INT, 120),
FIRMWARE_VERSION(GAUGE_NAME_VERSION, SensorCategory.OPERATIONS, FieldType.INT, 120, 1, 0, 100, "version_f"),
TS_CONFIG_VERSION(".ini version", SensorCategory.OPERATIONS, FieldType.INT, 124),
engineMakeCodeNameCrc16("engine crc16", SensorCategory.STATUS, FieldType.INT16, 134, 0, 5),

View File

@ -5,8 +5,8 @@ See also
** all numbers are big-engian **
File format:
Header
Fields
Header (size 22 bytes)
Fields (size number_of_fields * 55)
Text (1st+2nd lines of the text log)
Records
@ -14,7 +14,7 @@ Header format:
0000h = magic (6 bytes) = "MLVLG\0" { 4dh 4ch 56h 4ch 47h 00h }
0006h = version (2 bytes) = 0x0001
0008h = unix_timestamp (4 bytes)
000ch = offset_to_text (2 bytes)
000ch = offset_to_text (2 bytes) = number_of_fields * 55
000eh = reserved? (zeroes) (2 bytes)
0010h = offset_to_data (2 bytes)
0012h = (record_size - 5)? (2 bytes)