diff --git a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/rz_commands.cpp b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/rz_commands.cpp index 7623f75..a852994 100644 --- a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/rz_commands.cpp +++ b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/rz_commands.cpp @@ -32,7 +32,7 @@ */ #include "ovms_log.h" -static const char *TAG = "v-zoe-ph2"; +//static const char *TAG = "v-zoe-ph2"; #include #include diff --git a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.cpp b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.cpp index 1bad022..351fe63 100644 --- a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.cpp +++ b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.cpp @@ -97,7 +97,6 @@ static const OvmsVehicle::poll_pid_t renault_zoe_polls[] = { { 0x18dadff1, 0x18daf1df, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x700F, { 0, 10, 3, 10 }, 0, ISOTP_EXTFRAME }, // Stator Temperature 1 { 0x18dadff1, 0x18daf1df, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x7010, { 0, 10, 3, 10 }, 0, ISOTP_EXTFRAME }, // Stator Temperature 2 { 0x18dadff1, 0x18daf1df, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x2001, { 0, 10, 3, 10 }, 0, ISOTP_EXTFRAME }, // Motor rpm - { 0x18dadff1, 0x18daf1df, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x7090, { 0, 10, 3, 10 }, 0, ISOTP_EXTFRAME }, // Water temperature { 0x18dadff1, 0x18daf1df, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x2004, { 0, 60, 3, 60 }, 0, ISOTP_EXTFRAME }, // Battery voltage sense { 0x18dadff1, 0x18daf1df, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x7049, { 0, 60, 3, 60 }, 0, ISOTP_EXTFRAME }, // Current voltage sense @@ -151,7 +150,6 @@ OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() { mt_inv_status = MyMetrics.InitString("zph2.m.inverter.status", SM_STALE_MID, 0); mt_mot_temp_stator1 = MyMetrics.InitFloat("zph2.m.temp.stator1", SM_STALE_MID, 0, Celcius); mt_mot_temp_stator2 = MyMetrics.InitFloat("zph2.m.temp.stator2", SM_STALE_MID, 0, Celcius); - mt_inv_temp_water = MyMetrics.InitFloat("zph2.m.temp.water", SM_STALE_MID, 0, Celcius); mt_aux_power_consumer = MyMetrics.InitFloat("zph2.c.aux.power.consumer", SM_STALE_MID, 0, Watts); mt_aux_power_ptc = MyMetrics.InitFloat("zph2.c.aux.power.ptc", SM_STALE_MID, 0, Watts); mt_inv_hv_voltage = MyMetrics.InitFloat("zph2.m.inverter.voltage", SM_STALE_MID, 0, Volts); @@ -190,7 +188,7 @@ void OvmsVehicleRenaultZoePh2::IncomingFrameCan1(CAN_frame_t* p_frame) { uint8_t *data = p_frame->data.u8; ESP_LOGI(TAG, "PID:%x DATA: %02x %02x %02x %02x %02x %02x %02x %02x", p_frame->MsgID, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7]); - if (data[0] == 0x83 && data[1] == 0xc0 && mt_bus_awake->AsBool()) { + if (data[0] == 0x83 && data[1] == 0xc0 && mt_bus_awake) { ESP_LOGI(TAG,"Zoe has gone to sleep (CAN Gateway NAK response)"); mt_bus_awake->SetValue(false); StandardMetrics.ms_v_env_awake->SetValue(false); @@ -204,16 +202,9 @@ void OvmsVehicleRenaultZoePh2::IncomingFrameCan1(CAN_frame_t* p_frame) { */ void OvmsVehicleRenaultZoePh2::IncomingPollReply(canbus* bus, uint16_t type, uint16_t pid, uint8_t* data, uint8_t length, uint16_t remain) { string& rxbuf = zoe_obd_rxbuf; - static uint32_t last_pid = -1; ESP_LOGV(TAG, "pid: %04x length: %d m_poll_ml_remain: %d m_poll_ml_frame: %d", pid, length, m_poll_ml_remain, m_poll_ml_frame); - if (pid != last_pid) { - ESP_LOGD(TAG, "pid: %04x length: %d m_poll_ml_remain: %d m_poll_ml_frame: %d", pid, length, m_poll_ml_remain, m_poll_ml_frame); - last_pid = pid; - m_poll_ml_frame=0; - } - // init / fill rx buffer: if (m_poll_ml_frame == 0) { rxbuf.clear(); @@ -254,41 +245,36 @@ void OvmsVehicleRenaultZoePh2::IncomingPollReply(canbus* bus, uint16_t type, uin void OvmsVehicleRenaultZoePh2::IncomingINV(uint16_t type, uint16_t pid, const char* data, uint16_t len) { switch (pid) { case 0x700C: { // Inverter temperature - StandardMetrics.ms_v_inv_temp->SetValue(float((CAN_UINT(0) - 40)), Celcius); - ESP_LOGD(TAG, "700C INV ms_v_inv_temp: %f", float((CAN_UINT(0) - 40))); + StandardMetrics.ms_v_inv_temp->SetValue(float((CAN_UINT(0) - 40) * 0.1953125), Celcius); + ESP_LOGD(TAG, "700C INV ms_v_inv_temp: %f", float((CAN_UINT(0) - 40) * 0.1953125)); break; } case 0x700F: { // Motor, Stator1 temperature - StandardMetrics.ms_v_mot_temp->SetValue(float((CAN_UINT(0) - 40)), Celcius); + StandardMetrics.ms_v_mot_temp->SetValue(float((CAN_UINT(0) - 40) * 0.1953125), Celcius); mt_mot_temp_stator1->SetValue(float((CAN_UINT(0) - 40)), Celcius); - ESP_LOGD(TAG, "700F INV ms_v_mot_temp: %f", float((CAN_UINT(0) - 40))); + ESP_LOGD(TAG, "700F INV ms_v_mot_temp: %f", float((CAN_UINT(0) - 40) * 0.1953125)); break; } case 0x7010: { // Stator 2 temperature - mt_mot_temp_stator2->SetValue(float((CAN_UINT(0) - 40)), Celcius); - ESP_LOGD(TAG, "7010 INV mt_mot_temp_stator2: %f", float((CAN_UINT(0) - 40))); + mt_mot_temp_stator2->SetValue(float((CAN_UINT(0) - 40) * 0.1953125), Celcius); + ESP_LOGD(TAG, "7010 INV mt_mot_temp_stator2: %f", float((CAN_UINT(0) - 40) * 0.1953125)); break; } case 0x2001: { // Motor rpm - StandardMetrics.ms_v_mot_rpm->SetValue(float(CAN_UINT(0) - 16000)); - ESP_LOGD(TAG, "2001 INV ms_v_mot_rpm: %f", float(CAN_UINT(0) - 16000)); - break; - } - case 0x7090: { // Water temperature - mt_inv_temp_water->SetValue(float(CAN_UINT(0))); - ESP_LOGD(TAG, "7090 INV mt_inv_temp_water: %f", float(CAN_UINT(0))); + StandardMetrics.ms_v_mot_rpm->SetValue(float(CAN_UINT(0) - 16000) * 0.5); + ESP_LOGD(TAG, "2001 INV ms_v_mot_rpm: %f", float(CAN_UINT(0) - 16000) * 0.5); break; } case 0x2004: { // Battery voltage sense - mt_inv_hv_voltage->SetValue(float(CAN_UINT(0)), Volts); - ESP_LOGD(TAG, "2004 INV mt_inv_hv_voltage: %f", float(CAN_UINT(0))); - StandardMetrics.ms_v_inv_power->SetValue(float (mt_inv_hv_voltage->AsFloat() * mt_inv_hv_current->AsFloat())); + mt_inv_hv_voltage->SetValue(float(CAN_UINT(0) * 0.03125), Volts); + ESP_LOGD(TAG, "2004 INV mt_inv_hv_voltage: %f", float(CAN_UINT(0) * 0.03125)); + StandardMetrics.ms_v_inv_power->SetValue(float (mt_inv_hv_voltage->AsFloat() * mt_inv_hv_current->AsFloat() / 1000)); break; } case 0x7049: { // Battery current sense - mt_inv_hv_current->SetValue(float(CAN_UINT(0) - 500), Amps); - ESP_LOGD(TAG, "7049 INV mt_inv_hv_current: %f", float(CAN_UINT(0) - 500)); - StandardMetrics.ms_v_inv_power->SetValue(float (mt_inv_hv_current->AsFloat() * mt_inv_hv_voltage->AsFloat())); + mt_inv_hv_current->SetValue(float((CAN_UINT(0) - 500) * 0.003125), Amps); + ESP_LOGD(TAG, "7049 INV mt_inv_hv_current: %f", float(CAN_UINT(0) - 500) * 0.003125); + StandardMetrics.ms_v_inv_power->SetValue(float (mt_inv_hv_current->AsFloat() * mt_inv_hv_voltage->AsFloat() / 1000)); break; } } @@ -302,7 +288,7 @@ void OvmsVehicleRenaultZoePh2::IncomingEVC(uint16_t type, uint16_t pid, const ch StandardMetrics.ms_v_pos_odometer->SetValue((float) CAN_UINT24(0), Kilometers); ESP_LOGD(TAG, "2006 EVC ms_v_pos_odometer: %d", CAN_UINT24(0)); - if (mt_bus_awake->AsBool(false)) { + if (!mt_bus_awake) { ESP_LOGI(TAG,"Zoe woke up (Successful poll on odometer)"); mt_bus_awake->SetValue(true); StandardMetrics.ms_v_env_awake->SetValue(true); diff --git a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.h b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.h index e332b02..089d7ca 100644 --- a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.h +++ b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.h @@ -102,7 +102,6 @@ class OvmsVehicleRenaultZoePh2 : public OvmsVehicle { OvmsMetricString *mt_inv_status; //Inverter status string OvmsMetricFloat *mt_mot_temp_stator1; OvmsMetricFloat *mt_mot_temp_stator2; - OvmsMetricFloat *mt_inv_temp_water; OvmsMetricFloat *mt_aux_power_consumer; //Power usage by consumer OvmsMetricFloat *mt_aux_power_ptc; //Power usage by PTCs OvmsMetricFloat *mt_inv_hv_voltage; //Battery voltage sense