diff --git a/firmware/console/binary/tunerstudio.cpp b/firmware/console/binary/tunerstudio.cpp index 527dcb88a4..c1403a5d4e 100644 --- a/firmware/console/binary/tunerstudio.cpp +++ b/firmware/console/binary/tunerstudio.cpp @@ -434,6 +434,7 @@ static bool isKnownCommand(char command) { || command == TS_LEGACY_HELLO_COMMAND || command == TS_CHUNK_WRITE_COMMAND || command == TS_EXECUTE || command == TS_IO_TEST_COMMAND || command == TS_GET_FILE_RANGE + || command == TS_TOOTH_COMMAND || command == TS_GET_TEXT || command == TS_CRC_CHECK_COMMAND || command == TS_GET_FIRMWARE_VERSION; } diff --git a/firmware/console/binary/tunerstudio_configuration.h b/firmware/console/binary/tunerstudio_configuration.h index 8f2ed09265..40207d871e 100644 --- a/firmware/console/binary/tunerstudio_configuration.h +++ b/firmware/console/binary/tunerstudio_configuration.h @@ -73,6 +73,7 @@ typedef struct { unsigned int knockEverIndicator : 1; // bit 13 unsigned int knockNowIndicator : 1; // bit 14 unsigned int brakePedalState : 1; // bit 15. 0 - not pressed, 1 = pressed + unsigned int toothLogReady : 1; // bit 16 float vehicleSpeedKph; // 76 unsigned int isTpsError : 1; // bit 0, 80 unsigned int isCltError : 1; // bit 1 diff --git a/firmware/console/binary/tunerstudio_io.h b/firmware/console/binary/tunerstudio_io.h index 891df5a7f8..638f8539ad 100644 --- a/firmware/console/binary/tunerstudio_io.h +++ b/firmware/console/binary/tunerstudio_io.h @@ -62,6 +62,7 @@ typedef struct { #define TS_HELLO_COMMAND_DEPRECATED 'H' // 0x48 #define TS_HELLO_COMMAND 'S' // 0x53 queryCommand #define TS_TEST_COMMAND 't' // 0x74 +#define TS_TOOTH_COMMAND 'L' // 0x4C #define TS_LEGACY_HELLO_COMMAND 'Q' // 0x51 #define TS_OUTPUT_COMMAND 'O' // 0x4F ochGetCommand #define TS_READ_COMMAND 'R' // 0x52 diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 30b597dc84..5679b327d0 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -82,6 +82,15 @@ enable2ndByteCanID = false gauge4 = veValueGauge +[LoggerDefinition] + + ; valid logger types: composite, tooth, trigger, csv + loggerDef = tooth, "Tooth Logger", tooth + dataReadCommand = "L" + dataReadTimeout = 15000 ; time in ms + dataReadyCondition = { toothLogReady } + dataLength = 256 ; in bytes, including headers, footers and data + [VeAnalyze] ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition @@ -171,6 +180,7 @@ fileVersion = { 20161225 } knockEverIndicator=bits, U32, 72, [13:13], "true", "false"; knockNowIndicator=bits, U32, 72, [14:14], "true", "false"; brakePedalIndicator=bits, U32, 72, [15:15], "true", "false"; + toothLogReady =bits, U32, 72, [16:16], "true", "false"; vehicleSpeedKph = scalar, F32, 76, "kph", 1, 0.0; ind_tps_error = bits, U32, 80, [0:0], "true", "false";