summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* 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
|
* Add fixme in pico-watch.cConfuSomu2021-04-01
|
* Increase heap sizeConfuSomu2021-04-01
| | | | | This should help remedy malloc (and new) failures. This is (naturaly) not a replacement for checking if malloc/new has failed!
* 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.
* Merge branch 'api-class'ConfuSomu2021-03-28
|\ | | | | | | Add a few new API features.
| * Implement API method for setting current datetimeapi-classConfuSomu2021-03-28
| |
| * Implement API method for choosing between stringsConfuSomu2021-03-28
| | | | | | | | This allows creating a menu with more ease.
| * Implement API method for popup forConfuSomu2021-03-16
| | | | | | | | choosing number
| * Implement API method to ask user for yes/no choiceConfuSomu2021-03-16
| |
| * Move display of popup in API to generic functionConfuSomu2021-03-16
| | | | | | | | | | | | | | | | This allows implementing different popup types with more ease. This new function made me notice that the application's heap (and maybe stack) usage is high. When testing the updated gui_popup_text method, I noticed that sometimes, the std::string cannot be allocated. There are more details in the updated api header file.
| * Dump display backbuffer only onceConfuSomu2021-03-04
| | | | | | | | | | This reduces display flickering and might help in having a longer battery life.
| * Fix footer and header background drawingConfuSomu2021-03-04
|/
* 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
|
* Merge branch 'api-class'ConfuSomu2021-03-01
|\
| * Fix race condition when refresh interval is smallConfuSomu2021-03-01
| | | | | | | | Possible fix
| * Implement API to set/get render intervalConfuSomu2021-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
| |
| * Implement API method for display header textConfuSomu2021-03-01
| |
| * Implement API method for displaying footer textConfuSomu2021-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.
| * Expose features from the OLED library in the APIConfuSomu2021-02-28
| |
| * 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...
* Disable VSCode C/C++ error underlinesConfuSomu2021-02-20
| | | | | | It is generally misleading as header files are marked as unresolvable when it is not the case. I also tried to fix the problem by adjusting where libraries are searched by Intellisense.
* 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.
* Implement handling of button pressesConfuSomu2021-02-10
| | | | | I did changes to apps/main_clock as this app is also used for testing new features.
* Ignore cortex-debug state json filesConfuSomu2021-02-09
|
* Create a sort of framework for appsConfuSomu2021-02-08
| | | | | Each app has its own init, render, bgrefresh and destroy functions. The app data array alllows apps to persist data between function calls.
* Move initalisation to init.h/init.cConfuSomu2021-02-07
|
* Set display contrast in defineConfuSomu2021-02-07
| | | | | This simplfies setting the display contrast. A low value is used to save a little power and also to have the OLED last a bit longer.