Commit Graph

191 Commits

Author SHA1 Message Date
anschrammh
08b1b8de90 Added header with date, licence and author 2023-04-05 08:04:52 +02:00
c26a88d21c Added a function to the API allowing to register a step count indicator callback used to refresh the step counter of the watch face twice or three time a second. 2023-04-02 21:14:57 +02:00
ad61388bf6 Now starting the rf modem in bluetooth mode 2023-04-02 21:13:14 +02:00
f2b17bffd3 Added the option to only set the rf modem in bluetooth mode when starting it, this makes the power consumption drop significantly 2023-04-02 21:12:45 +02:00
f040e22af7 Deleted unused function prototype 2023-04-02 11:25:32 +02:00
2bfddce356 Fixed bad library path in Makefile ... 2023-03-31 10:57:09 +02:00
2650cf85f9 Merge branch 'master' of http://82.64.196.164/git/Th3maz1ng/W800_Smart_Watch 2023-03-31 10:28:39 +02:00
a7dd2b6af0 Removed blank line 2023-03-31 10:27:53 +02:00
anschrammh
1ef9face5a Updated lvgl simulated screen files 2023-03-30 13:27:24 +02:00
anschrammh
ea79af772b Halfed the BLE prefered MTU size changing it to 256 instead of 512 2023-03-30 13:26:28 +02:00
anschrammh
6a9639700b Added new functions to the watch face API such as watch_face_set_step_count_indicator or watch_face_is_in_use 2023-03-30 13:24:48 +02:00
anschrammh
61f7e21cb3 Added more information in the about section of the settings screen : battery voltage, factory reset button and other things 2023-03-30 13:16:35 +02:00
anschrammh
47753131d6 Added BLE support to the app, fixed a graphical glitch happening when
waking up the watch by touching the screen where the second hand was
jumping from the old time to the new time
2023-03-30 13:14:35 +02:00
anschrammh
3156976f7a Removed the BLE device name from this header file 2023-03-30 13:11:19 +02:00
anschrammh
b5cc52df81 Commented a trace statement in the ble service in order to keep the serial traces clean 2023-03-30 13:09:55 +02:00
anschrammh
e8583254e6 Wrapped the SDIO MMC IO busy wait statement in a function such that it can be called by any API needing it 2023-03-30 13:08:57 +02:00
anschrammh
2b79a31165 Fixed an issue when sending commands to the LCD screen while a DMA
transfer is in progress causing graphical issues
Detail :
A DMA transfer may be in progress when trying to send single byte commands to the LCD screen. This could badly configure the display as soon as the data/command select pin was set to command while the DMA was still sending data bytes.
The fix : doing a busy wait in the lcd_set_data function to be sure the bus is free to use.
2023-03-30 13:05:53 +02:00
anschrammh
a58c453f58 Added a define to easily set the BLE advertised name of the W800SmartWatch 2023-03-30 12:56:32 +02:00
anschrammh
160a2f88db Added new watch face background image with the steps counter icon 2023-03-26 23:30:50 +02:00
anschrammh
ef6e9c3779 Added new firmware_version.h file which will list all the changes with their associated version number. It also containes the firmware build time and date 2023-03-26 23:25:35 +02:00
anschrammh
fe94e2b896 Pushing updates done to the LVGL emulator project files 2023-03-26 23:24:39 +02:00
anschrammh
beb7a86af1 Added a lot of settings handling callbacks, added the code to test the BMA456 step counter feature and it seems to work just fine 2023-03-26 23:22:45 +02:00
anschrammh
721db527ce Added the ble modem and service source files (at last) 2023-03-26 23:21:27 +02:00
anschrammh
85e5fec2cd Updated the watch face background image 2023-03-26 23:19:08 +02:00
anschrammh
622681128c Reworked the vibration duration when touching the screen 2023-03-26 23:18:14 +02:00
anschrammh
214e174ffc Implemented the logic to detect and read the charge controller status pins using two different policies :
- the first one (also used right now) is using interrupts on the two lines
- the second one was doing some polling using a timer interrupt to check the controller status
2023-03-26 23:17:20 +02:00
anschrammh
9f574f0486 Added new features and graphics to the watch face :
Added a battery icon which is blinking when the battery is low
Addes a charging and charged battery icon
Added a step count counter widget with icon and count
Added a bluetooth status icon showing when ble is enabled,disabled and when a device is connected
Added the possibility to hide the hour and minute hands with a long press on the screen, this enables to see information which might be hidden by the hands ...
2023-03-26 23:13:30 +02:00
anschrammh
8a9b805b95 Added new persistency methods, reworked some old ones and added every settings set functions 2023-03-26 23:09:36 +02:00
anschrammh
9458948f59 Added support for new settings with their callbacks, adjusted vibration motor duration, added a factory reset button and now saving the settings to flash memory when leaving the settings screen 2023-03-26 23:07:43 +02:00
anschrammh
22805a4e54 Added the I2C clock speed parameter to the app_config.h file. Max working clock speed seems to be 300kHz 2023-03-26 23:04:43 +02:00
anschrammh
f1af0cd0d6 Adjusted rtc's year setting ... 2023-03-24 16:39:22 +01:00
anschrammh
f1e71bba67 Turned off a lot of functionalities related to TCP IP and WiFi to free some RAM, might be turned on back again later if needed and if RAM space left :P 2023-03-24 15:26:11 +01:00
anschrammh
d05aa72135 Updated all the settings callbacks to be compatible with the new setting system 2023-03-24 15:23:17 +01:00
anschrammh
4c1f1e168a Updated a log trace to be more meaningful 2023-03-24 15:22:15 +01:00
anschrammh
f8dace1dc1 Reduced the main's task stack size from 4k to 2k 2023-03-24 15:18:07 +01:00
anschrammh
2761a53a49 Reduced FreeRTOS available heap from 12k to 4k 2023-03-24 15:17:04 +01:00
anschrammh
2481699356 Vibration settings are now taken into account at lvgl input device driver layer 2023-03-24 15:15:19 +01:00
anschrammh
b65ab1ad4e Reduced LVGL allocated RAM by 10K. This RAM will be useful when running the BLE stack ... 2023-03-24 15:10:17 +01:00
anschrammh
b31cc96c10 Added the tls_is_rtc_running function which is not part of the official SDK. This allows to start the RTC after a reset and to know when it stopped running. 2023-03-24 15:10:16 +01:00
anschrammh
061fdb729b Updated the menu to now use the translation module to display the selected language 2023-03-24 15:06:14 +01:00
anschrammh
7e11913535 Added new watch settings in the persistency layer, added flash read and write functions, work still in progress 2023-03-24 15:06:14 +01:00
anschrammh
185b7a7efa Major rework of the settings screen :
- reduced RAM footprint by 10K :-)
- Added the new about category displaying infos about the watch's firmware
- Now widgets are reloaded with current parameters's values
- Almost all settings are taken into account
2023-03-24 15:06:14 +01:00
anschrammh
728394ff22 Reworked the compass screen to work for both possible platforms (breadboard and PCB) 2023-03-24 15:06:14 +01:00
anschrammh
86be55b404 Reworked the common screen header to add scrolling when the title is too long and to be able to update it's title after is has been created 2023-03-24 15:06:14 +01:00
anschrammh
5d3b5b5285 Added new wrapper functions to interact more easily with the watch's peripherals 2023-03-24 15:06:14 +01:00
anschrammh
beec1570c0 Reworked the orientation of the screen depending on the defined platform in app_config.h 2023-03-24 15:06:14 +01:00
anschrammh
f770a8e436 Added new parameter to be able to build the firmware for the breadboard platform or the PCB (latest) platform 2023-03-24 15:06:14 +01:00
anschrammh
6c4a186a19 Added the new translation module to the project by updating the include paths + makefile 2023-03-24 14:48:20 +01:00
anschrammh
323f1f2996 Added a translation module to implement multilanguage support 2023-03-24 14:45:55 +01:00
anschrammh
0874a24cb9 Added a new header file to track the version history of the firmware and to display the running version 2023-03-24 14:44:30 +01:00
anschrammh
099fe8cea7 Added an other charging state which wasn't an error : when both lines are high, this indicates that no charger is currently plugged to the watch 2023-03-22 08:24:20 +01:00
Anatole SCHRAMM
c97891d898 Added MCU pin definition for reading battery charge controller IC statuses 2023-03-20 17:55:01 +01:00
Anatole SCHRAMM
a752c9765d Adding the battery controller IC charging, charged and unplugged status detection, work in progress 2023-03-20 17:53:38 +01:00
anschrammh
60cf47b142 Added the state of the FreeRTOS stack (free heap/total heap) 2023-03-14 07:32:27 +01:00
anschrammh
66a3c87131 Renamed some file's header guards to be more consistent, clean some useless object in the UI, renamed a watch settings which name could be misleading 2023-03-12 21:44:43 +01:00
anschrammh
6e2a3e88fa Added a battery icon indicating if the watch is charging, charged or if the battery is running low, adde new bluetooth icon, work is still in progress for bluetooth 2023-03-12 21:41:03 +01:00
anschrammh
609b374f4b Finished to design and implement the altimeter/atmoshperic pressure app screen 2023-03-06 20:47:42 +01:00
anschrammh
7e7b93c694 Altimeter screen continued but not finished 2023-02-23 06:22:50 +01:00
1602f01897 Increased application max size in the gcc_csky_bt.ld script as well, added WiFi hotspot scan routine to test antenna 2023-02-19 20:30:04 +01:00
50379bd2a9 Added libs needed with the SDK version 1.00.10 2023-02-19 17:51:03 +01:00
b0f7adb8b5 Merge SDK update into master 2023-02-19 17:14:13 +01:00
d2e15ac177 Minor changes 2023-02-19 17:05:58 +01:00
a5f923bb81 Continued working on the altimeter app 2023-02-19 17:05:13 +01:00
2bda5c0102 Updated all other files to be inline with version 1.00.10 of the SDK 2023-02-19 16:34:26 +01:00
1c6b25a74b SDK V1.00.10 uses Lwip version 2.1.3 2023-02-19 16:24:35 +01:00
4ad5c98edb Renamed SDK folder to prepare for update to version 1.00.10 2023-02-19 16:17:38 +01:00
bca44ed9ae Updated codeblocks emulator project 2023-02-12 18:27:46 +01:00
cf87826a02 Started to design and code the altimeter application 2023-02-12 17:23:25 +01:00
172afb34d3 Adjusted header height 2023-02-12 10:47:51 +01:00
7cbec0bbde Added new altimeter icon in prevision of the altimeter app 2023-02-05 18:36:00 +01:00
8b1b116796 Developed the battery indicator on the lvgl simulator 2023-02-05 12:17:12 +01:00
36aaafac13 Update the gfx task to make use of the battery indicator feature 2023-02-05 12:15:07 +01:00
3cee4efa91 Added the battery indicator to the watch face 2023-02-05 12:14:27 +01:00
17a52b75d6 Added the touch panel reset pin definition 2023-02-03 13:40:00 +01:00
ba9342e249 Updated source code because of changes done in the previous commits 2023-02-03 13:38:29 +01:00
1c51fc9710 Renamed and cleaned up the CST816D_sleep function + implemented the CST816D_hardware_reset function 2023-02-03 13:37:36 +01:00
90aac63257 Added a missing function description + minor description rephrasing 2023-02-03 13:34:19 +01:00
a3a5f65068 Mise à jour de 'src/W800 SDK v1.00.08/app/app_drivers/i2c/CST816D.h'
Added function prototype to issue a reset of the touch panel
2023-01-23 13:40:57 +01:00
efe0578ed9 Mise à jour de 'src/W800 SDK v1.00.08/app/app_drivers/lcd/lcd.h'
Corrected a few comments
2023-01-23 13:35:31 +01:00
0a1737591d Added a simple implementation of adaptive MCU core clock to save power, displayed the current core clock in the main task, minor changes to the app_config file 2023-01-22 21:20:03 +01:00
c9d01ef022 Added new setting to choose the screen's orientation + some other modifications 2023-01-22 21:18:12 +01:00
562114814e Added a function to set the orientation of the screen 2023-01-22 21:16:41 +01:00
7148e76115 Added new function to the touch panel API to put it in sleep or standby, WIP and not working yet 2023-01-22 21:15:59 +01:00
7f6c6c7cd1 Added the watch_peripherals folder to the include path 2023-01-15 20:40:45 +01:00
a8e1d0412e Minor updates to the lvgl files used in the emulation 2023-01-15 20:39:59 +01:00
6f8ccb4f6a Miscellaneous work 2023-01-15 20:37:46 +01:00
eb2c26d85f Added new folder/module containing the API to interract with some of the watch feature like measuring the battery voltage or activating the vibration motor 2023-01-15 20:36:32 +01:00
41da436b93 Added the temperature reading on the compass screen 2023-01-14 14:47:32 +01:00
7117ac348c Forgot to get rid of the first four LSB bits in the pressure raw data. Pressure reading is now correct ! 2023-01-14 13:17:46 +01:00
0ec9b4246b Added lcd off and lcd power down functions to the API. This improves sleep current which is around 4.5mA instead of 12mA 2023-01-08 22:16:37 +01:00
1fe8e03a13 Other important changes 2023-01-07 23:17:50 +01:00
5c7bfc223a Some refactoring 2023-01-07 23:16:31 +01:00
a4b6ac5299 Moved uart TX for debug to PB_02 pin, letting the PB_19 pin free for the I2C SDA line 2023-01-07 23:15:53 +01:00
666a841026 Started the implementation of the persistency module allowing to save and retrieve settings 2023-01-07 23:10:44 +01:00
74d48ada96 Moved the display initialization code to it's own file as part of some code cleanup 2023-01-07 10:02:34 +01:00
af85b9b594 Disabled interrupts during an I2C transaction to make them atomic 2023-01-07 10:00:14 +01:00
f53ec9b5db Created the watch settings persistency file containing the watch settings to save and retrieve 2023-01-06 19:32:42 +01:00
Anatole SCHRAMM
59bf4c98bc Corrected a bad case where the return value could be void instead of the expected bool 2023-01-05 13:49:17 +01:00
Anatole SCHRAMM
526845e4f2 Listed the pin mapping here, subject to changes 2023-01-05 13:48:16 +01:00
Anatole SCHRAMM
2c854e2535 Cleaned the lv_port_indev c file to now use the CST816D chip driver 2023-01-05 13:47:39 +01:00