Hi @Ch_Han,
Please see https://github.com/NXPHoverGames/RDDRONE-BMS772/ for the release notes. This describes the state machine of the BMS example software.
The SLEEP state is not for storage, as in this example the output power is still enabled in this SLEEP state. For storage, the BMS should indeed go to the DEEPSLEEP state, where the output power is disabled (power switch is open) and the current is as little as possible.
In chapter 8 of the release notes, the parameters are described to control the BMS. If you set parameter self-discharge-enable to 0. You could go to the DEEPSLEEP state without discharging the battery cells to storage voltage. Keep in mind that this might not be good for the battery cells if they are at a high voltage for a long time.
In the self-discharge state, the BMS will use the balancing current to discharge all the cells to be less than the set storage voltage (with margin).
In SLEEP state, the switch is always closed in this example, enabling the output power. Thus, it could detect a load by measuring current.
I usually work with a lab power supply to charge the batteries.
PS: You could develop your own software or adapt the SW for your needs based on the open source example on https://github.com/NXPHoverGames/RDDRONE-BMS772/.
Hopefully this answers your questions, kind regards,
cisvmierlo