Compare commits
3 Commits
f0aa4187c7
...
9eb77d6aef
Author | SHA1 | Date |
---|---|---|
Carsten Schmiemann | 9eb77d6aef | |
Carsten Schmiemann | 5c2f3497db | |
Carsten Schmiemann | 69b4d25e62 |
|
@ -166,8 +166,46 @@ void OvmsVehicleRenaultZoePh2CAN::shell_can_request(int verbosity, OvmsWriter* w
|
|||
}
|
||||
|
||||
OvmsVehicle::vehicle_command_t OvmsVehicleRenaultZoePh2CAN::CommandPreHeat(bool climatecontrolon) {
|
||||
//ToDo: Sniff TCU packets for preheat/cool, OVMS is connected on TCU port
|
||||
return NotImplemented;
|
||||
|
||||
//Wake Up Packet
|
||||
uint8_t data[8] = {0x83, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
canbus *obd;
|
||||
obd = m_can1;
|
||||
|
||||
for (int i=0; i<40; i++)
|
||||
{
|
||||
obd->WriteStandard(0x55C, 8, data);
|
||||
}
|
||||
obd->WriteStandard(0x6f9, 8, data);
|
||||
data[0] = 0x40;
|
||||
data[1] = 0x80;
|
||||
|
||||
vTaskDelay(50 / portTICK_PERIOD_MS);
|
||||
obd->WriteStandard(0x43c, 8, data);
|
||||
|
||||
data = {0xe4, 0x64, 0x70, 0x00, 0x28, 0x84, 0x07, 0x10};
|
||||
obd->WriteStandard(0x46f, 8, data);
|
||||
|
||||
data = {0x84, 0xc7, 0x07, 0x55, 0xe0, 0x0d, 0x00, 0xc4};
|
||||
obd->WriteStandard(0x47d, 8, data);
|
||||
|
||||
data = {0x03, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
obd->WriteStandard(0x46a, 8, data);
|
||||
|
||||
data = {0x03, 0x02, 0x04, 0x02, 0x06, 0x00, 0x20, 0x08};
|
||||
obd->WriteStandard(0x46c, 8, data);
|
||||
|
||||
data = {0x10, 0xc9, 0x50, 0x21, 0x01, 0x20, 0x00, 0x00};
|
||||
obd->WriteStandard(0x482, 8, data);
|
||||
|
||||
data = {0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00};
|
||||
obd->WriteStandard(0x5b1, 8, data);
|
||||
|
||||
data = {0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00};
|
||||
obd->WriteStandard(0x5ba, 8, data);
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
||||
OvmsVehicle::vehicle_command_t OvmsVehicleRenaultZoePh2CAN::CommandWakeup() {
|
||||
|
|
|
@ -63,6 +63,9 @@ OvmsVehicleRenaultZoePh2CAN::OvmsVehicleRenaultZoePh2CAN() {
|
|||
// CAN3: Init Zoe Ph2 V1-CAN bus
|
||||
RegisterCanBus(3, CAN_MODE_LISTEN, CAN_SPEED_500KBPS);
|
||||
|
||||
cmd_zoe_ph2 = MyCommandApp.RegisterCommand("xrz2c", "Renault Zoe Phase 2");
|
||||
CanInit();
|
||||
|
||||
POLLSTATE_OFF;
|
||||
ESP_LOGI(TAG, "Pollstate switched to OFF");
|
||||
|
||||
|
@ -144,7 +147,7 @@ void OvmsVehicleRenaultZoePh2CAN::ZoeWakeUp() {
|
|||
* Handles incoming CAN-frames on bus 1, connected to M-CAN
|
||||
*/
|
||||
void OvmsVehicleRenaultZoePh2CAN::IncomingFrameCan1(CAN_frame_t* p_frame) {
|
||||
uint8_t *data = p_frame->data.u8;
|
||||
//uint8_t *data = p_frame->data.u8;
|
||||
//ESP_LOGI(TAG, "M-CAN: 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]);
|
||||
//tooooooo many packets, OVMS will crash with logging
|
||||
|
||||
|
@ -160,7 +163,7 @@ void OvmsVehicleRenaultZoePh2CAN::IncomingFrameCan1(CAN_frame_t* p_frame) {
|
|||
* Handles incoming CAN-frames on bus 2, connected to EXT-CAN
|
||||
*/
|
||||
void OvmsVehicleRenaultZoePh2CAN::IncomingFrameCan2(CAN_frame_t* p_frame) {
|
||||
uint8_t *data = p_frame->data.u8;
|
||||
//uint8_t *data = p_frame->data.u8;
|
||||
//ESP_LOGI(TAG, "V1-CAN: 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]);
|
||||
//tooooooo many packets, OVMS will crash with logging
|
||||
|
||||
|
@ -171,7 +174,7 @@ void OvmsVehicleRenaultZoePh2CAN::IncomingFrameCan2(CAN_frame_t* p_frame) {
|
|||
* Handles incoming CAN-frames on bus 3, connected to V1-CAN
|
||||
*/
|
||||
void OvmsVehicleRenaultZoePh2CAN::IncomingFrameCan3(CAN_frame_t* p_frame) {
|
||||
uint8_t *data = p_frame->data.u8;
|
||||
//uint8_t *data = p_frame->data.u8;
|
||||
//ESP_LOGI(TAG, "V1-CAN: 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]);
|
||||
//tooooooo many packets, OVMS will crash with logging
|
||||
|
||||
|
@ -395,6 +398,18 @@ void OvmsVehicleRenaultZoePh2CAN::Ticker1(uint32_t ticker) {
|
|||
|
||||
}
|
||||
|
||||
OvmsVehicleRenaultZoePh2CAN* OvmsVehicleRenaultZoePh2CAN::GetInstance(OvmsWriter* writer /*=NULL*/)
|
||||
{
|
||||
OvmsVehicleRenaultZoePh2CAN* zoe_ph2_can = (OvmsVehicleRenaultZoePh2CAN*) MyVehicleFactory.ActiveVehicle();
|
||||
string type = StdMetrics.ms_v_type->AsString();
|
||||
if (!zoe_ph2_can || type != "RZ2C") {
|
||||
if (writer)
|
||||
writer->puts("Error: Renault Zoe Ph2 (CAN) vehicle module not selected");
|
||||
return NULL;
|
||||
}
|
||||
return zoe_ph2_can;
|
||||
}
|
||||
|
||||
class OvmsVehicleRenaultZoePh2CANInit {
|
||||
public: OvmsVehicleRenaultZoePh2CANInit();
|
||||
} MyOvmsVehicleRenaultZoePh2CANInit __attribute__ ((init_priority (9000)));
|
||||
|
|
Loading…
Reference in New Issue