summaryrefslogtreecommitdiffstats
path: root/pico-watch.cpp
Commit message (Collapse)AuthorAge
* Tidy up project tree; move api, appMgr and BaseAppConfuSomu2021-08-20
|
* Rename repeating timer to more descriptive nameConfuSomu2021-08-19
| | | | status_check and cb_status_check.
* Remove all references to render interval methodsBaseApp-classConfuSomu2021-08-14
| | | | | The main loop was reordered for a little optimisation as we cannot set free standingly(?) anymore the render interval to 0.
* Have the render interval be an app attributeConfuSomu2021-08-12
| | | | | | | | | This simplifies managing the change of foreground app. Use the performance_render_interval_{set,get} functions would be too cumbersome to implement. Unfortunately, this might give too much freedom to running apps, as they can decide to use a very small render interval which can use more battery as the system cannot sleep while waiting for the next render cycle.
* Rename current_app to foreground_appConfuSomu2021-08-05
| | | | | This is a more descriptive name as there could be multiple apps that are currently open, or on-screen, such as a system UI or a status bar.
* Move app manager functions to a namespaceConfuSomu2021-08-05
| | | | This helps with compartmentalisation and organisation.
* Move bgrefresh of each app to app_manager functionConfuSomu2021-08-01
|
* Implement an app_manager that supports BaseAppConfuSomu2021-07-25
| | | | | | | | | and create classes for home_menu and main_clock apps. This commit has a lot of changes as multiple parts of the project had to be changed to support running apps that are based on the BaseApp class. It could not have been done in multiple commits as the progam would not be able to build and thus I would not be able to test the changes.
* Move functions related to app lifecycle managmentConfuSomu2021-06-25
| | | | They have been moved to a new file, to provide better encapulation.
* Use an abstract class for appsConfuSomu2021-06-20
| | | | | | | | It is derived by each app. This allows finally allocating space for an app's variable when it is opened. On the other hand, currently, destruction of apps is not fully implemented. This commit is also done to save a snapshot of something that works.
* Add user_settings global structConfuSomu2021-05-06
|
* Implement preliminary settings appConfuSomu2021-05-01
|
* Add delta to app_btnpress argumentsConfuSomu2021-04-28
| | | | This allows add to implement double clicking, for instance.
* Move check for button time since press to functionConfuSomu2021-04-25
| | | | | This allows later updating the code to have the check work correctly when start time > current time.
* Fix race condition on HOME press while renderingConfuSomu2021-04-22
| | | | | | | | | This existed because waiting for the app to finish rendering was done in a blocking manner, meaning that the rendering state would never end. This would block the microcontroller in a loop. This was fixed by rewriting the part related to app switching to correctly do the switching while the app is not rendering.
* Move global variables to structConfuSomu2021-04-22
|
* Ignore home button press when in Api popupConfuSomu2021-04-22
| | | | | | | This avoids quitting the app when an Api popup is displayed, causing problems. The variable resposable for this has been renamed to better reflect its use.
* Check for invalid app_id when app is initConfuSomu2021-04-14
|
* WFI in rendering loop when sleepingConfuSomu2021-04-08
|
* Rewrite app_init to check for malloc/new failuresConfuSomu2021-04-08
|
* Add fixme in pico-watch.cConfuSomu2021-04-01
|
* Fix possible race condition when switching appConfuSomu2021-03-28
|
* Enable malloc debuggingConfuSomu2021-03-28
| | | | This might help in debugging problems related to memory and malloc-ing.
* Dump display backbuffer only onceConfuSomu2021-03-04
| | | | | This reduces display flickering and might help in having a longer battery life.
* Enter shallow sleep when there are no interactionsConfuSomu2021-03-02
| | | | Current app stops getting refreshed and display is turned off.
* Use bool in bgrefreshConfuSomu2021-03-01
|
* Fix race condition when refresh interval is smallConfuSomu2021-03-01
| | | | Possible fix
* Implement API to set/get render intervalConfuSomu2021-03-01
|
* Wait for button press then hide popupConfuSomu2021-03-01
|
* Refactor API function namesConfuSomu2021-02-27
|
* Remove unnecessary includesConfuSomu2021-02-27
|
* Use an Api class for abstractionConfuSomu2021-02-27
| | | | | | | | | | | It is currently very basic as functions will be added to it when the time comes. The idea is to have a method to, for example, show notifications (and store them in a list with metadata) to the user or also to easily show a message box overlaying the current display. Private class members will permit encapsulations of variables related to these features and limit the privilage that each app has on the device.
* Use dynamic allocation of app variables/dataConfuSomu2021-02-20
| | | | | | | Stop using APPS_DATA. Dynamic allocation allows to avoid having memory used by unloaded apps, thus giving more memory to running apps. Make sure to correctly deallocate with `delete` to avoid memory leaks! Exceptions to allocate memory will have to be handled...
* Use namepace for main_clock appConfuSomu2021-02-20
|
* Adopt C++ConfuSomu2021-02-20
A large number of changes had to be made to use C++. "extern C" had to be added for a few headers not adapted to C++. See https://github.com/raspberrypi/pico-sdk/pull/106 for fix in affected files. They will be removed when the pull request is merged in pico-sdk's master branch.