diy solar

diy solar

DLG E-BOX 48100R, testing and tinkering.

mnd

New Member
Joined
Apr 16, 2021
Messages
75
A post in the now defunct vendor section brought these to my attention and, as they looked to have some interesting features compared to other offerings currently on the market, I thought I'd buy one and test it out (and an inverter, too.)

I'd actually received this order a few weeks ago but the battery had an unfortunate shipping experience and I just received the replacement this evening. I'd recommend avoiding trying to ship single units without a pallet; the packing is more than sufficient when palletized but the weight of a bare box seems like it invites abuse (from gravity). I'll note that the the damage appeared to be limited to a bent case and the battery powered up just fine, but I wasn't comfortable with the potential for hidden problems especially with an in-home installation.

So, things of interest:
  • Better color match with the Schneider Conext gear. :)
  • Smaller size - 100Ah in 2.5U
  • "Pylon" CAN protocol support.
  • RS485 support.
  • Robust battery modules, supporting vertical installation.
Some things of note or concern:
  • Uses Amphenol RADSOK 5.7mm connectors, which are pretty slick but add potential complications to battery wiring.
    • The battery connectors are only rated for 120A and the BMS supports 6 (or 12 depending on whose ad copy you read) units.
    • Batteries are rated for 50A with a surge of 70A. I'll need more batteries to fully power two XW Pros.
  • No onboard DC protection (fuse/breaker). Battery has a switch and a momentary button start/stop the BMS. I'm using external fuses so this omission is fine.
  • BMS/inverter support still undergoing development; some risk of interoperability?
Some things I learned of after ordering:
  • Carry handles; seemed like an extravagence but after carrying stuff down stairs I'll concede that it's nice.
  • All configuration via "Console" RS-232 port!
    • BMS firmware updated over console using XMODEM.
    • Windows and other proprietary software appear not to be needed.
  • Schneider "BMS" support may only work in single inverter mode (for now?)
  • Only one BMS "master" instance per CAN bus?
    • More than six batteries may require multiple "master" batteries.
    • May need some software/hardware to solve?
  • - RS485 MODBUS/ASCII limited success. Still tinkering.
Results, so far...

One battery successfully powered up a (directly connected) XW Pro and the Insight Facility recognized the BMS over CAN without any configuration. (EDIT: I've since added a pre-charge system since the inverter inrush can cause damage.) I need to run an ethernet cable and monkey with VLANs so I can update the inverter firmware and then I'll hook things up via the PDP and see about doing some more testing.

IMG_2347.jpegIMG_2352.jpeg
 
Last edited:
"user" console help output:
Code:
Local command:
bat      Battery data show - bat [pwr][index]
cmdquit  Quit the Console Mode
data     History data load - data [event/history/misc][item]
datalist Show recorded data - datalist [event/history/misc][item/bat][batnun][volt/curr/temp/coul][item]
disp     Display Info at regular intervals - disp [(pwrs pwrNo)/val]/[(bats batNo)/volt/curr/temp]
getpwr   Get power Info - getpwr
help     Help [cmd]
info     Device infomation - info
log      Log information show - log
login    Login Admin mode - login [password]
logout   user mode  - logout
pwr      Power data show - pwr [index]
shut     Shut down - shut
soh      State of health - soh [addr]
stat     Statistic data show - stat
mosfet   find cfet state - mosfet
time     Time - time [year] [month] [day] [hour] [minute] [second]
trst     Test Soft Reset - trst
tall     Test all equip - tall
updata   updata system - updata
sim      sim debug
modbus   modbus debug out
minfo    show module frame info
rinfo    show rack frame info
**********************************************************
Remote command:
data     History data load - data [event/history/misc][item]
info     Device infomation - info
login    Login Admin mode - login [password]
logout   user mode  - logout
soh      State of health - soh [addr]
stat     Statistic data show - stat
 
Last edited:
"config" console help output:
Code:
Local command:
bat      Battery data show - bat [pwr][index]
cmdquit  Quit the Console Mode
config   config [pov/povr/phv/phvr/plv/plvr/puv/puvr/pslp/bov/bovr/bhv/bhvr/blv/blvr/buv/buvr/bslp/bsv/bv
 /cot/cotr/cht/chtr/clt/cltr/cut/cutr/dot/dotr/dht/dhtr/dlt/dltr/dut/dutr/coc/coca/cocar
 /eot/eotr/eht/ehtr/elt/eltr/eut/eutr/doc/doca/docar/ocd/ocr/sc/scd/scr/clc
 /recinv/shuttime/uvtime/save/default][val]
 /[sleep/record][on/off/day/week/month][starttime][endtime]
 /[hwsleep][<on/off>][sleeptime][wakeuptime]
ctrl     Contrl IO - ctrl [cfet/dfet/buzz/heat] [on/off]
data     History data load - data [event/history/misc][item]
datac    Clear data - datac [event/history/misc]
datalist Show recorded data - datalist [event/history/misc][item/bat][batnun][volt/curr/temp/coul][item]
disp     Display Info at regular intervals - disp [(pwrs pwrNo)/val]/[(bats batNo)/volt/curr/temp]
getpwr   Get power Info - getpwr
help     Help [cmd]
info     Device infomation - info
log      Log information show - log
login    Login Admin mode - login [password]
logc     Log clear - logc
logout   user mode  - logout
prot     Protect ctrl - prot [bov/bhv/blv/buv/pov/phv/plv/puv/cbot/cbht/cblt/cbut/dbot/dbht/dblt/dbut/pot/pht/plt/put/coc/coc2/coca/doc/doc2/doca/sc/buzz/smartchg/default][en/dis]
pwr      Power data show - pwr [index]
socclr   clear bq34z100 data flash  and reload default value - socclr
shut     Shut down - shut
soh      State of health - soh [addr]
stat     Statistic data show - stat
statc    Clear statistic - statc
mosfet   find cfet state - mosfet
time     Time - time [year] [month] [day] [hour] [minute] [second]
trst     Test Soft Reset - trst
tall     Test all equip - tall
updata   updata system - updata
emptyvolt Set empty volt - emptyvolt [val]
blocksoc set block soc - blocksoc [val]
setprt   set protocol type - setprt [VICTRON/GOODWE/GROWATT/STUDER/AFORE/LUXPOWER/KEHUA/MEGAREVO/SOLAX/PYLON/SOLIS/SCHNEIDER/DIP]
urates   Get R485 Port Rate - urates
sim      sim debug
modbus   modbus debug out
minfo    show module frame info
rinfo    show rack frame info
**********************************************************
Remote command:
config   config [pov/povr/phv/phvr/plv/plvr/puv/puvr/pslp/bov/bovr/bhv/bhvr/blv/blvr/buv/buvr/bslp/bsv/bv
 /cot/cotr/cht/chtr/clt/cltr/cut/cutr/dot/dotr/dht/dhtr/dlt/dltr/dut/dutr/coc/coca/cocar
 /eot/eotr/eht/ehtr/elt/eltr/eut/eutr/doc/doca/docar/ocd/ocr/sc/scd/scr/clc
 /recinv/shuttime/uvtime/save/default][val]
 /[sleep/record][on/off/day/week/month][starttime][endtime]
 /[hwsleep][<on/off>][sleeptime][wakeuptime]
ctrl     Contrl IO - ctrl [cfet/dfet/buzz/heat] [on/off]
data     History data load - data [event/history/misc][item]
emptyvolt Set empty volt - emptyvolt [val]
info     Device infomation - info
login    Login Admin mode - login [password]
logout   user mode  - logout
prot     Protect ctrl - prot [bov/bhv/blv/buv/pov/phv/plv/puv/cbot/cbht/cblt/cbut/dbot/dbht/dblt/dbut/pot/pht/plt/put/coc/coc2/coca/doc/doc2/doca/sc/buzz/smartchg/default][en/dis]
soh      State of health - soh [addr]
stat     Statistic data show - stat
statc    Clear statistic - statc
 
Last edited:
"debug" console help output:
Code:
Local command:
adc      Addr show - adc
bat      Battery data show - bat [pwr][index]
bmicbld  BMIC Soft Bleed Ctrl - bmicbld [chip][Val]
bmicd    BMIC data show - bmicd [chip]
bmice    Setup BMIC - bmice [chip]
bmicr    BMIC read - bmicr [chip][Offset]
bmicsh   BMIC show reg -bmicsh [chip]
bmicw    BMIC write - bmicw [chip][Offset][Val]
ci       Current Comm Info
cmdquit  Quit the Console Mode
config   config [pov/povr/phv/phvr/plv/plvr/puv/puvr/pslp/bov/bovr/bhv/bhvr/blv/blvr/buv/buvr/bslp/bsv/bv
 /cot/cotr/cht/chtr/clt/cltr/cut/cutr/dot/dotr/dht/dhtr/dlt/dltr/dut/dutr/coc/coca/cocar
 /eot/eotr/eht/ehtr/elt/eltr/eut/eutr/doc/doca/docar/ocd/ocr/sc/scd/scr/clc
 /recinv/shuttime/uvtime/save/default][val]
 /[sleep/record][on/off/day/week/month][starttime][endtime]
 /[hwsleep][<on/off>][sleeptime][wakeuptime]
ct       Track Comm Port Data [Port Number]
ctrl     Contrl IO - ctrl [cfet/dfet/buzz/heat] [on/off]
data     History data load - data [event/history/misc][item]
datac    Clear data - datac [event/history/misc]
datalist Show recorded data - datalist [event/history/misc][item/bat][batnun][volt/curr/temp/coul][item]
disp     Display Info at regular intervals - disp [(pwrs pwrNo)/val]/[(bats batNo)/volt/curr/temp]
eepe     EEPROM erase - eepe [chip]
eepr     EEPROM read - eepr [chip][Offset][size]
eepw     EEPROM write - eepw [chip][Offset][Val][size]
flae     Extend flash erase - flae [chip]
flar     Extend flash read - flar [chip][Offset][size]
flaw     Extend flash write - flaw [chip][Offset][Val]
fullchg  Show FullCharge Info - fullchg [time]
getpwr   Get power Info - getpwr
help     Help [cmd]
info     Device infomation - info
log      Log information show - log
login    Login Admin mode - login [password]
logc     Log clear - logc
logout   user mode  - logout
logt     Log test - logt [data]
md       Memory dump - md [width][Addr][size]
mm       Memory set - mm [width][Addr][Val]
prot     Protect ctrl - prot [bov/bhv/blv/buv/pov/phv/plv/puv/cbot/cbht/cblt/cbut/dbot/dbht/dblt/dbut/pot/pht/plt/put/coc/coc2/coca/doc/doc2/doca/sc/buzz/smartchg/default][en/dis]
pwr      Power data show - pwr [index]
re       Send Command To the Specified Power - re [addr][command]
rtcr     RTC read - rtcr [Offset]
rtcw     RTC write - rtcw [Offset][Val]
rtcsh    RTC show reg -rtcsh
save     Save data - save [event/history]
socr     SOC read - socr[Offset]
socw     SOC write - socw [Offset][Val]
socsh    SOC show reg -socsh
soccfg   SOC config - soccfg[subclass][Offset][value]
soccal   SOC calibration - soccal [volt/current/tempr/ccoffset/bdoffset] [value]
socd     SOC show data - socd
tsoc     bq34z100 test - tsoc
socclr   clear bq34z100 data flash  and reload default value - socclr
soct     SOC show Ra table - soct
couls    Coulomb calc type - couls [iah/vah/asic/default]
shut     Shut down - shut
soh      State of health - soh [addr]
stat     Statistic data show - stat
statc    Clear statistic - statc
mosfet   find cfet state - mosfet
tbar     Test write Barcode - tbar[reg]
tbmic    Max17830 test - tbmic
tbuz     Test Buzzer - tbuz
tchgc    test Charge current - tchgc
tclear   test clear record on chip- tclear
tpv      Test pack volt - tpv
tdct     Test dry ct - tdct
tibcio   Test ibc io - tibcio [nc/sc]
tdip     Test Dip - tdip [flag]
tdisc    test discharge current - tdisc
teepr    Device EEPROM test - teepr
tetmp    test enviroment temperature - tetmp
tflash   Device Flash test - tflash
ti2c     I2C test - ti2c
time     Time - time [year] [month] [day] [hour] [minute] [second]
tinput   test input state - tinput [rv/dcov/absent/present]
tled     Test Led - tled
tmos     test mosfet - tmos [cfet/dfet]
tcan     Test can port - tcan [port#]
tmpicr   TMPR IC read - tmpicr [Offset]
tmpicw   TMPR IC write - tmpicw [Offset][Val]
tmpicd   TMPR IC data show - tmpicd
tmpicsh  TMPR IC Reg Show - tmpicsh
tmprctrl Bat tmpr ctrl - tmprctrl [flag]/[flag][batid][val]
trst     Test Soft Reset - trst
tpwr     test the total voltage of the power - tpwr
tsoh     test soh - tsoh
tspi     SPI test - tspi
ttmp     test battery temperature - ttmp
tall     Test all equip - tall
tusart   Usart test - tusart
tbld     Test bleeding - tbld [val]
updata   updata system - updata
tvolt    test battery voltage - tvolt
twdg     Stop feeding watchdog - wdg
emptyvolt Set empty volt - emptyvolt [val]
blocksoc set block soc - blocksoc [val]
pwrsys   power system info display
setprt   set protocol type - setprt [VICTRON/GOODWE/GROWATT/STUDER/AFORE/LUXPOWER/KEHUA/MEGAREVO/SOLAX/PYLON/SOLIS/SCHNEIDER/DIP]
urates   Get R485 Port Rate - urates
tagevolt test age volt
trdagevolt read age volt
sim      sim debug
modbus   modbus debug out
minfo    show module frame info
rinfo    show rack frame info
**********************************************************
Remote command:
config   config [pov/povr/phv/phvr/plv/plvr/puv/puvr/pslp/bov/bovr/bhv/bhvr/blv/blvr/buv/buvr/bslp/bsv/bv
 /cot/cotr/cht/chtr/clt/cltr/cut/cutr/dot/dotr/dht/dhtr/dlt/dltr/dut/dutr/coc/coca/cocar
 /eot/eotr/eht/ehtr/elt/eltr/eut/eutr/doc/doca/docar/ocd/ocr/sc/scd/scr/clc
 /recinv/shuttime/uvtime/save/default][val]
 /[sleep/record][on/off/day/week/month][starttime][endtime]
 /[hwsleep][<on/off>][sleeptime][wakeuptime]
ctrl     Contrl IO - ctrl [cfet/dfet/buzz/heat] [on/off]
data     History data load - data [event/history/misc][item]
emptyvolt Set empty volt - emptyvolt [val]
info     Device infomation - info
login    Login Admin mode - login [password]
logout   user mode  - logout
prot     Protect ctrl - prot [bov/bhv/blv/buv/pov/phv/plv/puv/cbot/cbht/cblt/cbut/dbot/dbht/dblt/dbut/pot/pht/plt/put/coc/coc2/coca/doc/doc2/doca/sc/buzz/smartchg/default][en/dis]
soh      State of health - soh [addr]
stat     Statistic data show - stat
statc    Clear statistic - statc
 
Last edited:
I'll let @the_colorist post the PDFs he sent me for with CAN/RS485 protocol docs.

I wrote a simple unix program to send and receive the MODBUS ASCII commands but am still fighting to get the expected responses from some of them. I've done a bit of disassembly of the BMS firmware but that hasn't been much help so far.
 
By default the DLG BMS is set to VICTRON.

For the XW Pro, you need LUXPOWER which you can set via the DIP switches or via the RS232 console:
Code:
DLG> login config
@
Command completed successfully
$$
DLG_config> setprt LUXPOWER
@
 Comm protocal: LUXPOWER
Command completed successfully
$$
DLG_config> logout
@
Command completed successfully
$$
DLG>
 
Schneider's "Li-ion Battery Solution Guide" says in the "Supported Architectures" section that "Currently BMS communication is supported for systems with a single XW Pro inverter..."

I figured I'd try anyway.

I've got two XW Pros and set them up as master/slave and duplicated the settings and both units started to supply charging current and tripped out fairly rapidly with the error of "The command to stop charging or discharging the battery is received."

After playing around with the settings and determining that setting the slave charger to disable permitted master only charging I reduced the "Maximum charge rate" setting (per the manual that I failed to completely read) to keep the combined charge rate under the BMS advertised limit. This had the desired effect and both inverters shared the charging load up to 100%.

It's not yet clear what needs to be done to top balance. (ie: is this a Schneider setting or a DLG setting; the CAN communication seems to be actively managing the voltage/amperage during charging which suggests it's a battery setting.)

Code:
DLG>bat 1
@
Battery  Volt     Curr     Tempr    Base State   Volt. State  Curr. State  Temp. State  Coulomb
0        3378     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
1        3383     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
2        3357     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
3        3374     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
4        3382     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
5        3374     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
6        3379     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
7        3382     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
8        3377     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
9        3377     2620     28000    Charge       Normal       Normal       Normal       100%      99771 mAH
10       3383     2620     27000    Charge       Normal       Normal       Normal       100%      99771 mAH
11       3373     2620     27000    Charge       Normal       Normal       Normal       100%      99771 mAH
12       3379     2620     27000    Charge       Normal       Normal       Normal       100%      99771 mAH
13       3377     2620     27000    Charge       Normal       Normal       Normal       100%      99771 mAH
14       3382     2620     27000    Charge       Normal       Normal       Normal       100%      99771 mAH
15       3380     2620     27000    Charge       Normal       Normal       Normal       100%      99771 mAH
Command completed successfully
$$
DLG>
 
I've spent a little more time disassembling the BMS firmware binary and have identified the code sections responsible for handling RS485 "serial port" and "link port" request/response processing.

The serial port supports the following values for CID2:
0x61Analog Info
0x62Alarm Info
0x63Charge/Discharge Management Info
0x4fComm Protocol Version

I was hoping for a lot more cell level info as well as info obtained from slave batteries. It may be possible to get some of this via the "link port" but I've not yet hooked up to that.
 
Decoding the output of "Analog Info" I get the following (omitting fields with no data):

RowValueDescription
153.160 VOverall average voltage of battery pack system
20.00 ABattery pack system total current
399%Battery pack system SOC
42Average number of cycles
52Maximum number of cycles
6100%Average SOH
7100%Minimum SOH
83.326 VSingle core maximum voltage
92The module where the single-core highest voltage is located
103.319 VSingle core minimum voltage
114The module where the single core minimum voltage is located
1267.2 FSingle core average temperature
1367.9 FSingle core maximum temperature
140The module where the single core has the highest temperature
1566.1 FSingle core minimum temperature
1610The module where the single core has the lowest temperature

Some of these values don't exactly match what I see in the console; I'll keep poking around to see if I can identify the discrepancy.
 
Mismatch with the console seems to be related to ADC noise.

Full output of decoded RS485 "LVP" data:

Bash:
$ .build/lvp_test -c 0x61                                                                                                                         
System analog data
 1: 53.200 V    Overall average voltage of battery pack system
 2: 0.00 A      Battery pack system total current
 3: 97%         Battery pack system SOC
 4: 2           Average number of cycles
 5: 2           Maximum number of cycles
 6: 100%        Average SOH
 7: 100%        Minimum SOH
 8: 3.328 V     Single cell maximum voltage
 9: 13          The module where the single-cell highest voltage is located
10: 3.322 V     Single cell minimum voltage
11: 14          The module where the single cell minimum voltage is located
12: 67.2°F      Single cell average temperature
13: 67.9°F      Single cell maximum temperature
14: 0           The module where the single cell has the highest temperature
15: 66.1°F      Single cell minimum temperature
16: 10          The module where the single cell has the lowest temperature
$ .build/lvp_test -c 0x62
System alarm info
 1: 0x0 System Alarm Status 1
        7 Module total voltage high voltage         0: normal
        6 Module total voltage low voltage          0: normal
        5 Single cell voltage high voltage          0: normal
        4 Single cell voltage low voltage           0: normal
        3 Single cell temperature high temperature  0: normal
        2 Single cell temperature low temperature   0: normal
        1 MOSFET high temperature                   0: normal
        0 Single-cell voltage consistency alarm     0: normal
 2: 0x0 System Alarm Status 2
        7 Single cell temperature consistency alarm 0: normal
        6 Charge overcurrent alarm                  0: normal
        5 Discharge overcurrent alarm               0: normal
        4 Internal communication error              0: normal
 3: 0xfc        System Protection Status 1
        7 Module total voltage overvoltage          1: trigger
        6 Module total voltage undervoltage         1: trigger
        5 Single cell voltage overvoltage           1: trigger
        4 Single cell voltage undervoltage          1: trigger
        3 Single cell temperature over temperature  1: trigger
        2 Single cell temperature under temperature 1: trigger
        1 MOSFET over temperature                   0: normal
 4: 0x60        System Protection Status 2
        6 Charge overcurrent alarm                  1: trigger
        5 Discharge overcurrent alarm               1: trigger
        3 System failure protection                 0: normal
$ .build/lvp_test -c 0x63
System Charge/Discharge Management Info
 1: 57.500 V    Charge voltage limit
 2: 47.000 V    Discharge voltage limit
 3: 12.5 A      Charge current limit
 4: 50.0 A      Discharge Current limit
 5: 0xc0        Charge/Discharge Status
        7 Charge enable                             1: yes
        6 Discharge enable                          1: yes
        5 Charge Immediately                        0: normal
        4 Full charge request                       0: normal
$
 
Are you sure you have those serial and console speeds the right way around? My manual says:

RS232 Port default 9600 bps
RS485 115200 bps

Still not got mine to work, so you could be right.
Quite sure. Verified against what I'm using now.
 
Quite sure. Verified against what I'm using now.
Thanks it appears my supplier who branded and modified the user manual messed up. Mine is also 115200bps. Thanks for the confirmation.
 
@mnd have you found anything that would allow you to change the speed of the RS485 interface?
 
Thanks for your insight it's what I was fearing. It's a big blow for me, the maximum speed of my inverter is 19200.
When I type urates it says "115200bps"

and urates is for:
"urates Get R485 Port Rate - urates".

I'm not sure where you got you speed of:

"serial" - RS485 MODBUS/ASCII mode, 9600bps"

I don't know if any of the dip switches change this. So far I have just tried setting 1 and 3. I'll be keen to know if the firware mentions 9600.
 
Thanks for your insight it's what I was fearing. It's a big blow for me, the maximum speed of my inverter is 19200.
When I type urates it says "115200bps"

and urates is for:
"urates Get R485 Port Rate - urates".

I'm not sure where you got you speed of:

"serial" - RS485 MODBUS/ASCII mode, 9600bps"

Empirical testing, initially, later confirmed by reverse engineering.

I don't know if any of the dip switches change this. So far I have just tried setting 1 and 3. I'll be keen to know if the firware mentions 9600.
DIP switches only change the CAN protocol type, as far as I know.

C:
  ...
  FUN_0001da10(&UART3,0x2580,uVar1,uVar2);
  UART_Enable_FIFO((int)&UART3);
  set_UART_Interrupt_FIFO_Level_Select((int)&UART3,2,0x10);
  set_UART_Interrupt_Mask((int)&UART3,0x50);
  return (ulonglong)param_4 << 0x20;
I need to do more work on defining Tiva C peripheral registers, but the first function call passes in 9600 (0x2580) to a function that eventually uses the value on what I presume is a rate selection register.
 
Empirical testing, initially, later confirmed by reverse engineering.


DIP switches only change the CAN protocol type, as far as I know.

C:
  ...
  FUN_0001da10(&UART3,0x2580,uVar1,uVar2);
  UART_Enable_FIFO((int)&UART3);
  set_UART_Interrupt_FIFO_Level_Select((int)&UART3,2,0x10);
  set_UART_Interrupt_Mask((int)&UART3,0x50);
  return (ulonglong)param_4 << 0x20;
I need to do more work on defining Tiva C peripheral registers, but the first function call passes in 9600 (0x2580) to a function that eventually uses the value on what I presume is a rate selection register.
Well you are obviously right again and the manual (even the one from from the battery supplier is wrong). The RS485 is fixed at 9600 no parity 1 stop and the manufacturer confirmed cannot be changed - the code pretty well hints as much anyway! This is a good result for me. I got extremely fast (within minutes) and good support from pytes. They will be updating their documents.
I think urates is for the CAN port (or maybe RS232) and not RS485 as suggested by the help.
Anyway @mnd your post here help me very quickly unlock a whole load of problems that had been going on for 2 months. Thanks so much.
 
I think urates is for the CAN port (or maybe RS232) and not RS485 as suggested by the help.
The "link" ports are also using RS485, so the "urates" setting might be for that. I do see code that conditionally sets the BMS link port to 1200 or 115200 though it appears to be related to the BMS running in slave mode (I think that the link ports come up at 1200 baud and can shift to a higher speed when enumerated by the master, but I haven't made it very far into that part of the code.)
 
Back
Top