Clean up code for two implementations
This commit is contained in:
parent
894a063083
commit
8f285cc917
|
@ -7,7 +7,7 @@
|
||||||
# please read the ESP-IDF documents if you need to do this.
|
# please read the ESP-IDF documents if you need to do this.
|
||||||
#
|
#
|
||||||
|
|
||||||
ifdef CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2
|
ifdef CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD
|
||||||
COMPONENT_ADD_INCLUDEDIRS:=src
|
COMPONENT_ADD_INCLUDEDIRS:=src
|
||||||
COMPONENT_SRCDIRS:=src
|
COMPONENT_SRCDIRS:=src
|
||||||
COMPONENT_ADD_LDFLAGS = -Wl,--whole-archive -l$(COMPONENT_NAME) -Wl,--no-whole-archive
|
COMPONENT_ADD_LDFLAGS = -Wl,--whole-archive -l$(COMPONENT_NAME) -Wl,--no-whole-archive
|
|
@ -1,8 +1,8 @@
|
||||||
=======================
|
=======================
|
||||||
Renault Zoe Phase 2
|
Renault Zoe Phase 2 (OBD port)
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
Vehicle Type: **RZ2**
|
Vehicle Type: **RZ2O**
|
||||||
|
|
||||||
This vehicle type supports the Renault Zoe(PH2) through OBD connection.
|
This vehicle type supports the Renault Zoe(PH2) through OBD connection.
|
||||||
All values are read-only, no control possible because of CAN Gateway.
|
All values are read-only, no control possible because of CAN Gateway.
|
|
@ -23,9 +23,9 @@
|
||||||
; THE SOFTWARE.
|
; THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingBCM(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingBCM(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
||||||
switch (pid) {
|
switch (pid) {
|
||||||
case 0x6300: { // TPMS pressure - front left
|
case 0x6300: { // TPMS pressure - front left
|
||||||
if ((CAN_UINT(0) * 7.5) < 7672) {
|
if ((CAN_UINT(0) * 7.5) < 7672) {
|
|
@ -23,9 +23,9 @@
|
||||||
; THE SOFTWARE.
|
; THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingEVC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingEVC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
||||||
switch (pid) {
|
switch (pid) {
|
||||||
case 0x2006: { //Odometer (Total Vehicle Distance)
|
case 0x2006: { //Odometer (Total Vehicle Distance)
|
||||||
StandardMetrics.ms_v_pos_odometer->SetValue((float) CAN_UINT24(0), Kilometers);
|
StandardMetrics.ms_v_pos_odometer->SetValue((float) CAN_UINT24(0), Kilometers);
|
|
@ -22,9 +22,9 @@
|
||||||
; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
; THE SOFTWARE.
|
; THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingHVAC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingHVAC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
||||||
switch (pid) {
|
switch (pid) {
|
||||||
case 0x4009: { //Cabin temperature
|
case 0x4009: { //Cabin temperature
|
||||||
StandardMetrics.ms_v_env_cabintemp->SetValue(float((CAN_UINT(0) - 400) / 10), Celcius);
|
StandardMetrics.ms_v_env_cabintemp->SetValue(float((CAN_UINT(0) - 400) / 10), Celcius);
|
|
@ -23,9 +23,9 @@
|
||||||
; THE SOFTWARE.
|
; THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingINV(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingINV(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
||||||
switch (pid) {
|
switch (pid) {
|
||||||
case 0x700C: { // Inverter temperature
|
case 0x700C: { // Inverter temperature
|
||||||
StandardMetrics.ms_v_inv_temp->SetValue(float((CAN_UINT24(0) * 0.001953125) - 40), Celcius);
|
StandardMetrics.ms_v_inv_temp->SetValue(float((CAN_UINT24(0) * 0.001953125) - 40), Celcius);
|
|
@ -23,9 +23,9 @@
|
||||||
; THE SOFTWARE.
|
; THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingLBC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingLBC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
||||||
switch (pid) {
|
switch (pid) {
|
||||||
case 0x9005: { //Battery voltage
|
case 0x9005: { //Battery voltage
|
||||||
StandardMetrics.ms_v_bat_voltage->SetValue((float) (CAN_UINT(0) * 0.1), Volts);
|
StandardMetrics.ms_v_bat_voltage->SetValue((float) (CAN_UINT(0) * 0.1), Volts);
|
|
@ -24,9 +24,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingCLUSTER(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingCLUSTER(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
||||||
switch (pid) {
|
switch (pid) {
|
||||||
case 0x2101: { // Cluster - trip counter
|
case 0x2101: { // Cluster - trip counter
|
||||||
mt_pos_car_trip->SetValue(CAN_UINT32(0), Kilometers);
|
mt_pos_car_trip->SetValue(CAN_UINT32(0), Kilometers);
|
|
@ -22,9 +22,9 @@
|
||||||
; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
; THE SOFTWARE.
|
; THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingUCM(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingUCM(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
|
||||||
switch (pid) {
|
switch (pid) {
|
||||||
case 0x6079: { //12V Battery Current
|
case 0x6079: { //12V Battery Current
|
||||||
StandardMetrics.ms_v_charge_12v_current->SetValue((float) (CAN_UINT(0) * 0.1), Amps);
|
StandardMetrics.ms_v_charge_12v_current->SetValue((float) (CAN_UINT(0) * 0.1), Amps);
|
|
@ -36,14 +36,14 @@
|
||||||
#include "ovms_notify.h"
|
#include "ovms_notify.h"
|
||||||
#include "ovms_webserver.h"
|
#include "ovms_webserver.h"
|
||||||
|
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
#define _attr(text) (c.encode_html(text).c_str())
|
#define _attr(text) (c.encode_html(text).c_str())
|
||||||
#define _html(text) (c.encode_html(text).c_str())
|
#define _html(text) (c.encode_html(text).c_str())
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
|
void OvmsVehicleRenaultZoePh2OBD::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
|
||||||
{
|
{
|
||||||
std::string error, rangeideal, battcapacity;
|
std::string error, rangeideal, battcapacity;
|
||||||
bool UseBMScalculation, UseBMSsoc;
|
bool UseBMScalculation, UseBMSsoc;
|
||||||
|
@ -62,11 +62,11 @@ void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
|
||||||
}
|
}
|
||||||
if (error == "") {
|
if (error == "") {
|
||||||
// store:
|
// store:
|
||||||
MyConfig.SetParamValue("xrz2", "rangeideal", rangeideal);
|
MyConfig.SetParamValue("xrz2o", "rangeideal", rangeideal);
|
||||||
MyConfig.SetParamValue("xrz2", "battcapacity", battcapacity);
|
MyConfig.SetParamValue("xrz2o", "battcapacity", battcapacity);
|
||||||
//MyConfig.SetParamValueBool("xrz2", "UseCarTrip", UseCarTrip);
|
//MyConfig.SetParamValueBool("xrz2o", "UseCarTrip", UseCarTrip);
|
||||||
MyConfig.SetParamValueBool("xrz2", "UseBMScalculation", UseBMScalculation);
|
MyConfig.SetParamValueBool("xrz2o", "UseBMScalculation", UseBMScalculation);
|
||||||
MyConfig.SetParamValueBool("xrz2", "UseBMSsoc", UseBMSsoc);
|
MyConfig.SetParamValueBool("xrz2o", "UseBMSsoc", UseBMSsoc);
|
||||||
|
|
||||||
c.head(200);
|
c.head(200);
|
||||||
c.alert("success", "<p class=\"lead\">Renault Zoe Ph2 battery setup saved.</p>");
|
c.alert("success", "<p class=\"lead\">Renault Zoe Ph2 battery setup saved.</p>");
|
||||||
|
@ -81,11 +81,11 @@ void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// read configuration:
|
// read configuration:
|
||||||
rangeideal = MyConfig.GetParamValue("xrz2", "rangeideal", "350");
|
rangeideal = MyConfig.GetParamValue("xrz2o", "rangeideal", "350");
|
||||||
battcapacity = MyConfig.GetParamValue("xrz2", "battcapacity", "52000");
|
battcapacity = MyConfig.GetParamValue("xrz2o", "battcapacity", "52000");
|
||||||
//UseCarTrip = MyConfig.GetParamValueBool("xrz2", "UseCarTrip", false);
|
//UseCarTrip = MyConfig.GetParamValueBool("xrz2o", "UseCarTrip", false);
|
||||||
UseBMScalculation = MyConfig.GetParamValueBool("xrz2", "UseBMScalculation", false);
|
UseBMScalculation = MyConfig.GetParamValueBool("xrz2o", "UseBMScalculation", false);
|
||||||
UseBMSsoc = MyConfig.GetParamValueBool("xrz2", "UseBMSsoc", false);
|
UseBMSsoc = MyConfig.GetParamValueBool("xrz2o", "UseBMSsoc", false);
|
||||||
c.head(200);
|
c.head(200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,19 +135,19 @@ void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
|
||||||
/**
|
/**
|
||||||
* WebInit: register pages
|
* WebInit: register pages
|
||||||
*/
|
*/
|
||||||
void OvmsVehicleRenaultZoePh2::WebInit()
|
void OvmsVehicleRenaultZoePh2OBD::WebInit()
|
||||||
{
|
{
|
||||||
MyWebServer.RegisterPage("/xrz2/battmon", "BMS View", OvmsWebServer::HandleBmsCellMonitor, PageMenu_Vehicle, PageAuth_Cookie);
|
MyWebServer.RegisterPage("/xrz2o/battmon", "BMS View", OvmsWebServer::HandleBmsCellMonitor, PageMenu_Vehicle, PageAuth_Cookie);
|
||||||
MyWebServer.RegisterPage("/xrz2/settings", "Setup", WebCfgCommon, PageMenu_Vehicle, PageAuth_Cookie);
|
MyWebServer.RegisterPage("/xrz2o/settings", "Setup", WebCfgCommon, PageMenu_Vehicle, PageAuth_Cookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* WebDeInit: deregister pages
|
* WebDeInit: deregister pages
|
||||||
*/
|
*/
|
||||||
void OvmsVehicleRenaultZoePh2::WebDeInit()
|
void OvmsVehicleRenaultZoePh2OBD::WebDeInit()
|
||||||
{
|
{
|
||||||
MyWebServer.DeregisterPage("/xrz2/battmon");
|
MyWebServer.DeregisterPage("/xrz2o/battmon");
|
||||||
MyWebServer.DeregisterPage("/xrz2/battery");
|
MyWebServer.DeregisterPage("/xrz2o/battery");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,11 +39,11 @@
|
||||||
#include "ovms_peripherals.h"
|
#include "ovms_peripherals.h"
|
||||||
#include "ovms_netmanager.h"
|
#include "ovms_netmanager.h"
|
||||||
|
|
||||||
#include "vehicle_renaultzoe_ph2.h"
|
#include "vehicle_renaultzoe_ph2_obd.h"
|
||||||
#include "ph2_poller.h"
|
#include "ph2_poller.h"
|
||||||
|
|
||||||
OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
|
OvmsVehicleRenaultZoePh2OBD::OvmsVehicleRenaultZoePh2OBD() {
|
||||||
ESP_LOGI(TAG, "Start Renault Zoe Ph2 vehicle module");
|
ESP_LOGI(TAG, "Start Renault Zoe Ph2 (OBD) vehicle module");
|
||||||
|
|
||||||
//Init variables supressing push on boot up
|
//Init variables supressing push on boot up
|
||||||
StandardMetrics.ms_v_type->SetValue("RZ2");
|
StandardMetrics.ms_v_type->SetValue("RZ2");
|
||||||
|
@ -53,7 +53,7 @@ OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
|
||||||
StandardMetrics.ms_v_charge_substate->SetValue("stopped");
|
StandardMetrics.ms_v_charge_substate->SetValue("stopped");
|
||||||
StandardMetrics.ms_v_env_on->SetValue(false);
|
StandardMetrics.ms_v_env_on->SetValue(false);
|
||||||
|
|
||||||
MyConfig.RegisterParam("xrz2", "Renault Zoe Ph2 configuration", true, true);
|
MyConfig.RegisterParam("xrz2o", "Renault Zoe Ph2 (OBD) configuration", true, true);
|
||||||
ConfigChanged(NULL);
|
ConfigChanged(NULL);
|
||||||
|
|
||||||
// Init Zoe Ph2 OBD Connection (CAN Gateway)
|
// Init Zoe Ph2 OBD Connection (CAN Gateway)
|
||||||
|
@ -106,20 +106,20 @@ OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
OvmsVehicleRenaultZoePh2::~OvmsVehicleRenaultZoePh2() {
|
OvmsVehicleRenaultZoePh2OBD::~OvmsVehicleRenaultZoePh2OBD() {
|
||||||
ESP_LOGI(TAG, "Stop Renault Zoe Ph2 vehicle module");
|
ESP_LOGI(TAG, "Stop Renault Zoe Ph2 (OBD) vehicle module");
|
||||||
}
|
}
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::ConfigChanged(OvmsConfigParam* param) {
|
void OvmsVehicleRenaultZoePh2OBD::ConfigChanged(OvmsConfigParam* param) {
|
||||||
if (param && param->GetName() != "xrz2")
|
if (param && param->GetName() != "xrz2o")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// get values from config store
|
// get values from config store
|
||||||
m_range_ideal = MyConfig.GetParamValueInt("xrz2", "rangeideal", 350);
|
m_range_ideal = MyConfig.GetParamValueInt("xrz2o", "rangeideal", 350);
|
||||||
m_battery_capacity = MyConfig.GetParamValueInt("xrz2", "battcapacity", 52000);
|
m_battery_capacity = MyConfig.GetParamValueInt("xrz2o", "battcapacity", 52000);
|
||||||
m_UseCarTrip = MyConfig.GetParamValueBool("xrz2", "UseCarTrip", false);
|
m_UseCarTrip = MyConfig.GetParamValueBool("xrz2o", "UseCarTrip", false);
|
||||||
m_UseBMScalculation = MyConfig.GetParamValueBool("xrz2", "UseBMScalculation", false);
|
m_UseBMScalculation = MyConfig.GetParamValueBool("xrz2o", "UseBMScalculation", false);
|
||||||
m_UseBMSsoc = MyConfig.GetParamValueBool("xrz2", "UseBMSsoc", false);
|
m_UseBMSsoc = MyConfig.GetParamValueBool("xrz2o", "UseBMSsoc", false);
|
||||||
StandardMetrics.ms_v_bat_range_ideal->SetValue(m_range_ideal, Kilometers);
|
StandardMetrics.ms_v_bat_range_ideal->SetValue(m_range_ideal, Kilometers);
|
||||||
if (m_battery_capacity == 52000) {
|
if (m_battery_capacity == 52000) {
|
||||||
Bat_cell_capacity = 78.0 * 2 * (StandardMetrics.ms_v_bat_soh->AsFloat() / 100.0);
|
Bat_cell_capacity = 78.0 * 2 * (StandardMetrics.ms_v_bat_soh->AsFloat() / 100.0);
|
||||||
|
@ -130,10 +130,10 @@ void OvmsVehicleRenaultZoePh2::ConfigChanged(OvmsConfigParam* param) {
|
||||||
if (m_battery_capacity == 22000) {
|
if (m_battery_capacity == 22000) {
|
||||||
Bat_cell_capacity = 36.0 * 2 * (StandardMetrics.ms_v_bat_soh->AsFloat() / 100.0);
|
Bat_cell_capacity = 36.0 * 2 * (StandardMetrics.ms_v_bat_soh->AsFloat() / 100.0);
|
||||||
}
|
}
|
||||||
ESP_LOGI(TAG, "Renault Zoe Ph2 reload configuration: Range ideal: %d, Battery capacity: %d, Use Car trip counter: %s, Use BMS as energy counter: %s, Use BMS for SOC: %s", m_range_ideal, m_battery_capacity, m_UseCarTrip ? "Yes" : "No", m_UseBMScalculation ? "yes" : "no", m_UseBMSsoc ? "yes" : "no");
|
ESP_LOGI(TAG, "Renault Zoe Ph2 (OBD) reload configuration: Range ideal: %d, Battery capacity: %d, Use Car trip counter: %s, Use BMS as energy counter: %s, Use BMS for SOC: %s", m_range_ideal, m_battery_capacity, m_UseCarTrip ? "Yes" : "No", m_UseBMScalculation ? "yes" : "no", m_UseBMSsoc ? "yes" : "no");
|
||||||
}
|
}
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::ZoeWakeUp() {
|
void OvmsVehicleRenaultZoePh2OBD::ZoeWakeUp() {
|
||||||
ESP_LOGI(TAG,"Zoe woke up (CAN Bus activity detected)");
|
ESP_LOGI(TAG,"Zoe woke up (CAN Bus activity detected)");
|
||||||
mt_bus_awake->SetValue(true);;
|
mt_bus_awake->SetValue(true);;
|
||||||
StandardMetrics.ms_v_env_charging12v->SetValue(true);
|
StandardMetrics.ms_v_env_charging12v->SetValue(true);
|
||||||
|
@ -144,7 +144,7 @@ void OvmsVehicleRenaultZoePh2::ZoeWakeUp() {
|
||||||
/**
|
/**
|
||||||
* Handles incoming CAN-frames on bus 1
|
* Handles incoming CAN-frames on bus 1
|
||||||
*/
|
*/
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingFrameCan1(CAN_frame_t* p_frame) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingFrameCan1(CAN_frame_t* p_frame) {
|
||||||
uint8_t *data = p_frame->data.u8;
|
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]);
|
//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]);
|
||||||
//ESP_LOGD(TAG, "Status CAN Bus: %s", mt_bus_awake->AsBool() ? "true" : "false");
|
//ESP_LOGD(TAG, "Status CAN Bus: %s", mt_bus_awake->AsBool() ? "true" : "false");
|
||||||
|
@ -177,7 +177,7 @@ void OvmsVehicleRenaultZoePh2::IncomingFrameCan1(CAN_frame_t* p_frame) {
|
||||||
/**
|
/**
|
||||||
* Handles incoming poll results
|
* Handles incoming poll results
|
||||||
*/
|
*/
|
||||||
void OvmsVehicleRenaultZoePh2::IncomingPollReply(canbus* bus, uint16_t type, uint16_t pid, uint8_t* data, uint8_t length, uint16_t remain) {
|
void OvmsVehicleRenaultZoePh2OBD::IncomingPollReply(canbus* bus, uint16_t type, uint16_t pid, uint8_t* data, uint8_t length, uint16_t remain) {
|
||||||
string& rxbuf = zoe_obd_rxbuf;
|
string& rxbuf = zoe_obd_rxbuf;
|
||||||
|
|
||||||
//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);
|
//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);
|
||||||
|
@ -224,7 +224,7 @@ void OvmsVehicleRenaultZoePh2::IncomingPollReply(canbus* bus, uint16_t type, uin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int OvmsVehicleRenaultZoePh2::calcMinutesRemaining(float charge_voltage, float charge_current) {
|
int OvmsVehicleRenaultZoePh2OBD::calcMinutesRemaining(float charge_voltage, float charge_current) {
|
||||||
float bat_soc = mt_bat_lbc_soc->AsFloat(100);
|
float bat_soc = mt_bat_lbc_soc->AsFloat(100);
|
||||||
|
|
||||||
float remaining_wh = m_battery_capacity - (m_battery_capacity * bat_soc / 100.0);
|
float remaining_wh = m_battery_capacity - (m_battery_capacity * bat_soc / 100.0);
|
||||||
|
@ -235,7 +235,7 @@ int OvmsVehicleRenaultZoePh2::calcMinutesRemaining(float charge_voltage, float c
|
||||||
}
|
}
|
||||||
|
|
||||||
//Handle Charging values
|
//Handle Charging values
|
||||||
void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
|
void OvmsVehicleRenaultZoePh2OBD::ChargeStatistics() {
|
||||||
float charge_current = fabs(StandardMetrics.ms_v_bat_current->AsFloat(0, Amps));
|
float charge_current = fabs(StandardMetrics.ms_v_bat_current->AsFloat(0, Amps));
|
||||||
float charge_voltage = StandardMetrics.ms_v_bat_voltage->AsFloat(0, Volts);
|
float charge_voltage = StandardMetrics.ms_v_bat_voltage->AsFloat(0, Volts);
|
||||||
float battery_power = fabs(StandardMetrics.ms_v_bat_power->AsFloat(0, kW));
|
float battery_power = fabs(StandardMetrics.ms_v_bat_power->AsFloat(0, kW));
|
||||||
|
@ -287,7 +287,7 @@ void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::EnergyStatisticsOVMS() {
|
void OvmsVehicleRenaultZoePh2OBD::EnergyStatisticsOVMS() {
|
||||||
float voltage = StandardMetrics.ms_v_bat_voltage->AsFloat(0, Volts);
|
float voltage = StandardMetrics.ms_v_bat_voltage->AsFloat(0, Volts);
|
||||||
float current = StandardMetrics.ms_v_bat_current->AsFloat(0, Amps);
|
float current = StandardMetrics.ms_v_bat_current->AsFloat(0, Amps);
|
||||||
|
|
||||||
|
@ -302,12 +302,12 @@ void OvmsVehicleRenaultZoePh2::EnergyStatisticsOVMS() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::EnergyStatisticsBMS() {
|
void OvmsVehicleRenaultZoePh2OBD::EnergyStatisticsBMS() {
|
||||||
StandardMetrics.ms_v_bat_energy_used->SetValue(StandardMetrics.ms_v_bat_energy_used_total->AsFloat() - mt_bat_used_start->AsFloat());
|
StandardMetrics.ms_v_bat_energy_used->SetValue(StandardMetrics.ms_v_bat_energy_used_total->AsFloat() - mt_bat_used_start->AsFloat());
|
||||||
StandardMetrics.ms_v_bat_energy_recd->SetValue(StandardMetrics.ms_v_bat_energy_recd_total->AsFloat() - mt_bat_recd_start->AsFloat());
|
StandardMetrics.ms_v_bat_energy_recd->SetValue(StandardMetrics.ms_v_bat_energy_recd_total->AsFloat() - mt_bat_recd_start->AsFloat());
|
||||||
}
|
}
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::Ticker10(uint32_t ticker) {
|
void OvmsVehicleRenaultZoePh2OBD::Ticker10(uint32_t ticker) {
|
||||||
if (StandardMetrics.ms_v_charge_pilot->AsBool() && !StandardMetrics.ms_v_env_on->AsBool()) {
|
if (StandardMetrics.ms_v_charge_pilot->AsBool() && !StandardMetrics.ms_v_env_on->AsBool()) {
|
||||||
ChargeStatistics();
|
ChargeStatistics();
|
||||||
} else {
|
} else {
|
||||||
|
@ -319,7 +319,7 @@ void OvmsVehicleRenaultZoePh2::Ticker10(uint32_t ticker) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OvmsVehicleRenaultZoePh2::Ticker1(uint32_t ticker) {
|
void OvmsVehicleRenaultZoePh2OBD::Ticker1(uint32_t ticker) {
|
||||||
if (StandardMetrics.ms_v_env_on->AsBool() && !CarIsDriving && !m_UseCarTrip) {
|
if (StandardMetrics.ms_v_env_on->AsBool() && !CarIsDriving && !m_UseCarTrip) {
|
||||||
CarIsDriving = true;
|
CarIsDriving = true;
|
||||||
//Start trip after power on
|
//Start trip after power on
|
||||||
|
@ -379,13 +379,13 @@ void OvmsVehicleRenaultZoePh2::Ticker1(uint32_t ticker) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class OvmsVehicleRenaultZoePh2Init {
|
class OvmsVehicleRenaultZoePh2OBDInit {
|
||||||
public: OvmsVehicleRenaultZoePh2Init();
|
public: OvmsVehicleRenaultZoePh2OBDInit();
|
||||||
} MyOvmsVehicleRenaultZoePh2Init __attribute__ ((init_priority (9000)));
|
} MyOvmsVehicleRenaultZoePh2OBDInit __attribute__ ((init_priority (9000)));
|
||||||
|
|
||||||
|
|
||||||
OvmsVehicleRenaultZoePh2Init::OvmsVehicleRenaultZoePh2Init()
|
OvmsVehicleRenaultZoePh2OBDInit::OvmsVehicleRenaultZoePh2OBDInit()
|
||||||
{
|
{
|
||||||
ESP_LOGI(TAG, "Registering Vehicle: Renault Zoe Ph2 (9000)");
|
ESP_LOGI(TAG, "Registering Vehicle: Renault Zoe Ph2 (OBD) (9000)");
|
||||||
MyVehicleFactory.RegisterVehicle<OvmsVehicleRenaultZoePh2>("RZ2","Renault Zoe Ph2");
|
MyVehicleFactory.RegisterVehicle<OvmsVehicleRenaultZoePh2OBD>("RZ2","Renault Zoe Ph2 (OBD)");
|
||||||
}
|
}
|
|
@ -23,10 +23,10 @@
|
||||||
; THE SOFTWARE.
|
; THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __VEHICLE_RENAULTZOE_PH2_H__
|
#ifndef __VEHICLE_RENAULTZOE_PH2_OBD_H__
|
||||||
#define __VEHICLE_RENAULTZOE_PH2_H__
|
#define __VEHICLE_RENAULTZOE_PH2_OBD_H__
|
||||||
|
|
||||||
static const char *TAG = "v-zoe-ph2";
|
static const char *TAG = "v-zoe-ph2-obd";
|
||||||
|
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
|
|
||||||
|
@ -58,11 +58,11 @@ static const char *TAG = "v-zoe-ph2";
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
class OvmsVehicleRenaultZoePh2 : public OvmsVehicle {
|
class OvmsVehicleRenaultZoePh2OBD : public OvmsVehicle {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
OvmsVehicleRenaultZoePh2();
|
OvmsVehicleRenaultZoePh2OBD();
|
||||||
~OvmsVehicleRenaultZoePh2();
|
~OvmsVehicleRenaultZoePh2OBD();
|
||||||
static void WebCfgCommon(PageEntry_t& p, PageContext_t& c);
|
static void WebCfgCommon(PageEntry_t& p, PageContext_t& c);
|
||||||
void ConfigChanged(OvmsConfigParam* param);
|
void ConfigChanged(OvmsConfigParam* param);
|
||||||
void ZoeWakeUp();
|
void ZoeWakeUp();
|
||||||
|
@ -133,4 +133,4 @@ class OvmsVehicleRenaultZoePh2 : public OvmsVehicle {
|
||||||
string zoe_obd_rxbuf;
|
string zoe_obd_rxbuf;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //#ifndef __VEHICLE_RENAULTZOE_PH2_H__
|
#endif //#ifndef __VEHICLE_RENAULTZOE_PH2_OBD_H__
|
|
@ -353,12 +353,12 @@ config OVMS_VEHICLE_CAN_RX_QUEUE_SIZE
|
||||||
help
|
help
|
||||||
The size of the CAN bus RX queue (at the vehicle component).
|
The size of the CAN bus RX queue (at the vehicle component).
|
||||||
|
|
||||||
config OVMS_VEHICLE_RENAULTZOE_PH2
|
config OVMS_VEHICLE_RENAULTZOE_PH2_OBD
|
||||||
bool "Include support for Renault Zoe PH2 vehicles"
|
bool "Include support for Renault Zoe PH2 vehicles via OBD port (read-only)"
|
||||||
default y
|
default y
|
||||||
depends on OVMS
|
depends on OVMS
|
||||||
help
|
help
|
||||||
Enable to include support for Renault Zoe Ph2 vehicles.
|
Enable to include support for Renault Zoe Ph2 vehicles via OBD port (read-only).
|
||||||
|
|
||||||
endmenu # Vehicle Support
|
endmenu # Vehicle Support
|
||||||
|
|
||||||
|
|
|
@ -689,7 +689,7 @@ CONFIG_OVMS_SC_GPL_WOLF=y
|
||||||
# Vehicle Support
|
# Vehicle Support
|
||||||
#
|
#
|
||||||
CONFIG_OVMS_VEHICLE_NONE=y
|
CONFIG_OVMS_VEHICLE_NONE=y
|
||||||
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2=y
|
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD=y
|
||||||
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
|
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
|
||||||
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
|
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
|
||||||
|
|
||||||
|
|
|
@ -660,7 +660,7 @@ CONFIG_OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM_BLOCKSIZE=32
|
||||||
# Vehicle Support
|
# Vehicle Support
|
||||||
#
|
#
|
||||||
CONFIG_OVMS_VEHICLE_NONE=y
|
CONFIG_OVMS_VEHICLE_NONE=y
|
||||||
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2=y
|
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD=y
|
||||||
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
|
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
|
||||||
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
|
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
|
||||||
|
|
||||||
|
|
|
@ -660,7 +660,7 @@ CONFIG_OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM_BLOCKSIZE=32
|
||||||
# Vehicle Support
|
# Vehicle Support
|
||||||
#
|
#
|
||||||
CONFIG_OVMS_VEHICLE_NONE=y
|
CONFIG_OVMS_VEHICLE_NONE=y
|
||||||
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2=y
|
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD=y
|
||||||
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
|
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
|
||||||
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
|
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
|
||||||
|
|
||||||
|
|
|
@ -660,7 +660,7 @@ CONFIG_OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM_BLOCKSIZE=32
|
||||||
# Vehicle Support
|
# Vehicle Support
|
||||||
#
|
#
|
||||||
CONFIG_OVMS_VEHICLE_NONE=y
|
CONFIG_OVMS_VEHICLE_NONE=y
|
||||||
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2=y
|
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD=y
|
||||||
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
|
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
|
||||||
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
|
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
|
||||||
|
|
||||||
|
|
|
@ -3,36 +3,36 @@ open the door.
|
||||||
No polling was active at this state. Interesting....
|
No polling was active at this state. Interesting....
|
||||||
|
|
||||||
Try1:
|
Try1:
|
||||||
I (19658504) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 43 00 32 5c 9a
|
I (19658504) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 43 00 32 5c 9a
|
||||||
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
|
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
|
||||||
Data: 0x00325c9a --> 3300506 x 0.001 -> 3300,506 kWh
|
Data: 0x00325c9a --> 3300506 x 0.001 -> 3300,506 kWh
|
||||||
I (19659104) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 45 00 36 5f 6b
|
I (19659104) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 45 00 36 5f 6b
|
||||||
0x9245 Cumulated energy in discharge:CD mode(Zxx_kwh_dch_cd)
|
0x9245 Cumulated energy in discharge:CD mode(Zxx_kwh_dch_cd)
|
||||||
Data: 0x00365f6b --> 3563371 x 0.001 -> 3563,371 kWh
|
Data: 0x00365f6b --> 3563371 x 0.001 -> 3563,371 kWh
|
||||||
I (19659704) v-zoe-ph2: PID:18daf1db DATA: 07 62 91 cf 90 29 93 ff
|
I (19659704) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 91 cf 90 29 93 ff
|
||||||
0x91cf Battery mileage(Zxx_dist_pack_mem)
|
0x91cf Battery mileage(Zxx_dist_pack_mem)
|
||||||
Data: 0x902993ff --> -1876323329 x 0.03125 --> -58635104,0312 + 67108864 --> 8473759,96875 (Implausible, calculation error or something)
|
Data: 0x902993ff --> -1876323329 x 0.03125 --> -58635104,0312 + 67108864 --> 8473759,96875 (Implausible, calculation error or something)
|
||||||
I (19660304) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1b f8 aa aa
|
I (19660304) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1b f8 aa aa
|
||||||
I (19660904) v-zoe-ph2: PID:18daf1db DATA: 06 62 91 c1 0c 86 30 aa
|
I (19660904) v-zoe-ph2-obd: PID:18daf1db DATA: 06 62 91 c1 0c 86 30 aa
|
||||||
|
|
||||||
I (19661504) v-zoe-ph2: PID:18daf1db DATA: 10 1c 62 90 1b 32 39 35 - Long ISOTP/UDS Frame 1
|
I (19661504) v-zoe-ph2-obd: PID:18daf1db DATA: 10 1c 62 90 1b 32 39 35 - Long ISOTP/UDS Frame 1
|
||||||
I (19661614) v-zoe-ph2: PID:18daf1db DATA: 21 31 30 35 39 32 38 52 - Long ISOTP/UDS Frame 2
|
I (19661614) v-zoe-ph2-obd: PID:18daf1db DATA: 21 31 30 35 39 32 38 52 - Long ISOTP/UDS Frame 2
|
||||||
I (19661724) v-zoe-ph2: PID:18daf1db DATA: 22 54 46 30 38 38 33 39 - Long ISOTP/UDS Frame 3
|
I (19661724) v-zoe-ph2-obd: PID:18daf1db DATA: 22 54 46 30 38 38 33 39 - Long ISOTP/UDS Frame 3
|
||||||
I (19661834) v-zoe-ph2: PID:18daf1db DATA: 23 34 46 46 46 46 46 46 - Long ISOTP/UDS Frame 4
|
I (19661834) v-zoe-ph2-obd: PID:18daf1db DATA: 23 34 46 46 46 46 46 46 - Long ISOTP/UDS Frame 4
|
||||||
0x901b DataRead.Battery Identification Number (BIN)
|
0x901b DataRead.Battery Identification Number (BIN)
|
||||||
0x32393531303539323852544630383833393446464646464646 -- Bytes to ASCII --> 295105928RTF088394FFFFFFF
|
0x32393531303539323852544630383833393446464646464646 -- Bytes to ASCII --> 295105928RTF088394FFFFFFF
|
||||||
I (19661944) v-zoe-ph2: PID:18daf1db DATA: 24 46 aa aa aa aa aa aa
|
I (19661944) v-zoe-ph2-obd: PID:18daf1db DATA: 24 46 aa aa aa aa aa aa
|
||||||
|
|
||||||
Try2:
|
Try2:
|
||||||
I (20789504) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
|
I (20789504) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
|
||||||
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
|
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
|
||||||
Data: 0x00325dc9 --> 3300809 x 0.001 -> 3300,809 kWh
|
Data: 0x00325dc9 --> 3300809 x 0.001 -> 3300,809 kWh
|
||||||
I (20790104) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 45 00 36 5f 6b
|
I (20790104) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 45 00 36 5f 6b
|
||||||
I (20790704) v-zoe-ph2: PID:18daf1db DATA: 07 62 91 cf 90 29 93 ff
|
I (20790704) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 91 cf 90 29 93 ff
|
||||||
I (20791304) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1c 2f aa aa
|
I (20791304) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1c 2f aa aa
|
||||||
I (20791904) v-zoe-ph2: PID:18daf1db DATA: 06 62 91 c1 0c 87 85 aa
|
I (20791904) v-zoe-ph2-obd: PID:18daf1db DATA: 06 62 91 c1 0c 87 85 aa
|
||||||
I (20792504) v-zoe-ph2: PID:18daf1db DATA: 10 1c 62 90 1b 32 39 35
|
I (20792504) v-zoe-ph2-obd: PID:18daf1db DATA: 10 1c 62 90 1b 32 39 35
|
||||||
I (20792614) v-zoe-ph2: PID:18daf1db DATA: 21 31 30 35 39 32 38 52
|
I (20792614) v-zoe-ph2-obd: PID:18daf1db DATA: 21 31 30 35 39 32 38 52
|
||||||
I (20792724) v-zoe-ph2: PID:18daf1db DATA: 22 54 46 30 38 38 33 39
|
I (20792724) v-zoe-ph2-obd: PID:18daf1db DATA: 22 54 46 30 38 38 33 39
|
||||||
I (20792834) v-zoe-ph2: PID:18daf1db DATA: 23 34 46 46 46 46 46 46
|
I (20792834) v-zoe-ph2-obd: PID:18daf1db DATA: 23 34 46 46 46 46 46 46
|
||||||
I (20792944) v-zoe-ph2: PID:18daf1db DATA: 24 46 aa aa aa aa aa aa
|
I (20792944) v-zoe-ph2-obd: PID:18daf1db DATA: 24 46 aa aa aa aa aa aa
|
||||||
|
|
|
@ -3,48 +3,48 @@ Wallbox (openWB, CP disconnect).
|
||||||
No polling was active at this state. Interesting....
|
No polling was active at this state. Interesting....
|
||||||
|
|
||||||
Try1:
|
Try1:
|
||||||
I (19804504) v-zoe-ph2: PID:18daf1db DATA: 05 62 92 10 00 6d aa aa
|
I (19804504) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 92 10 00 6d aa aa
|
||||||
0x9210 Overall number of complete charge(Zxx_full_chg_ctr)
|
0x9210 Overall number of complete charge(Zxx_full_chg_ctr)
|
||||||
Data: 0x006d --> 109
|
Data: 0x006d --> 109
|
||||||
I (19805104) v-zoe-ph2: PID:18daf1db DATA: 05 62 92 15 00 87 aa aa
|
I (19805104) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 92 15 00 87 aa aa
|
||||||
I (19805704) v-zoe-ph2: PID:18daf1db DATA: 10 35 62 91 d1 00 00 00
|
I (19805704) v-zoe-ph2-obd: PID:18daf1db DATA: 10 35 62 91 d1 00 00 00
|
||||||
I (19805804) v-zoe-ph2: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
|
I (19805804) v-zoe-ph2-obd: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
|
||||||
I (19805914) v-zoe-ph2: PID:18daf1db DATA: 22 00 0d 00 1e 00 13 00
|
I (19805914) v-zoe-ph2-obd: PID:18daf1db DATA: 22 00 0d 00 1e 00 13 00
|
||||||
I (19806024) v-zoe-ph2: PID:18daf1db DATA: 23 00 00 02 01 16 01 86
|
I (19806024) v-zoe-ph2-obd: PID:18daf1db DATA: 23 00 00 02 01 16 01 86
|
||||||
I (19806134) v-zoe-ph2: PID:18daf1db DATA: 24 02 19 00 31 00 00 01
|
I (19806134) v-zoe-ph2-obd: PID:18daf1db DATA: 24 02 19 00 31 00 00 01
|
||||||
I (19806244) v-zoe-ph2: PID:18daf1db DATA: 25 78 02 9e 03 b6 00 44
|
I (19806244) v-zoe-ph2-obd: PID:18daf1db DATA: 25 78 02 9e 03 b6 00 44
|
||||||
I (19806354) v-zoe-ph2: PID:18daf1db DATA: 26 00 00 00 02 00 32 00
|
I (19806354) v-zoe-ph2-obd: PID:18daf1db DATA: 26 00 00 00 02 00 32 00
|
||||||
I (19806464) v-zoe-ph2: PID:18daf1db DATA: 27 13 00 01 00 00 aa aa
|
I (19806464) v-zoe-ph2-obd: PID:18daf1db DATA: 27 13 00 01 00 00 aa aa
|
||||||
I (19806904) v-zoe-ph2: PID:18daf1db DATA: 10 35 62 91 d2 00 00 00
|
I (19806904) v-zoe-ph2-obd: PID:18daf1db DATA: 10 35 62 91 d2 00 00 00
|
||||||
I (19807004) v-zoe-ph2: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
|
I (19807004) v-zoe-ph2-obd: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
|
||||||
I (19807114) v-zoe-ph2: PID:18daf1db DATA: 22 00 02 00 04 00 02 00
|
I (19807114) v-zoe-ph2-obd: PID:18daf1db DATA: 22 00 02 00 04 00 02 00
|
||||||
I (19807224) v-zoe-ph2: PID:18daf1db DATA: 23 00 00 00 00 5b 00 a1
|
I (19807224) v-zoe-ph2-obd: PID:18daf1db DATA: 23 00 00 00 00 5b 00 a1
|
||||||
I (19807334) v-zoe-ph2: PID:18daf1db DATA: 24 00 b0 00 1d 00 00 00
|
I (19807334) v-zoe-ph2-obd: PID:18daf1db DATA: 24 00 b0 00 1d 00 00 00
|
||||||
I (19807454) v-zoe-ph2: PID:18daf1db DATA: 25 bd 01 58 01 ba 00 68
|
I (19807454) v-zoe-ph2-obd: PID:18daf1db DATA: 25 bd 01 58 01 ba 00 68
|
||||||
I (19807554) v-zoe-ph2: PID:18daf1db DATA: 26 00 00 00 01 00 0d 00
|
I (19807554) v-zoe-ph2-obd: PID:18daf1db DATA: 26 00 00 00 01 00 0d 00
|
||||||
I (19807664) v-zoe-ph2: PID:18daf1db DATA: 27 02 00 02 00 00 aa aa
|
I (19807664) v-zoe-ph2-obd: PID:18daf1db DATA: 27 02 00 02 00 00 aa aa
|
||||||
I (19808104) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1b f7 aa aa
|
I (19808104) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1b f7 aa aa
|
||||||
|
|
||||||
Try2:
|
Try2:
|
||||||
I (21284064) v-zoe-ph2: PID:18daf1db DATA: 05 62 92 10 00 6d aa aa
|
I (21284064) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 92 10 00 6d aa aa
|
||||||
I (21284664) v-zoe-ph2: PID:18daf1db DATA: 05 62 92 15 00 88 aa aa
|
I (21284664) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 92 15 00 88 aa aa
|
||||||
I (21285264) v-zoe-ph2: PID:18daf1db DATA: 10 35 62 91 d1 00 00 00
|
I (21285264) v-zoe-ph2-obd: PID:18daf1db DATA: 10 35 62 91 d1 00 00 00
|
||||||
I (21285374) v-zoe-ph2: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
|
I (21285374) v-zoe-ph2-obd: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
|
||||||
I (21285484) v-zoe-ph2: PID:18daf1db DATA: 22 00 0d 00 1e 00 13 00
|
I (21285484) v-zoe-ph2-obd: PID:18daf1db DATA: 22 00 0d 00 1e 00 13 00
|
||||||
I (21285594) v-zoe-ph2: PID:18daf1db DATA: 23 00 00 02 01 16 01 86
|
I (21285594) v-zoe-ph2-obd: PID:18daf1db DATA: 23 00 00 02 01 16 01 86
|
||||||
I (21285704) v-zoe-ph2: PID:18daf1db DATA: 24 02 19 00 31 00 00 01
|
I (21285704) v-zoe-ph2-obd: PID:18daf1db DATA: 24 02 19 00 31 00 00 01
|
||||||
I (21285814) v-zoe-ph2: PID:18daf1db DATA: 25 78 02 9e 03 b7 00 44
|
I (21285814) v-zoe-ph2-obd: PID:18daf1db DATA: 25 78 02 9e 03 b7 00 44
|
||||||
I (21285924) v-zoe-ph2: PID:18daf1db DATA: 26 00 00 00 02 00 32 00
|
I (21285924) v-zoe-ph2-obd: PID:18daf1db DATA: 26 00 00 00 02 00 32 00
|
||||||
I (21286034) v-zoe-ph2: PID:18daf1db DATA: 27 13 00 01 00 00 aa aa
|
I (21286034) v-zoe-ph2-obd: PID:18daf1db DATA: 27 13 00 01 00 00 aa aa
|
||||||
I (21286474) v-zoe-ph2: PID:18daf1db DATA: 10 35 62 91 d2 00 00 00
|
I (21286474) v-zoe-ph2-obd: PID:18daf1db DATA: 10 35 62 91 d2 00 00 00
|
||||||
I (21286574) v-zoe-ph2: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
|
I (21286574) v-zoe-ph2-obd: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
|
||||||
I (21286684) v-zoe-ph2: PID:18daf1db DATA: 22 00 02 00 04 00 02 00
|
I (21286684) v-zoe-ph2-obd: PID:18daf1db DATA: 22 00 02 00 04 00 02 00
|
||||||
I (21286794) v-zoe-ph2: PID:18daf1db DATA: 23 00 00 00 00 5b 00 a1
|
I (21286794) v-zoe-ph2-obd: PID:18daf1db DATA: 23 00 00 00 00 5b 00 a1
|
||||||
I (21286904) v-zoe-ph2: PID:18daf1db DATA: 24 00 b0 00 1d 00 00 00
|
I (21286904) v-zoe-ph2-obd: PID:18daf1db DATA: 24 00 b0 00 1d 00 00 00
|
||||||
I (21287014) v-zoe-ph2: PID:18daf1db DATA: 25 bd 01 58 01 ba 00 68
|
I (21287014) v-zoe-ph2-obd: PID:18daf1db DATA: 25 bd 01 58 01 ba 00 68
|
||||||
I (21287124) v-zoe-ph2: PID:18daf1db DATA: 26 00 00 00 01 00 0d 00
|
I (21287124) v-zoe-ph2-obd: PID:18daf1db DATA: 26 00 00 00 01 00 0d 00
|
||||||
I (21287234) v-zoe-ph2: PID:18daf1db DATA: 27 02 00 02 00 00 aa aa
|
I (21287234) v-zoe-ph2-obd: PID:18daf1db DATA: 27 02 00 02 00 00 aa aa
|
||||||
I (21287674) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1c 2e aa aa
|
I (21287674) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1c 2e aa aa
|
||||||
|
|
||||||
Wirehshark Dump with ISOTP and UDS decoding:
|
Wirehshark Dump with ISOTP and UDS decoding:
|
||||||
|
|
||||||
|
|
|
@ -2,22 +2,22 @@ Zoe was charging while locked and I stopped charging with my wallbox.
|
||||||
No polling was active at this state. Interesting....
|
No polling was active at this state. Interesting....
|
||||||
|
|
||||||
Try1:
|
Try1:
|
||||||
I (20114294) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
|
I (20114294) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
|
||||||
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
|
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
|
||||||
Data: 0x00325dc9 --> 3300809 x 0.001 -> 3300,809 kWh
|
Data: 0x00325dc9 --> 3300809 x 0.001 -> 3300,809 kWh
|
||||||
I (20114894) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1c 30 aa aa
|
I (20114894) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1c 30 aa aa
|
||||||
0x9001 Battery SOC(Zxx_bsoc_avg)
|
0x9001 Battery SOC(Zxx_bsoc_avg)
|
||||||
Data: 0x1c30 --> 7216 --> 72,16%
|
Data: 0x1c30 --> 7216 --> 72,16%
|
||||||
I (20115494) v-zoe-ph2: PID:18daf1db DATA: 05 62 91 bc 03 e8 aa aa
|
I (20115494) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 91 bc 03 e8 aa aa
|
||||||
I (20116094) v-zoe-ph2: PID:18daf1db DATA: 05 62 91 bd 03 e8 aa aa
|
I (20116094) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 91 bd 03 e8 aa aa
|
||||||
I (20150984) v-zoe-ph2: PID:18daf1da DATA: 06 62 20 06 00 4d d4 aa
|
I (20150984) v-zoe-ph2-obd: PID:18daf1da DATA: 06 62 20 06 00 4d d4 aa
|
||||||
|
|
||||||
Try2:
|
Try2:
|
||||||
I (21594984) v-zoe-ph2: PID:18daf1da DATA: 06 62 20 06 00 4d d4 aa
|
I (21594984) v-zoe-ph2-obd: PID:18daf1da DATA: 06 62 20 06 00 4d d4 aa
|
||||||
I (21634064) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
|
I (21634064) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
|
||||||
I (21634664) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1c 2b aa aa
|
I (21634664) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1c 2b aa aa
|
||||||
I (21635264) v-zoe-ph2: PID:18daf1db DATA: 05 62 91 bc 03 e8 aa aa
|
I (21635264) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 91 bc 03 e8 aa aa
|
||||||
I (21635864) v-zoe-ph2: PID:18daf1db DATA: 05 62 91 bd 03 e8 aa aa
|
I (21635864) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 91 bd 03 e8 aa aa
|
||||||
|
|
||||||
Wirehshark Dump with ISOTP and UDS decoding:
|
Wirehshark Dump with ISOTP and UDS decoding:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue