summaryrefslogtreecommitdiffstats
path: root/apps
Commit message (Collapse)AuthorAge
* Remove title header from clock UIapp-main_clockConfuSomu2021-09-04
|
* Improve UI by relocating elementsConfuSomu2021-09-04
|
* Display 12 hour time formatConfuSomu2021-09-03
|
* Clean up spacing and remove uneeded commentsConfuSomu2021-09-03
|
* Remove Api tests from clock appConfuSomu2021-09-03
| | | | These will be recreated in an app used for testing the Api.
* Refactor names to btn_pressed/btn_releasedConfuSomu2021-09-03
| | | | | This helps with consistency (use of snake case) while keeping the method names short ("btn" is used instead of "button").
* Tidy up project tree; move api, appMgr and BaseAppConfuSomu2021-08-20
|
* 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.
* 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.
* Move app manager functions to a namespaceConfuSomu2021-08-05
| | | | This helps with compartmentalisation and organisation.
* Transition app_settings to BaseApp classConfuSomu2021-08-01
| | | | | This change allows app_settings to be used under the new app architecture.
* 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.
* 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.
* 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 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.
* 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.
* 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
|
* 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
|
* Fix accessing invalid day of week from arrayConfuSomu2021-04-08
|
* Remove button testing from home_menu appConfuSomu2021-04-08
|
* Use bool in bgrefreshConfuSomu2021-03-01
|
* Implement API method for setting performanceConfuSomu2021-03-01
| | | | | This is to lower power consumption by having the apps set the lowest performance they need.
* Use header and footer methods in appsConfuSomu2021-03-01
|
* Remove popup tests from home_menuConfuSomu2021-03-01
|
* Wait for button press then hide popupConfuSomu2021-03-01
|
* Implement method in API for drawing a popupConfuSomu2021-03-01
| | | | I had to modify the OLED library to correctly work with newlines.
* Refactor API function namesConfuSomu2021-02-27
|
* Implement getDatetime function in APIConfuSomu2021-02-27
|
* Remove unnecessary includesConfuSomu2021-02-27
|
* Init selected_app in home_menu to a default valueConfuSomu2021-02-27
| | | | | When the value references an out of bounds memory address, line 47 in same file may cause hardfault/segmentation fault.
* 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.
* Implement home menuConfuSomu2021-02-15
| | | | | | | | | Buttons are now detected and reported to the current running application (demoed in main_clock and home_menu with `oledWriteString(oled, 0,0,2, &data[0], FONT_6x8, 0, 1);`). I start to see the limitations with APP_DATA. It will be dropped in a futur commit after moving each app into its own namespace. Variables will be allocated dynamically on app init.