Commit Graph

358 Commits

Author SHA1 Message Date
anschrammh
be90d23eeb Also resetting the bma456 internal setp counts when resetting the watch to its factory settings, this is nedeed because if the watch crashes or resets on its own, the bma456 is not reset anymore allowing to save the current step counter count and saving time by not reloading the config file. 2024-01-05 21:28:29 +01:00
anschrammh
b554e55e6e Added BMA456 helper functions with their own files 2024-01-05 21:25:13 +01:00
6b24947f04 Started to add the RTC calibration trigger function - WIP. 2024-01-01 21:46:20 +01:00
8745170092 Added experimental functions allowing to set the BLE modem to sleep to save power. Does not work as intended (bug in the SDK probably). 2024-01-01 21:45:20 +01:00
580c9f4e68 Updated a comment 2023-12-23 11:26:55 +01:00
anschrammh
0057737ffa Minor update 2023-12-19 00:08:34 +01:00
anschrammh
be27501e08 Updated GadgetBridge parser standalone project 2023-12-18 23:38:59 +01:00
anschrammh
4d8b0d359d Updated lvgl simulator 2023-12-18 23:36:46 +01:00
anschrammh
8de0a7a59c Corrected bad 24h dial numbering ... 2023-12-18 23:33:46 +01:00
anschrammh
53519391ef Refactored the watch faces to only have one source file, added the possibility to choose which watch face to use when compiling 2023-12-18 23:11:56 +01:00
anschrammh
f78a1f3a1a Updated the notification callback logic 2023-12-18 21:20:57 +01:00
anschrammh
0787496aa4 Updated the notification state callback to pass the handle to the registered callback function 2023-12-18 21:19:52 +01:00
anschrammh
83b1571067 Updated the GadgetBridge parser api to be able to interact with received notifications (DISMISS, OPEN, REPLY etc) 2023-12-18 21:16:48 +01:00
anschrammh
c0a6b2c93f Changed the random number generator static seed by using the current elapsed time in ms 2023-12-18 21:12:08 +01:00
0521ea37a9 Now setting some BLE connection parameters to try improving the watch's power consumption, shaved two mA off :( 2023-12-02 22:31:01 +01:00
anschrammh
c0484e3760 Updated the lvgl simulator project 2023-11-29 08:46:10 +01:00
anschrammh
9e16ed302d Added a new watchface which replaces the old one for now. Will add a way
to choose which watchface to select in the application configuration file
(app_config.h).
2023-11-29 08:39:35 +01:00
anschrammh
fd0f44e888 Reworked and added the user feedback callback function to make the API consistent, implemented it on some screens/app already 2023-11-27 08:40:25 +01:00
anschrammh
8b16cf98aa It is now possible to swipe from right to left on the menu screen to open back the previously used application 2023-11-27 08:38:12 +01:00
anschrammh
68e1accde7 Added the possibility to enable the watchdog timer in case something goes sideways using the app_config.h file (enabled by default) 2023-11-27 08:37:08 +01:00
598feba07a Menu screen items are now displayed in a circular pattern and not as a straight list anymore 2023-11-04 16:28:26 +01:00
967913d8df Updated code::blocks lvgl simulator (font updated among other things) 2023-11-04 12:32:09 +01:00
da65442ad5 Started to implement some functions of the watch power management system (dynamically change CPU clock), more to be done. 2023-11-04 12:27:33 +01:00
b5efc4f3a2 Cleaned up some code, calling vibrate functions where needed. 2023-11-04 12:11:40 +01:00
518c78f879 Added two new helper function to vibrate the watch on item click and vibrate the watch on received message notifications. 2023-11-04 12:10:42 +01:00
54c35bcde8 Regenerated used fonts (14, 16, 24, 28 and 30) to add accented characters used in the french and german languages. Added parentheses around macro value in app_config.h, Updated the firmware_version.h file. 2023-11-04 12:09:02 +01:00
0580425401 Reworked the menu_screen internal working to be able to register an item clicked callback used to vibrate the watch as a configurable feedback to the user. 2023-11-03 14:42:20 +01:00
8ee9f96de2 Moved helper function used to vibrate the watch when an item was clicked to an other source file to clean things up 2023-11-03 14:40:12 +01:00
Anatole SCHRAMM
06c02f76ba Added the possibility to set the notification's displayed hour format (12H/24H) 2023-10-25 13:39:06 +02:00
Anatole SCHRAMM
6b06e28394 Enabling the settings save feature (called when leaving the settings screen) only when the HARDWARE_PLATFORM is set to SMART_WATCH_PCB_RELEASE 2023-10-25 12:46:43 +02:00
Anatole SCHRAMM
01ba704adc Taking into account the newly available HARDWARE_PLATFORM for various file configurations 2023-10-25 12:44:48 +02:00
Anatole SCHRAMM
627754a5e6 Cleaned and added and new HARDWARE_PLATFORM to set the BLE name of the device as well as enable specific features if it is the release firmware ie the watch that is used daily 2023-10-25 12:43:41 +02:00
anschrammh
f31b3a2896 Corrected received notification time formatting, changed a lv_label_set_text to lv_label_set_text_static 2023-10-25 08:23:52 +02:00
3c36ec92ad Added the watch_power_management folder to the header include list 2023-10-22 09:03:46 +02:00
0fcfae7d1c Reworked the RTC driver to internally track the years from 2000 and not 1900 as there are only 7 bits for storing the years and this would overflow in 2028 ... 2023-10-22 09:02:38 +02:00
111ebd65c5 Did more code cleaning, integrated notification logic, a few things still needed to be fully functional 2023-10-22 09:00:33 +02:00
4107a5461f Added new settings to the notification section of the settings (Vibrations duration and strength for the message notifications and for the call notifications), added switches to enable or disable notifications 2023-10-22 08:59:28 +02:00
77a87d401e Added new functions to the API, work is almost done for the popup part of the notification, still need to design the notification history app 2023-10-22 08:57:23 +02:00
5b74ae2676 Added missing (void *) cast 2023-10-22 08:55:26 +02:00
ab08d61ee2 Fixed badly computed vibration strength, which could'nt reach 255... 2023-10-22 08:54:13 +02:00
24c3d8f397 Added missing stdio include file 2023-10-22 08:52:10 +02:00
e878184b5d Added a few function around power management, work is still in progress aand the API might change 2023-10-22 08:50:19 +02:00
f7c66602e7 Minor clean 2023-10-22 08:48:41 +02:00
anschrammh
e8f8f694f0 Updated CodeBlocks LVGL simulator main.c file 2023-10-19 08:32:30 +02:00
anschrammh
9e63ebd529 Updated the notification screen in the CodeBlocks LVGL simulator as work is in progress 2023-10-19 08:32:28 +02:00
anschrammh
a89e0db18a increased the available memory to lvgl from 30k to 35k of RAM 2023-10-19 08:32:27 +02:00
anschrammh
d796c4c0fa Fixed a bug where on watch screen creation, depending on the current battery state, I paused a timer which was not yet created... 2023-10-19 08:32:26 +02:00
anschrammh
b19c7defc7 Added an event callback to know what setting category is opened and closed, reworked the way the side screen is cleaned (refactoring), added a background color on the selected item of the list 2023-10-19 08:32:25 +02:00
anschrammh
bf9816457b Added the GadgetBridge notification popup (Work In Progress), removed the compass app update code from the loop, plus other ongoing code cleanup/rework of this file 2023-10-19 08:32:24 +02:00
anschrammh
af71c44af4 The compass app now updates it's azimuth and temperature by itself with a timer and doesn't rely on the main loop to do so. It also, through a callback, put the magnetometer in active or standby mode to save power when leaving the app 2023-10-19 08:32:20 +02:00
anschrammh
2fc99479c5 Updated the GadgetBridge parser to fix an issue where a double quote was added in the parsed data if we received a notification text with 35 characters, removed the const attribute of the parameter passed in the event callback 2023-10-19 08:07:26 +02:00
anschrammh
59a42c7309 Changed battery_unit_e enumeration values names to capital letters for consistency sake 2023-10-19 08:03:02 +02:00
anschrammh
73b0a6f2f3 Minor change trying to make the mmc_sdio driver more robust 2023-10-19 08:00:25 +02:00
anschrammh
43dc3ce89e Cosmetic change 2023-10-19 07:58:42 +02:00
anschrammh
8f53359cb8 Added the folder for a new module which work is still in progress : the power management block 2023-10-19 07:57:48 +02:00
7af7c7f95d Minor watch settings renaming 2023-10-15 11:04:49 +02:00
5cd5080fc9 Removed a potential memory leak in the GadgetBridge parser state machine 2023-10-15 11:02:55 +02:00
anschrammh
5b0dea4cd7 Remapping the accelerometer axes when changing the display's orientation so that the wakeup gesture continues to work as expected 2023-10-11 13:30:05 +02:00
anschrammh
34bf170dee Minor changes : added the static keyword to some global variables to at least limit their scope to the file 2023-10-03 20:46:38 +02:00
dd5ab56bc0 Updated the LVGL demo Code::Blocks project file, started to work on the notification screen to display incoming text messages, emails and more. 2023-10-01 19:51:54 +02:00
1e1cb3e459 Updated firmware version number 2023-10-01 19:48:25 +02:00
1f43db8e18 Updated the watch's settings screen so that the selected item in the list on the left side is highlighted. 2023-10-01 19:45:12 +02:00
d1f1481f13 Commented the functions of the API and corrected a last issue (I hope) with an integer overflow causing some sync issues. Music player should be perfect now ! 2023-10-01 19:43:19 +02:00
1a425cce58 Now vibrating the watch on a menu item click if it is configured to do so 2023-10-01 19:40:05 +02:00
72ddebfb8b Minor update to function comment 2023-10-01 19:38:58 +02:00
0bb9c1fe7e Removed the touch_panel_feedback_cb callback function which vibrated the screen every time the touch screen was used 2023-10-01 19:36:48 +02:00
5deafc767d Added a new function which should be called on every item click. It will vibrate the watch to give some user feedback if the watch is configured to do so 2023-10-01 19:35:26 +02:00
07e5867d21 Updated the watch_peripherals_vibrate_with_pattern function sighature, the parameter is now a const 2023-10-01 19:34:08 +02:00
anschrammh
50b12e4548 Reworked the way the music player is keeping track of the play time of the current playing song so it doesn't desync when closing the player app or when the screen goes off 2023-09-27 23:07:20 +02:00
anschrammh
6330ecac76 Added some doc to some functions 2023-09-27 00:52:59 +02:00
anschrammh
08be2b5946 Reworked the way the playing track time is computed so that there no sync issues when we leave the music player app while a song is still playing 2023-09-26 23:26:35 +02:00
anschrammh
b0ba6c36e4 Rewriting the music player to have a better sync between phone track play time and what is displayed on the watch 2023-09-21 12:47:20 +02:00
f5d3e33dab Fixed the date shown in the about section of the settings, months were off by one ... 2023-08-08 20:42:25 +02:00
Anatole SCHRAMM
ece0d08ae7 Added more documentation comments 2023-07-06 15:28:18 +02:00
Anatole SCHRAMM
8af4e2467e Now updating the battery percentage sent by the BLE battery service 2023-07-06 15:14:38 +02:00
anschrammh
0e6828634f Updated lvgl simulator watch face source file 2023-06-15 23:06:03 +02:00
anschrammh
10cb049ab1 Changed the logic of the music player when clicking on the next and previous buttons, now, a short click goes to the next/previous track and a long click forwards/rewinds the song by X seconds 2023-05-30 19:12:05 +02:00
anschrammh
5a62e05e0e Automatically centers the date number in the date windows of the watch's face 2023-05-30 19:10:39 +02:00
anschrammh
bc37beb5c0 Added a new function to the watch peripherals API to vibrate the watch with a custom pattern 2023-05-30 19:09:26 +02:00
Anatole SCHRAMM
5276ce1664 Added a timer to update the playing's music current position, will have to do a minor rework for it to be flawless. 2023-05-16 13:45:41 +02:00
anschrammh
6e8802399b music_player_screen slight timer update 2023-05-16 08:42:41 +02:00
8ee1be93c6 Added the music player UI mockup 2023-05-14 22:18:41 +02:00
c9f84fd5c1 Added missing strcasecmp function prototype in the include file 2023-05-14 22:17:55 +02:00
fa574d0baa Added some new words translation for the music player screen 2023-05-14 22:16:44 +02:00
47e31a1210 Rephrased some API comments 2023-05-14 22:15:14 +02:00
17164c722e Integrated the music player screen to the watch's firmware + minor other things 2023-05-14 22:14:38 +02:00
cf7c52c1eb Commented the API 2023-05-14 22:13:26 +02:00
df4ab1f790 Proper comments format 2023-05-14 22:12:26 +02:00
6df9ab5aad Added the music player icon + saving the menu list scroll position when leaving an app 2023-05-14 22:11:47 +02:00
edb127e626 Updated the gadget bridge parser 2023-05-14 22:10:13 +02:00
23f592bcc1 Finally added the music player used to control the music playback of the phone through the BLE connection. It works great, some minor adjustements to do though. 2023-05-14 22:09:43 +02:00
890e461b90 Finished the UI of the music player, still need to properly increment the current track play position 2023-05-14 22:08:12 +02:00
66fa33cde1 Now saving the scroll position of the menu to resum it when exiting an app 2023-05-14 22:06:58 +02:00
677c3f3a67 Made slights adjustement to the parser to correctly parse the artist song tag when the album tag is present 2023-05-14 22:06:09 +02:00
faefc7df74 Music player screen is almost done, a few things more to tweak 2023-05-13 00:19:19 +02:00
2f50aa50c6 With the current driver state, it is possible to detect heart beats and thus compute the current heart rate. More things to come. 2023-05-12 15:24:59 +02:00
880dd9cb0e MAX3010X driver continued and to be continued ... 2023-05-12 12:31:01 +02:00
61d8f80551 Renamed MAX3010X.h/c driver files 2023-05-11 21:57:20 +02:00
anschrammh
dc2f1dcecc Replaced lv_color_make(0xFF, 0xFF,0xFF) with lv_color_white(). 2023-05-11 07:22:56 +02:00
anschrammh
8aa309b0c6 Minor changes + added the initialization code for the music player screen 2023-05-11 07:19:19 +02:00