Skip to content

Commit

Permalink
configurable CAN controller modules
Browse files Browse the repository at this point in the history
  • Loading branch information
skippermeister committed Aug 17, 2024
1 parent db20f07 commit 5a665a7
Show file tree
Hide file tree
Showing 8 changed files with 673 additions and 570 deletions.
18 changes: 2 additions & 16 deletions include/PinMapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,7 @@ struct CHARGER_t {
struct {
int8_t scl;
int8_t sda;
} i2c0;
struct {
int8_t scl;
int8_t sda;
} i2c1;
} i2c;
};
#if defined(USE_CHARGER_HUAWEI)
int8_t power;
Expand All @@ -56,11 +52,7 @@ struct Battery_t {
struct {
int8_t scl;
int8_t sda;
} i2c0;
struct {
int8_t scl;
int8_t sda;
} i2c1;
} i2c;
#endif
#if defined(USE_PYLONTECH_RS485_RECEIVER) || defined(USE_DALYBMS_CONTROLLER) || defined(USE_JKBMS_CONTROLLER)
struct {
Expand Down Expand Up @@ -149,12 +141,6 @@ struct PinMapping_t {

CHARGER_t charger;

int8_t i2c0_scl;
int8_t i2c0_sda;

int8_t i2c1_scl;
int8_t i2c1_sda;

int8_t pre_charge;
int8_t full_power;

Expand Down
50 changes: 38 additions & 12 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
; https://docs.platformio.org/page/projectconf.html

[platformio]
;default_envs = my_very_special_board
default_envs = my_very_special_board
;default_envs = opendtufusionv2
default_envs = generic_esp32s3_16mb_psram_usb
;default_envs = generic_esp32s3_16mb_psram_usb
;default_envs = generic_esp32_4mb_no_ota
extra_configs =
platformio_override.ini
Expand Down Expand Up @@ -109,13 +109,15 @@ build_flags = ${env.build_flags}
-DUSE_RADIO_NRF=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DUSE_CHARGER_CAN0=1

[env:generic_esp32_4mb_no_ota]
board = esp32dev
board_build.partitions = partitions_custom_4mb_no_ota.csv
build_flags = ${env.build_flags}
-DUSE_RADIO_NRF=1
-DUSE_RADIO_CMT=1
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DUSE_JKBMS_CONTROLLER=1
-DUSE_DALYBMS_CONTROLLER=1
Expand All @@ -131,6 +133,7 @@ board = esp32dev
build_flags = ${env.build_flags}
-DUSE_RADIO_NRF=1
-DUSE_RADIO_CMT=1
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DUSE_JKBMS_CONTROLLER=1
-DUSE_DALYBMS_CONTROLLER=1
Expand All @@ -152,6 +155,7 @@ build_flags = ${env.build_flags}
-DUSE_SURPLUSPOWER=1
-DUSE_RADIO_NRF=1
-DUSE_RADIO_CMT=1
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DUSE_MQTT_BATTERY=1
-DUSE_JKBMS_CONTROLLER=1
Expand All @@ -174,6 +178,7 @@ board_build.partitions = partitions_custom_4mb_no_ota.csv
custom_patches = ${env.custom_patches}
build_flags = ${env.build_flags}
-DUSE_RADIO_NRF=1
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DUSE_MQTT_BATTERY=1
-DUSE_JKBMS_CONTROLLER=1
Expand All @@ -192,6 +197,7 @@ board_build.partitions = partitions_custom_4mb_no_ota.csv
custom_patches = ${env.custom_patches}
build_flags = ${env.build_flags}
-DUSE_RADIO_NRF=1
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DUSE_MQTT_BATTERY=1
-DUSE_JKBMS_CONTROLLER=1
Expand All @@ -212,6 +218,7 @@ board = esp32-s3-devkitc-1
build_flags = ${env.build_flags}
-DUSE_RADIO_NRF=1
-DUSE_RADIO_CMT=1
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DUSE_MQTT_BATTERY=1
-DUSE_JKBMS_CONTROLLER=1
Expand Down Expand Up @@ -245,6 +252,7 @@ build_flags = ${env.build_flags}
-DCMT_GPIO2=-1
-DCMT_GPIO3=-1
-DCMT_SDIO=-1
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DBATTERY_PIN_RX=-1 ; RS485 HW Serial (Pylontech Battery via RS485, Daly BMS via RS485/RS232 or JK BMS via RS485/RS232)
-DBATTERY_PIN_TX=-1
Expand All @@ -255,6 +263,8 @@ build_flags = ${env.build_flags}
-DUSE_DALYBMS_CONTROLLER=1
-DUSE_VICTRON_SMART_SHUNT=1
-DUSE_PYTES_CAN_RECEIVER=1
-DUSE_BATTERY_MCP2515=1
-DUSE_BATTERY_I2C=1
-DCAN0_PIN_RX=-1 ; CAN0 connected to Meanwell Charger
-DCAN0_PIN_TX=-1 ; CAN0 connected to Meanwell Charger
-DMCP2515_PIN_MISO=-1
Expand Down Expand Up @@ -298,6 +308,7 @@ upload_protocol = esp-builtin
monitor_port = COM6
;upload_port = COM5
build_flags = ${env.build_flags}
-DUSE_SURPLUSPOWER=1
-DUSE_RADIO_NRF=1
-DNRF24_PIN_MISO=-1
-DNRF24_PIN_MOSI=-1
Expand All @@ -312,6 +323,9 @@ build_flags = ${env.build_flags}
-DCMT_GPIO2=-1
-DCMT_GPIO3=-1
-DCMT_SDIO=-1
-DUSE_CHARGER_CAN0=1
-DUSE_CHARGER_MCP2515=1
-DUSE_CHARGER_I2C=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DBATTERY_PIN_RX=-1 ; RS485 HW Serial (Pylontech Battery via RS485, Daly BMS via RS485/RS232 or JK BMS via RS485/RS232)
-DBATTERY_PIN_TX=-1
Expand All @@ -322,6 +336,9 @@ build_flags = ${env.build_flags}
-DUSE_DALYBMS_CONTROLLER=1
-DUSE_VICTRON_SMART_SHUNT=1
-DUSE_PYTES_CAN_RECEIVER=1
-DUSE_BATTERY_CAN0=1
-DUSE_BATTERY_MCP2515=1
-DUSE_BATTERY_I2C=1
-DCAN0_PIN_RX=-1 ; CAN0 connected to Meanwell Charger
-DCAN0_PIN_TX=-1 ; CAN0 connected to Meanwell Charger
-DMCP2515_PIN_MISO=-1
Expand Down Expand Up @@ -365,6 +382,7 @@ build_flags = ${env.build_flags}
-DNRF24_PIN_IRQ=13
-DNRF24_PIN_CE=16
-DNRF24_PIN_CS=5
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DUSE_PROMETHEUS=1
Expand All @@ -382,6 +400,7 @@ build_flags = ${env.build_flags}
-DNRF24_PIN_IRQ=13
-DNRF24_PIN_CE=16
-DNRF24_PIN_CS=17
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DUSE_PROMETHEUS=1
Expand All @@ -399,8 +418,13 @@ build_flags =
-DNRF24_PIN_IRQ=16
-DNRF24_PIN_CE=17
-DNRF24_PIN_CS=5
-DVICTRON_PIN_TX=21
-DVICTRON_PIN_RX=22
-DUSE_CHARGER_CAN0=1
; -DMCP2515_PIN_MISO=12
; -DMCP2515_PIN_MOSI=13
; -DMCP2515_PIN_SCLK=26
; -DMCP2515_PIN_IRQ=25
; -DMCP2515_PIN_CS=15
; -DMCP2515_PIN_POWER=33
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DBATTERY_PIN_RX=27 ; RS485 RX
Expand All @@ -410,12 +434,8 @@ build_flags =
-DCAN0_PIN_RX=26 ; CAN0 (internal CAN Bus) connected to Meanwell Charger
-DCAN0_PIN_TX=27
-DCAN0_PIN_STB=-1
; -DHUAWEI_PIN_MISO=12
; -DHUAWEI_PIN_MOSI=13
; -DHUAWEI_PIN_SCLK=26
; -DHUAWEI_PIN_IRQ=25
; -DHUAWEI_PIN_CS=15
; -DHUAWEI_PIN_POWER=33
-DVICTRON_PIN_TX=21
-DVICTRON_PIN_RX=22
-DUSE_PROMETHEUS=1

[env:wt32_eth01]
Expand All @@ -430,6 +450,7 @@ build_flags = ${env.build_flags}
-DNRF24_PIN_IRQ=33
-DNRF24_PIN_CE=14
-DNRF24_PIN_CS=15
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DUSE_PROMETHEUS=1
Expand All @@ -447,6 +468,7 @@ build_flags = ${env.build_flags}
-DNRF24_PIN_IRQ=3
-DNRF24_PIN_CE=4
-DNRF24_PIN_CS=5
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DUSE_PROMETHEUS=1
Expand All @@ -465,6 +487,7 @@ build_flags = ${env.build_flags}
-DNRF24_PIN_IRQ=16
-DNRF24_PIN_CE=17
-DNRF24_PIN_CS=5
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DUSE_PROMETHEUS=1
Expand All @@ -481,6 +504,7 @@ build_flags = ${env.build_flags}
-DNRF24_PIN_CS=10
-DNRF24_PIN_IRQ=4
-DNRF24_PIN_CE=5
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DUSE_PROMETHEUS=1
Expand All @@ -499,6 +523,7 @@ build_flags = ${env.build_flags}
-DNRF24_PIN_IRQ=47
-DNRF24_PIN_CE=38
-DNRF24_PIN_CS=37
-DUSE_CHARGER_CAN0=1
-DUSE_PYLONTECH_RS485_RECEIVER=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DUSE_LED_SINGLE=1
Expand All @@ -521,6 +546,9 @@ build_flags = ${env.build_flags}
-DNRF24_PIN_IRQ=47
-DNRF24_PIN_CE=38
-DNRF24_PIN_CS=37
-DUSE_CHARGER_CAN0=1
-DCAN0_PIN_RX=13 ; CAN0 (internal CAN/Iso: CAN RX) connected to Meanwell Charger
-DCAN0_PIN_TX=14 ; CAN0 (internal CAN/Iso: CAN TX) connected to Meanwell Charger
-DUSE_PYLONTECH_RS485_RECEIVER=1
-DBATTERY_PIN_RX=16 ; RS485 HW Serial (Pylontech Battery via RS485, Daly BMS via RS485/RS232 or JK BMS via RS485/RS232)
; GPIO15 is unused and configured to input mode (standard after CPU reset).
Expand All @@ -532,8 +560,6 @@ build_flags = ${env.build_flags}
-DUSE_DALYBMS_CONTROLLER=1
-DUSE_VICTRON_SMART_SHUNT=1
; -DUSE_PYTES_CAN_RECEIVER=1
-DCAN0_PIN_RX=13 ; CAN0 (internal CAN/Iso: CAN RX) connected to Meanwell Charger
-DCAN0_PIN_TX=14 ; CAN0 (internal CAN/Iso: CAN TX) connected to Meanwell Charger
-DVICTRON_PIN_TX=43
-DVICTRON_PIN_RX=44
-DVICTRON_PIN_TX2=9 ; (CAN/Iso: Iso1 Ext RX / ESP TX)
Expand Down
1 change: 1 addition & 0 deletions platformio_override.ini
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ build_flags = ${env.build_flags}
-DMCP2515_PIN_CS=15
-DMCP2515_PIN_IRQ=35 ; GPIO35 input only
-DUSE_CHARGER_MEANWELL=1
-DUSE_CHARGER_CAN0=1
; -DUSE_CHARGER_HUAWEI=1 ; not implemented and not yet supported
; -DHUAWEI_PIN_POWER=32
-DCAN0_PIN_RX=26 ; CAN0 (internal CAN Bus) connected to Meanwell Charger
Expand Down
Loading

0 comments on commit 5a665a7

Please sign in to comment.