From 3ff5745b45b5b7f12d8ada7cd831e1b9c83ce3c2 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Wed, 6 Oct 2021 11:07:46 -0400 Subject: [PATCH] some cheap used junkyard Accelerometer #2225 MM5.10 --- firmware/console/binary_log/binary_logging.cpp | 3 +++ firmware/controllers/can/can_rx.cpp | 5 +++++ .../models/src/main/java/com/rusefi/core/Sensor.java | 8 ++++++-- .../main/java/com/rusefi/sensor_logs/SensorLogger.java | 6 ++++++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/firmware/console/binary_log/binary_logging.cpp b/firmware/console/binary_log/binary_logging.cpp index 443f69e9ba..9cfadafc9c 100644 --- a/firmware/console/binary_log/binary_logging.cpp +++ b/firmware/console/binary_log/binary_logging.cpp @@ -43,6 +43,9 @@ static constexpr LogField fields[] = { {tsOutputChannels.firmwareVersion, GAUGE_NAME_VERSION, "", 0}, {tsOutputChannels.accelerationX, GAUGE_NAME_ACCEL_X, "", 2}, {tsOutputChannels.accelerationY, GAUGE_NAME_ACCEL_Y, "", 2}, + {tsOutputChannels.accelerationZ, GAUGE_NAME_ACCEL_Z, "", 2}, + {tsOutputChannels.accelerationRoll, GAUGE_NAME_ACCEL_ROLL, "", 2}, + {tsOutputChannels.accelerationYaw, GAUGE_NAME_ACCEL_YAW, "", 2}, {tsOutputChannels.debugIntField1, GAUGE_NAME_DEBUG_I1, "", 0}, {tsOutputChannels.debugIntField2, GAUGE_NAME_DEBUG_I2, "", 0}, diff --git a/firmware/controllers/can/can_rx.cpp b/firmware/controllers/can/can_rx.cpp index b3dd65faeb..933fe6e8d3 100644 --- a/firmware/controllers/can/can_rx.cpp +++ b/firmware/controllers/can/can_rx.cpp @@ -141,13 +141,18 @@ static void processCanRxImu(const CANRxFrame& frame, efitick_t nowNt) { float accY = getShiftedLSB_intel(frame, 4); efiPrintf("CAN_rx MM5_10_YAW_Y %f %f", yaw, accY); + engine->sensors.accelerometer.yaw = yaw * MM5_10_RATE_QUANT; engine->sensors.accelerometer.y = accY * MM5_10_ACC_QUANT; } else if (CAN_SID(frame) == MM5_10_ROLL_X) { float roll = getShiftedLSB_intel(frame, 0); float accX = getShiftedLSB_intel(frame, 4); efiPrintf("CAN_rx MM5_10_ROLL_X %f %f", roll, accX); + engine->sensors.accelerometer.roll = roll * MM5_10_RATE_QUANT; engine->sensors.accelerometer.x = accX * MM5_10_ACC_QUANT; + } else if (CAN_SID(frame) == MM5_10_Z) { + float accZ = getShiftedLSB_intel(frame, 4); + engine->sensors.accelerometer.z = accZ * MM5_10_ACC_QUANT; } } diff --git a/java_console/models/src/main/java/com/rusefi/core/Sensor.java b/java_console/models/src/main/java/com/rusefi/core/Sensor.java index 3a1278c85a..9cbd1261ca 100644 --- a/java_console/models/src/main/java/com/rusefi/core/Sensor.java +++ b/java_console/models/src/main/java/com/rusefi/core/Sensor.java @@ -116,8 +116,8 @@ public enum Sensor { debugIntField3(GAUGE_NAME_DEBUG_I3, SensorCategory.DEBUG, FieldType.INT, 204, 0, 5), debugIntField4("debug i4", SensorCategory.DEBUG, FieldType.INT16, 208, 0, 5), debugIntField5("debug i5", SensorCategory.DEBUG, FieldType.INT16, 210, 0, 5), - // accelerationX; // 212 - // accelerationY; // 214 + accelerationX(GAUGE_NAME_ACCEL_X, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 212, 1.0 / PACK_MULT_PERCENT, -3, 3, "G"), + accelerationY(GAUGE_NAME_ACCEL_Y, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 214, 1.0 / PACK_MULT_PERCENT, -3, 3, "G"), tuneCrc16("tune crc16", SensorCategory.STATUS, FieldType.UINT16, 244, 0, 5), @@ -142,6 +142,10 @@ public enum Sensor { vvtPositionB2I(GAUGE_NAME_VVT_B2I, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 292, 1.0 / PACK_MULT_ANGLE, 0, 5, "deg"), vvtPositionB2E(GAUGE_NAME_VVT_B2E, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 294, 1.0 / PACK_MULT_ANGLE, 0, 5, "deg"), + accelerationZ(GAUGE_NAME_ACCEL_Z, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 308, 1.0 / PACK_MULT_PERCENT, -3, 3, "G"), + accelerationRoll(GAUGE_NAME_ACCEL_ROLL, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 310, 1.0 / PACK_MULT_PERCENT, -30, 30, "deg/s"), + accelerationYaw(GAUGE_NAME_ACCEL_YAW, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 312, 1.0 / PACK_MULT_PERCENT, -30, 30, "deg/s"), + // Synthetic (console only) channels ETB_CONTROL_QUALITY("ETB metric", SensorCategory.SNIFFING, "", 100), ; diff --git a/java_console/ui/src/main/java/com/rusefi/sensor_logs/SensorLogger.java b/java_console/ui/src/main/java/com/rusefi/sensor_logs/SensorLogger.java index b9dd86c7bd..0cf75e25f5 100644 --- a/java_console/ui/src/main/java/com/rusefi/sensor_logs/SensorLogger.java +++ b/java_console/ui/src/main/java/com/rusefi/sensor_logs/SensorLogger.java @@ -66,6 +66,12 @@ public class SensorLogger { Sensor.VSS, Sensor.SPEED2RPM, + Sensor.accelerationX, + Sensor.accelerationY, + Sensor.accelerationZ, + Sensor.accelerationRoll, + Sensor.accelerationYaw, + Sensor.debugFloatField1, Sensor.debugFloatField2, Sensor.debugFloatField3,