Added a todo and done list to gather new ideas. A lot of work to do still

This commit is contained in:
anschrammh 2023-12-04 19:38:13 +01:00
parent 0521ea37a9
commit ea9f987556

View File

@ -36,13 +36,13 @@ The W800 is a pretty interesting chip with impressive characteristics for its pr
* A vibration motor to notify the user of events.
* No physical buttons as everything can be done using the graphical interface.
#### Connectivity :
* The watch has BLE (4.2) connectivity which is used to connect to a phone using the GadgetBridge app to :
* control music playback
* find my phone feature
* report its battery level
* report step counts - **to implement**
* display received text messages, emails and calls - **to implement**
* show the weather forecast for the next 6 hours or so - **to implement**
* The watch has BLE (4.2) connectivity which is used to connect to a phone using the GadgetBridge app (**use version 0.73.0, commit : 4f3472565**) to :
* Control music playback
* Find my phone feature
* Report its battery level
* Report step counts - **to implement**
* Display received text messages, emails and calls - **to implement**
* Show the weather forecast for the next 6 hours or so - **to implement**
* WiFi is also available but not used yet because I didn't find any good use case for it. It is also quite power hungry.
#### Battery and Battery life:
* The battery currently used in this version of the watch is a 6mm x 25mm x 35mm (602535) single cell 600 mAh lipo battery (had one laying around).
@ -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:
@ -275,8 +308,4 @@ to save power
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**
## **Next steps :**
* Write and release a usable firmware for every day use. - **In active dev**
## 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 .