Changes

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.

Last updated