InfiniTimeOrg / InfiniTime

Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
GNU General Public License v3.0
2.68k stars 916 forks source link

Store shake/wake sensitivity settings to external memory and reload it on boot-up #1534

Closed Danimations closed 1 year ago

Danimations commented 1 year ago

Verification

Introduce the issue

Presently, shake/wake sensitivity settings are lost when the battery runs flat. The shake/wake setting then defaults to a setting which is very conservative, meaning that waking the screen typically requires the press of the device's button, and therefore two hands to perform. It would excellent if the Pinetime watch would recover its shake/wake sensitivity settings after the battery has run flat.

Preferred solution

I gather that the setting data could be stored on the device's external memory, and reloaded on boot-up. This would be helpful for those of us users who occasionally let the battery run entirely flat before recharging it, and who like to wake the device with a gentle flick of the wrist.

Version

1.11.0

FintasticMan commented 1 year ago

The shake wake threshold is stored in the settings controller, which means that it should be stored on the external flash along with all the other settings.

minacode commented 1 year ago

The external memory doesn't work without battery. The settings are already stored on the external storage as a file, but once the battery runs out, everything is lost. I guess the best solution would be some kind of settings backup via a companion app.

FintasticMan commented 1 year ago

I believe that the external memory is SPI NOR flash storage, which is able to keep data without any power AFAIK.

minacode commented 1 year ago

Oh, ok. I didn't know that.

Riksu9000 commented 1 year ago

The shake threshold is saved like other settings. Can't repro.