Comments (11)
What about RAM retention?
We can store time in a certain part of RAM that will be excluded from startup initialization.
And after reboot time can be restored from this part of memory.
https://devzone.nordicsemi.com/f/nordic-q-a/272/ram-banks-ram-retention
from infinitime.
Yes, good idea! We can also write the current date/time to flash just before issuing a reset (after a successful OTA, for example).
from infinitime.
There's no FS in the SPI flash for now. The first 115200KB are used by the boot graphics, the rest is empty. As @Avamander wrote, I think the best would be to use a embedded FS like littleFS to manage the reste of the SPI flash space.
I think littlefs provides a higher level and easier to use API than a simple EEPROM.
We would be able to use this FS to store configuration parameters, data time, graphic assets, heart rate values,...
from infinitime.
Well what if the device runs out of battery?
from infinitime.
I have a proposal, perhaps we can create a partition in the FS for the SPI flash such that is some sort of EEPROM emulation for non-volatile data, eg. the request for time backup by @Avamander or user settings and other future things... 4Kb of storage should be ample for such a thing..
from infinitime.
What about RAM retention?
We can store time in a certain part of RAM that will be excluded from startup initialization.
And after reboot time can be restored from this part of memory.
https://devzone.nordicsemi.com/f/nordic-q-a/272/ram-banks-ram-retention
Ram is volatile memory right?
from infinitime.
Ram is volatile memory right?
Yes. There are sleep modes where RAM contents are kept (with extra power used) and methods to keep some amount of RAM untouched.
from infinitime.
If it runs out, it looses it... simple as that. That's when you would revert to the datetime stored in flash memory. But for reboots, either manual or update related, storing it in RAM would be perfect as it would save a write to the flash memory and preserve the time across the reboot (bar the bootloader/DFU update delay).
from infinitime.
This could not only be used for date and time but also for other data like steps counter and last hrm result.
from infinitime.
This could not only be used for date and time but also for other data like steps counter and last hrm result.
I think there is a discussion for this , we could of course use this for a whole lot of other things.
from infinitime.
This has been implemented in #595 and can be closed.
from infinitime.
Related Issues (20)
- Colors invert randomly HOT 7
- lv_img_conv.py doesn't handle 8-bit pixel mode HOT 3
- (v)snprintf space optimisations
- Restore timer duration when finished
- Timer holds changing time when turning off the watch
- Crash Screen (?) During Normal Use HOT 2
- Increased battery usage in 1.14.0 HOT 11
- App menu stays at second screen HOT 10
- State of GFX? HOT 4
- Watch freezes after some notifications HOT 20
- Watch freezes and reboot after interacting with external resources HOT 4
- Occasional Incorrect Dates Displayed in the Weather forecast HOT 2
- Turn off accelerometer in night mode HOT 1
- Can't connect to Gadgetbridge after Firmware 1.14 update. HOT 5
- Screen shifting upwards HOT 7
- Assert call being removed during compilation, causing NULL pointer dereference in ble_ll_task HOT 6
- Using GDB debugger in devcontainer does not load source map
- Stopwatch lap counter only goes up to 20 laps HOT 1
- Unable to update InfiniTime successfully
- Add unit testing framework and skeleton test project HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from infinitime.