I have 0x640 updating at 500ms,
Check my project page for my breakdown, would be interesting to see if they align with your findings.
(Yes I just copied by setup block
![🙂](//cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/svg/1f642.svg)
- For the Bit breakdown I left that to the Block Mapping)
Code: Select all
//-------------Motor_07---------------//
uint8_t iMotor_07_Checksum = 0;
uint8_t iMotor_07_Counter = 0;
bool bMO_QBit_Intake_Air_Temp = 0; // Quality bit indicating that Intake Air Temp value is bad
bool bMO_QBit_Oil_Temp = 0; // Quality bit indicating that Oil Temp value is bad
bool bMO_QBit_Coolant_Temp = 0; // Quality bit indicating that Coolant Temp value is bad
bool bMO_test_soundactuator = 0; // External Speaker Actuator Test
bool bMO_HYB_Error_HV_Net = 0; // DC-DC converter fault for Hybrid (Set to 0)
bool bMO_active_gearboxheating = 0; // Information for the gearbox as to whether a valve for gearbox heating must be activated
uint8_t iMO_shutoff_valve_open = 0; // Air conditioning valve control status: not_available control_valve_permissible valve_open valve_close
uint8_t iMO_Intake_Air_Temp = 0; // Intake Air Temp (sent to cluster for outside air temp if not equipped)
uint8_t iMO_Oil_Temp = 0; // Oil Temp
uint8_t iMO_Coolant_Temp = 0; // Coolant Temp
uint8_t iMO_Elevation = 0; // Correction factor altitude (1 corresponds to 1013 mbar)
bool bMO_map = 0; // KMTR map cooling equipped? = Set to 0
uint8_t iMO_CANversioninfo = 0; // Either 0 or 1, likely 0 on first scan, then 1 to indicate Motor03@10ms
bool bMO_Trans_Cooling = 0; // Transmission cooling valve activation
uint8_t iMO_Mom_Inertia_02 = 0; // Mass inertia of the motor (J) in kgm²
uint8_t iMO_heatingPumpCtrl = 0; // 0-100% heating pump control
bool bMO_VoltageReq = 0; // Request for voltage increase
uint8_t iMO_Runtime_heaterpump = 0; // Time to run Pump for Turbocharger cooldown
Code: Select all
void Motor7_Msg()
{
Motor7[0] = (bMO_QBit_Intake_Air_Temp & (0x01U)) | ((bMO_QBit_Oil_Temp & (0x01U)) << 1) | ((bMO_QBit_Coolant_Temp & (0x01U)) << 2) | ((bMO_HYB_Error_HV_Net & (0x01U)) << 4) | ((bMO_active_gearboxheating & (0x01U)) << 5) | ((iMO_shutoff_valve_open & (0x03U)) << 6);
Motor7[1] = (iMO_Intake_Air_Temp & (0xFFU));
Motor7[2] = (iMO_Oil_Temp & (0xFFU));
Motor7[3] = (iMO_Coolant_Temp & (0xFFU));
Motor7[4] = (iMO_Elevation & (0xFFU));
Motor7[5] = (bMO_map & (0x01U)) | ((iMO_CANversioninfo & (0x3FU)) << 1) | ((bMO_Trans_Cooling & (0x01U)) << 7);
Motor7[6] = (iMO_Mom_Inertia_02 & (0x1FU)) | ((iMO_heatingPumpCtrl & (0x07U)) << 5);
Motor7[7] = ((iMO_heatingPumpCtrl >> 3) & (0x01U)) | ((bMO_VoltageReq & (0x01U)) << 1) | ((iMO_Runtime_heaterpump & (0x3FU)) << 2);
}
Try to load this DBC file to see if it aligns with what you see, the 981 seems to be a cross between VAG MQB and MLB... Hoping the 970 follows the same CAN message version:
https://raw.githubusercontent.com/rusef ... C7_MLB.dbc