summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* 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.
* Clear display when app is quit via return valueConfuSomu2021-08-11
| | | | The display was not correctly cleared before.
* Allow apps to close and quit themselves via returnConfuSomu2021-08-11
| | | | | | | | | value when returning from render(), btnpressed() or bgrefresh(). This can help free system ressources when apps do not need to be running anymore. The AppAttributes::destroy_on_exit is currently ignored to give apps more freedom. The main_clock app has had some changes done to test the new features.
* Remove one check used to see if app is already initConfuSomu2021-08-11
| | | | | | | There is already another check done in app_mgr::app_init(). Checking also in app_mgr::app_switch() is redundant. I am not sure if the verification should instead be done in app_switch(). I can move it later if required.
* Check if new fails when creating appConfuSomu2021-08-05
|
* 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.
* Clean up app_manager and correctly clear the OLEDConfuSomu2021-08-01
| | | | when switching app.
* Transition app_settings to BaseApp classConfuSomu2021-08-01
| | | | | This change allows app_settings to be used under the new app architecture.
* Move function documentation to header fileConfuSomu2021-08-01
|
* Move bgrefresh of each app to app_manager functionConfuSomu2021-08-01
|
* Implement virtual getter for app attributesConfuSomu2021-08-01
| | | | | This is done to allow each app to be able to set their own app attributes without having them be overshadowed by BaseApp's defaults.
* 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.
* Remove BaseApp ptr from open_apps after deleting itConfuSomu2021-06-25
|
* 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.
* Merge branch 'app-settings'ConfuSomu2021-06-20
|\
| * Remove uneeded return statementapp-settingsConfuSomu2021-05-29
| | | | | | | | | | It is uneeded because of falling to the next case present in switch statements.
| * Fix incorrect default value when setting dayConfuSomu2021-05-29
| | | | | | | | Did a small oversight where I wrote "month" instead of "day".
| * Use pragma once in main.hppConfuSomu2021-05-27
| | | | | | | | | | #pragma once will be used in every header file from now on. Changes will be made for the other header files.
| * Use NUM_CHOICES to avoid having magic numberConfuSomu2021-05-27
| |
| * Add time format settingConfuSomu2021-05-27
| | | | | | | | Set between 24 hour and 12 hour format.
| * Implement display settingsConfuSomu2021-05-06
| |
| * Add user_settings global structConfuSomu2021-05-06
| |
| * Add cancel option to date/time setting menuConfuSomu2021-05-06
| | | | | | | | | | This allows to not save the settings, to avoid time drift, when just looking at them.
| * Fix incorrect month displayedConfuSomu2021-05-01
| |
| * Display last selected option when showing choicesConfuSomu2021-05-01
| | | | | | | | | | Avoid displaying the first option again when something else has been selected.
| * Decrease button sensitivityConfuSomu2021-05-01
| | | | | | | | | | The buttons were very sensitive when moving around in the menus. This change seems to remedy this problem.
| * Clean up unneeded settings from menuConfuSomu2021-05-01
| |
| * Set date in settingsConfuSomu2021-05-01
| |
| * Set time in settingsConfuSomu2021-05-01
| | | | | | | | Implement menu option that allows setting the current time.
| * 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.
* Test API methods with main_clock appConfuSomu2021-04-25
| | | | | Also commit settings.json updates made by VSCode. This commit was done to have a clean working tree.
* Fix character ghosting in main_clockConfuSomu2021-04-25
|
* 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.
* Remove heap allocations from home_menuConfuSomu2021-04-14
| | | | | This allows to "debloat" the space for others apps, which are not always loaded in memory, unlike home_menu.
* Add spaces to avoid displaying leftover charactersConfuSomu2021-04-14
|
* Check for invalid app_id when app is initConfuSomu2021-04-14
|
* Use const char* as arg for Api::display_write_stringConfuSomu2021-04-14
|
* Update comments in CMakeLists.txt with findingsConfuSomu2021-04-08
| | | | This should probably be moved to a textfile in a doc directory.
* Fix accessing invalid day of week from arrayConfuSomu2021-04-08
|
* WFI in rendering loop when sleepingConfuSomu2021-04-08
|
* Update default datetime to more recent valuesConfuSomu2021-04-08
|
* Remove button testing from home_menu appConfuSomu2021-04-08
|
* Rewrite app_init to check for malloc/new failuresConfuSomu2021-04-08
|