Initial config for Renault Zoe
This commit is contained in:
@@ -46,11 +46,14 @@ Screen list
|
|||||||
|
|
||||||
## Release notes
|
## Release notes
|
||||||
|
|
||||||
### v1.7.3 2020-11-11
|
### v1.7.4 2020-11-12
|
||||||
- Headlights reminder (if drive mode & headlights are off)
|
- Initial config for Renault ZOE 22kWh
|
||||||
- ODB response analyzer. Please help community to decode unknown values like BMS valves, heater ON switch,...
|
- ODB response analyzer. Please help community to decode unknown values like BMS valves, heater ON switch,...
|
||||||
https://docs.google.com/spreadsheets/d/1eT2R8hmsD1hC__9LtnkZ3eDjLcdib9JR-3Myc97jy8M/edit?usp=sharing
|
https://docs.google.com/spreadsheets/d/1eT2R8hmsD1hC__9LtnkZ3eDjLcdib9JR-3Myc97jy8M/edit?usp=sharing
|
||||||
|
|
||||||
|
### v1.7.3 2020-11-11
|
||||||
|
- Headlights reminder (if drive mode & headlights are off)
|
||||||
|
|
||||||
### v1.7.2 2020-11-10
|
### v1.7.2 2020-11-10
|
||||||
- improved charging graph
|
- improved charging graph
|
||||||
|
|
||||||
|
|||||||
66
car_renault_zoe.h
Normal file
66
car_renault_zoe.h
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
|
||||||
|
#define commandQueueCountRenaultZoe 10
|
||||||
|
#define commandQueueLoopFromRenaultZoe 8
|
||||||
|
|
||||||
|
String commandQueueRenaultZoe[commandQueueCountRenaultZoe] = {
|
||||||
|
"AT Z", // Reset all
|
||||||
|
"AT I", // Print the version ID
|
||||||
|
"AT E0", // Echo off
|
||||||
|
"AT L0", // Linefeeds off
|
||||||
|
"AT S0", // Printing of spaces on
|
||||||
|
"AT SP 6", // Select protocol to ISO 15765-4 CAN (11 bit ID, 500 kbit/s)
|
||||||
|
//"AT AL", // Allow Long (>7 byte) messages
|
||||||
|
//"AT AR", // Automatically receive
|
||||||
|
//"AT H1", // Headers on (debug only)
|
||||||
|
//"AT D1", // Display of the DLC on
|
||||||
|
//"AT CAF0", // Automatic formatting off
|
||||||
|
"AT DP",
|
||||||
|
"AT ST16",
|
||||||
|
|
||||||
|
// Loop from (KIA ENIRO) // TODO
|
||||||
|
// BMS
|
||||||
|
"ATSH7E4",
|
||||||
|
"220101", // power kw, ...
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
Init command queue
|
||||||
|
*/
|
||||||
|
bool activateCommandQueueForRenaultZoe() {
|
||||||
|
|
||||||
|
params.batModuleTempCount = 4;
|
||||||
|
params.batteryTotalAvailableKWh = 22;
|
||||||
|
|
||||||
|
// Empty and fill command queue
|
||||||
|
for (int i = 0; i < 300; i++) {
|
||||||
|
commandQueue[i] = "";
|
||||||
|
}
|
||||||
|
for (int i = 0; i < commandQueueCountRenaultZoe; i++) {
|
||||||
|
commandQueue[i] = commandQueueRenaultZoe[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
commandQueueLoopFrom = commandQueueLoopFromRenaultZoe;
|
||||||
|
commandQueueCount = commandQueueCountRenaultZoe;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Parse merged row
|
||||||
|
*/
|
||||||
|
bool parseRowMergedRenaultZoe() {
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Test data
|
||||||
|
*/
|
||||||
|
bool testDataRenaultZoe() {
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
BIN
dist/enirodashboard.ino.bin
vendored
BIN
dist/enirodashboard.ino.bin
vendored
Binary file not shown.
@@ -35,6 +35,7 @@
|
|||||||
#include "struct.h"
|
#include "struct.h"
|
||||||
#include "car_kia_eniro.h"
|
#include "car_kia_eniro.h"
|
||||||
#include "car_hyundai_ioniq.h"
|
#include "car_hyundai_ioniq.h"
|
||||||
|
#include "car_renault_zoe.h"
|
||||||
#include "car_debug_obd2_kia.h"
|
#include "car_debug_obd2_kia.h"
|
||||||
|
|
||||||
// PLEASE CHANGE THIS SETTING for your BLE4
|
// PLEASE CHANGE THIS SETTING for your BLE4
|
||||||
@@ -120,7 +121,7 @@ typedef struct {
|
|||||||
char serviceUUID[40];
|
char serviceUUID[40];
|
||||||
} MENU_ITEM;
|
} MENU_ITEM;
|
||||||
|
|
||||||
#define menuItemsCount 43
|
#define menuItemsCount 44
|
||||||
bool menuVisible = false;
|
bool menuVisible = false;
|
||||||
uint16_t menuCurrent = 0;
|
uint16_t menuCurrent = 0;
|
||||||
uint8_t menuItemSelected = 0;
|
uint8_t menuItemSelected = 0;
|
||||||
@@ -141,7 +142,8 @@ MENU_ITEM menuItems[menuItemsCount] = {
|
|||||||
{103, 1, -1, "Hyundai Ioniq 2018 28kWh"},
|
{103, 1, -1, "Hyundai Ioniq 2018 28kWh"},
|
||||||
{104, 1, -1, "Kia eNiro 2020 39kWh"},
|
{104, 1, -1, "Kia eNiro 2020 39kWh"},
|
||||||
{105, 1, -1, "Hyundai Kona 2020 39kWh"},
|
{105, 1, -1, "Hyundai Kona 2020 39kWh"},
|
||||||
{106, 1, -1, "Debug OBD2 Kia"},
|
{106, 1, -1, "Renault Zoe 22kWh (DEV)"},
|
||||||
|
{107, 1, -1, "Debug OBD2 Kia"},
|
||||||
|
|
||||||
{300, 3, 0, "<- parent menu"},
|
{300, 3, 0, "<- parent menu"},
|
||||||
{301, 3, -1, "Screen rotation"},
|
{301, 3, -1, "Screen rotation"},
|
||||||
@@ -273,6 +275,9 @@ bool loadSettings() {
|
|||||||
if (settings.carType == CAR_HYUNDAI_IONIQ_2018) {
|
if (settings.carType == CAR_HYUNDAI_IONIQ_2018) {
|
||||||
activateCommandQueueForHyundaiIoniq();
|
activateCommandQueueForHyundaiIoniq();
|
||||||
}
|
}
|
||||||
|
if (settings.carType == CAR_RENAULT_ZOE) {
|
||||||
|
activateCommandQueueForRenaultZoe();
|
||||||
|
}
|
||||||
if (settings.carType == CAR_DEBUG_OBD2_KIA) {
|
if (settings.carType == CAR_DEBUG_OBD2_KIA) {
|
||||||
activateCommandQueueForDebugObd2Kia();
|
activateCommandQueueForDebugObd2Kia();
|
||||||
}
|
}
|
||||||
@@ -1201,7 +1206,8 @@ bool menuItemClick() {
|
|||||||
case 103: settings.carType = CAR_HYUNDAI_IONIQ_2018; break;
|
case 103: settings.carType = CAR_HYUNDAI_IONIQ_2018; break;
|
||||||
case 104: settings.carType = CAR_KIA_ENIRO_2020_39; break;
|
case 104: settings.carType = CAR_KIA_ENIRO_2020_39; break;
|
||||||
case 105: settings.carType = CAR_HYUNDAI_KONA_2020_39; break;
|
case 105: settings.carType = CAR_HYUNDAI_KONA_2020_39; break;
|
||||||
case 106: settings.carType = CAR_DEBUG_OBD2_KIA; break;
|
case 106: settings.carType = CAR_RENAULT_ZOE; break;
|
||||||
|
case 107: settings.carType = CAR_DEBUG_OBD2_KIA; break;
|
||||||
// Screen orientation
|
// Screen orientation
|
||||||
case 3011: settings.displayRotation = 1; tft.setRotation(settings.displayRotation); break;
|
case 3011: settings.displayRotation = 1; tft.setRotation(settings.displayRotation); break;
|
||||||
case 3012: settings.displayRotation = 3; tft.setRotation(settings.displayRotation); break;
|
case 3012: settings.displayRotation = 3; tft.setRotation(settings.displayRotation); break;
|
||||||
@@ -1392,6 +1398,9 @@ bool parseRowMerged() {
|
|||||||
if (settings.carType == CAR_HYUNDAI_IONIQ_2018) {
|
if (settings.carType == CAR_HYUNDAI_IONIQ_2018) {
|
||||||
parseRowMergedHyundaiIoniq();
|
parseRowMergedHyundaiIoniq();
|
||||||
}
|
}
|
||||||
|
if (settings.carType == CAR_RENAULT_ZOE) {
|
||||||
|
parseRowMergedRenaultZoe();
|
||||||
|
}
|
||||||
if (settings.carType == CAR_DEBUG_OBD2_KIA) {
|
if (settings.carType == CAR_DEBUG_OBD2_KIA) {
|
||||||
parseRowMergedDebugObd2Kia();
|
parseRowMergedDebugObd2Kia();
|
||||||
}
|
}
|
||||||
@@ -1414,6 +1423,9 @@ bool testData() {
|
|||||||
if (settings.carType == CAR_HYUNDAI_IONIQ_2018) {
|
if (settings.carType == CAR_HYUNDAI_IONIQ_2018) {
|
||||||
testDataHyundaiIoniq();
|
testDataHyundaiIoniq();
|
||||||
}
|
}
|
||||||
|
if (settings.carType == CAR_RENAULT_ZOE) {
|
||||||
|
testDataRenaultZoe();
|
||||||
|
}
|
||||||
|
|
||||||
redrawScreen(false);
|
redrawScreen(false);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
1
struct.h
1
struct.h
@@ -4,6 +4,7 @@
|
|||||||
#define CAR_HYUNDAI_IONIQ_2018 2
|
#define CAR_HYUNDAI_IONIQ_2018 2
|
||||||
#define CAR_KIA_ENIRO_2020_39 3
|
#define CAR_KIA_ENIRO_2020_39 3
|
||||||
#define CAR_HYUNDAI_KONA_2020_39 4
|
#define CAR_HYUNDAI_KONA_2020_39 4
|
||||||
|
#define CAR_RENAULT_ZOE 5
|
||||||
#define CAR_DEBUG_OBD2_KIA 999
|
#define CAR_DEBUG_OBD2_KIA 999
|
||||||
|
|
||||||
// Commands loop
|
// Commands loop
|
||||||
|
|||||||
Reference in New Issue
Block a user