Compare commits

...

3 Commits

Author SHA1 Message Date
anschrammh
f57d6de27d merge 2023-12-18 20:59:08 +01:00
anschrammh
1f20f148fd Added a todo and done list to gather new ideas. A lot of work to do still 2023-12-18 20:56:50 +01:00
anschrammh
ea9f987556 Added a todo and done list to gather new ideas. A lot of work to do still 2023-12-04 19:45:29 +01:00

113
README.md
View File

@ -202,7 +202,7 @@ using a magnetic 4 pin plug.
* CST816D I2C capacitive touch ic.
* Five screens designed and working with LVGL :
* A watch face based on a casio watch.
* A menu screen with a list of icons.
* A circular menu screen with icons.
* A setting screen with basic settings (date and time + display brightness) (work in progress).
* A compass application using the QMC5883L.
* A find my phone screen which makes the device ring and vibrate (must be connected to watch using BLE through the GadgetBridge app).
@ -218,19 +218,52 @@ using a magnetic 4 pin plug.
* Added **multi-language** support to the UI, still some translations to do though.
* Step counter using the BMA456 is working and steps are displayed on the watch face.
## **To Do list :**
* Write the notification app listing all the received notification to be able to read them again or delete them if wanted.
* Improve the received notification design (colour and layout) as well as the AM or PM time when hour format is set to 12H.
* Call the GadgetBridge parser close notification when notification is closed.
* Write a flash light app which sets the screen brightness to its maximum and
sets a white background, be able to make it also flash with a red background.
* Add a quick access drawer (like on android) to :
* turn bluetooth on and off faster
* enable or disable the watch wrist tilt wakeup
* open the flash light app
* access the battery charge/discharge history app (to be written)
* more if some ideas pop
* Update the altimeter app (add transistions when changing screens in the app) and port it to the watch.
* Update the compass algorithm to also use the Z axis and not having to hold the watch flat.
* Update the settings app to include a sensor category where calibration can be done for the magnetometer as well as for the temperature sensor to get more accurate temperature when the watch is worn.
* Update the GadgetBridge parser to work with the latest version of GadgetBridge.
* Write an algorithm to get the heart rate measurements and a way to make them periodically and displays it in a dedicated app and on the watch face.
* Display the weather forecast on the watch face using icons (Data coming from GadgetBridge).
* Finish to translate all texts in the 3 supported languages (French, English and German).
* Design a digital watch face with a light memory footprint to be able to choose a watch face kind at run time.
* Improve the step counting mechanism (reset step count every midnight).
* Write an app to track step counts made every day.
* Write an alarm app which set an RTC alarm to vibrate the watch.
* Write a timer app with countdown and lap functionality.
## To do - HARDWARE:
* [X] Add the MAX30102 Heart Rate Monitor to the current design.
* [X] Issue with the DW01A chip, ~~should be as easy as to replace the 100nf C12 cap with a lower value, let's say 80nf~~, found a workaround.
## To do - SOFTWARE
* [X] Finish to design the settings page.
* [X] Implement watch settings persistency using the integrated flash memory
* [ ] Implement a good algorithm to handle adaptiv MCU clock
to save power
* Drivers:
* [X] Write/port the MAX30102 Heart Rate Monitor driver to the project.
* [ ] Add a wake up alarm app (using the vibration motor).
* [X] Add BLE functionality.
## Done List :
* Two analog watch faces available (which can be selected at compile).
* A circular menu screen.
* Total number of steps on the watch face.
* A music player (works with GadgetBridge).
* A compass app with temperature reading.
* The find my phone app (works with GadgetBridge).
* A settings app to set :
* Time and date
* Display settings
* Notification settings
* Connectivity (BLE)
* Language
* About section
* Vibration on the watch works and is configurable.
* Wrist tilt to wake the watch up.
* Receive phone notifications on the watch (works with GadgetBridge).
* Smooth screen changes with transitions.
* Adaptative dynamic MCU clock speed to save power or have better visual performance.
* Battery discharging, charging and charged status on the watch face.
## Achieved power consumption recap:
@ -270,59 +303,9 @@ to save power
* Vibration motor ✓
* Charge IC ✓
### ** Known issues :**
### **Known issues :**
* DW01A chip not driving the double N mosfet as expected (when plugging a battery, the watch doesn't start without beeing plugged into the charger at least once).
Thought it might be a capacitor value issue, replaced C12 with a 82nf and 68nf caps, but it did not solve the problem :(.
**TLDR : after installing the battery, the watch might need to be plugged to it's charger at least once to start up**
## **To Be Done list :**
* Write the notification app listing all the received notification to be able to read them again or delete them if wanted.
* Improve the received notification design (colour and layout) as well as the AM or PM time when hour format is set to 12H.
* Call the GadgetBridge parser close notification when notification is closed.
* Write a flash light app which sets the screen brightness to its maximum and
sets a white background, be able to make it also flash with a red background.
* Add a quick access drawer (like on android) to :
* turn bluetooth on and off faster
* enable or disable the watch wrist tilt wakeup
* open the flash light app
* access the battery charge/discharge history app (to be written)
* more if some ideas pop
* Update the altimeter app (add transistions when changing screens in the app) and port it to the watch.
* Update the compass algorithm to also use the Z axis and not having to hold the watch flat.
* Update the settings app to include a sensor category where calibration can be done for the magnetometer as well as for the temperature sensor to get more accurate temperature when the watch is worn.
* Update the GadgetBridge parser to work with the latest version of GadgetBridge.
* Write an algorithm to get the heart rate measurements and a way to make them periodically and displays it in a dedicated app and on the watch face.
* Display the weather forecast on the watch face using icons (Data coming from GadgetBridge).
* Finish to translate all texts in the 3 supported languages (French, English and German).
* Design a digital watch face with a light memory footprint to be able to choose a watch face kind at run time.
* Improve the step counting mechanism (reset step count every midnight).
* Write an app to track step counts made every day.
* Write an alarm app which set an RTC alarm to vibrate the watch.
* Write a timer app with countdown and lap functionality.
## Done List :
* Two analog watch faces available (which can be selected at compile).
* Total number of steps on the watch face.
* A music player (works with GadgetBridge).
* A compass app with temperature reading.
* The find my phone app (works with GadgetBridge).
* A settings app to set :
* Time and date
* Display settings
* Notification settings
* Connectivity (BLE)
* Language
* About section
* Vibration on the watch works and is configurable.
* Wrist tilt to wake the watch up.
* Receive phone notifications on the watch (works with GadgetBridge).
* Smooth screen changes with transitions.
* Adaptative dynamic MCU clock speed to save power or have better visual performance.
* Battery discharging, charging and charged status on the watch face.
## If you are interested by the project or if you just want to say hi, you can contact me at the email address : bugreport[at]laposte.net .
## If you are interested in the project or if you just want to say hi, you can contact me at the email address : bugreport[at]laposte.net .