Compare commits

...

2 Commits

2 changed files with 20 additions and 8 deletions

View File

@ -235,12 +235,13 @@ to save power
## Achieved power consumption recap: ## Achieved power consumption recap:
(Need to work on sleep current :-( ) (Need to work on sleep current :-( )
| Mode | Current draw | Estimated battery life (600 mAh lipo) | | Mode | Current draw | Estimated battery life (600 mAh lipo) |
|--------------------------|--------------|---------------------------------------| |--------------------------|--------------------------|---------------------------------------|
|Active (40MHz clk)<br>(No BLE / No WiFi) |~52 mA | ~11 hour | |Active (80MHz clk)<br>(No BLE / No WiFi / Screen on) |~54.51 mA | ~11 hours |
|Active (240MHz clk)<br>(No BLE / No WiFi)|~72 mA | ~8 hour | |Active (160MHz clk)<br>(No BLE / No WiFi / Screen on)|~64.7 mA | ~9 hours |
|Sleep |~4.5 mA |~5 days and 12 hours | |Sleep (Clock is OFF / No BLE) |~3.97 mA | ~6 days |
|Standby |~1.8 mA |~13 days and 15 hours | |Sleep (40MHz clk / With BLE) |~49.20 mA | ~12 hours |
|Standby (Not available) |~1.8 mA |~13 days and 15 hours |
## Some screenshots of the achieved visuals currently running on the watch using lvgl : ## Some screenshots of the achieved visuals currently running on the watch using lvgl :
![](http://82.64.196.164/images/git/watch_graphics.png) ![](http://82.64.196.164/images/git/watch_graphics.png)

View File

@ -302,7 +302,7 @@ static void setBLEEnabledCb(bool *enabled, SettingMode_e mode)
else else
{ {
watch_settings_connectivity_set_ble_enabled(*enabled); watch_settings_connectivity_set_ble_enabled(*enabled);
//Let's turn the BLE on or OFF here // Let's turn the BLE on or off here
if(*enabled) if(*enabled)
{ {
if(!ble_modem_on(true, true)) if(!ble_modem_on(true, true))
@ -524,7 +524,7 @@ static void ble_service_nus_data_rx_cb(const uint8_t *data, uint16_t length)
gadget_bridge_parser_feed((const char *)data, length); gadget_bridge_parser_feed((const char *)data, length);
while(gadget_bridge_parser_run() == GADGET_BRIDGE_PARSER_CODE_PARSING); while(gadget_bridge_parser_run() == GADGET_BRIDGE_PARSER_CODE_PARSING);
} }
static uint32_t bt_ctrl_sleep_ms = 0;
static void ble_service_state_change_cb(ble_service_state_e ble_service_state) static void ble_service_state_change_cb(ble_service_state_e ble_service_state)
{ {
switch(ble_service_state) switch(ble_service_state)
@ -533,6 +533,17 @@ static void ble_service_state_change_cb(ble_service_state_e ble_service_state)
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_CONNECTED); watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_CONNECTED);
find_my_phone_screen_notify_BLE_connection_state(&findMyPhoneScreen, true); find_my_phone_screen_notify_BLE_connection_state(&findMyPhoneScreen, true);
music_player_screen_notify_BLE_connection_state(&musicPlayerScreen, true); music_player_screen_notify_BLE_connection_state(&musicPlayerScreen, true);
// Let's request a BLE connection parameters update
ble_service_update_connection_parameters(
84, // itvl_min 105 ms
120, // itvl_max 150 ms
5, // latency 5
1000, // supervision timeout 10 s
0x0010, // min connection event length 10 ms
0x0300 // max connection event length 480 ms
);
// Let's request a MTU update
ble_service_request_mtu_exchange();
break; break;
case BLE_SERVICE_MODE_ADVERTISING: case BLE_SERVICE_MODE_ADVERTISING:
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_ON); watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_ON);