Changes relative to the last release (3.4-9.1)
The changes relative to the last release, release 3.4-9.1, can be found in the table below.
Item
Description
Power on self-test
More components are tested at startup (NTAG5, A1007), with better output on terminal.
NuttX version
Upgraded to NuttX version 10.0 (stable release).
Sense resistor test
Added a test that will detect if the sense resistor is connected to the measurement input.
Negative input for unsigned variables
The CLI will notify you and will not set the variable when a negative number is entered for an unsigned variable.
self-test state
The self-test is only done at startup, made it a separate state (not only init state anymore).
LED color
LED is now solid red in the self-test state.
SoC calibration
Added the OCV state to calibrate the state of charge when in sleep mode. Added the SoC calibration to the self-discharge state.
CLI set parameter
Fixed that using the CLI, variables can’t be set with more than its variable type can hold.
uv fault to deepsleep
Added that when an undervoltage occurs, it will go to the deepsleep mode after some time to protect the battery.
Reboot
Added the reboot command to the CLI to reboot the microcontroller.
Flight-mode
Added the flight-mode-enable and i-flight-mode parameters. This can be used to not cut the power to the FMU and motors in flight.
a-factory
After setting the factory capacity, the BMS will recalculate and set the full charge capacity and end of charge current as well.
Floating point variables
The floating point variables are better limited now.
Charge to deepsleep
Added that if the button is hold for five seconds in the charge state, it will go to deepsleep.
NFC
Is hard-powered down with GPIO.
Discharge to storage
After a long time-out, the BMS will discharge to storage level and go to the deepsleep state.
CLI syntax
Some wrong syntaxes are now fixed in the CLI.
CLI help messages
Improved the help message if the wrong number of cells are attached/inserted.
Wrong messages
The wrong BMS undertemperature detected message if the sensor is disabled has been fixed.
The first “pin rising edge BCC_FAULT” message has been deleted.
Message limit
Limited the number of “Rising edge BCC_FAULT” and “clearing CC overflow” messages.
CLI color messages
Added functions for the green (good), yellow (warning) and red (error) messages.
BCC com errors
This will not be reset (wrongly), but it will be counted and with 255 errors it will reset it correctly.
UAVCAN
New message of the draft of the UAVCAN V1 standard message is implemented.
Data struct
Added the unit and type string to the data struct.
Added floating point accuracy to the floating point limitations.
Parameters
Added the t-sleep-timeout, i-charge-nominal, i-out-nominal, i-flight-mode, battery-type, flight-mode-enable and m-mass.
Changed the model-id to uint64_t, t-fault-timeout to use with uv to go to the deepsleep state, t-ocv-cyclic0 and t-ocv-cyclic1 are implemented, changed the uavcan-subject-id to 3 different parameters for each message: uavcan-ess-sub-id, uavcan-bs-sub-id and uavcan-bp-sub-id.
v-cell-margin is default 50mV instead of 30mV. ocv-slope is in mV/Amin instead of V/Amin.
State diagram
Added LED indication, Added SELF TEST state, added button hold to the charge to self-discharge state transition, Added SLEEP_TIMEOUT to the sleep to self-discharge state transition, FAULT_TIMEOUT used for transition to go to deepsleep with an undervoltage.
Charge state diagram
Added LED indication and added button hold to the charge to self-discharge state transition.
Cell balancing
The cell balancing is not only based on the cell voltage compared to the desired voltage, but it is based on the calculated estimated cell balance minutes as well.