# Changes

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                        | <p>The wrong BMS undertemperature detected message if the sensor is disabled has been fixed.                                      |

</p><p>The first “pin rising edge BCC_FAULT” message has been deleted.</p>                                                                                                                                                                                                                                                                                                                                                      |
| 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                           | <p>Added the unit and type string to the data struct.</p><p>Added floating point accuracy to the floating point limitations.</p>                                                                                                                                                                                                                                                                                                                                                                                            |
| Parameters                            | <p>Added the t-sleep-timeout, i-charge-nominal, i-out-nominal, i-flight-mode, battery-type, flight-mode-enable and m-mass. </p><p>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. </p><p>v-cell-margin is default 50mV instead of 30mV. ocv-slope is in mV/Amin instead of V/Amin.</p> |
| 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.                                                                                                                                                                                                                                                                                                                                                           |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nxp.gitbook.io/rddrone-bms772/master/software-guide-nuttx/changes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
