some fixes, more debug infomation

This commit is contained in:
sharandac
2020-08-17 18:54:10 +02:00
parent d8ae6ce506
commit f83400396b
14 changed files with 52 additions and 30 deletions

View File

@@ -34,6 +34,7 @@ lv_obj_t *weather_setup_tile = NULL;
lv_style_t weather_setup_style; lv_style_t weather_setup_style;
uint32_t weather_setup_tile_num; uint32_t weather_setup_tile_num;
lv_obj_t *weather_geolocation_onoff = NULL;
lv_obj_t *weather_apikey_textfield = NULL; lv_obj_t *weather_apikey_textfield = NULL;
lv_obj_t *weather_lat_textfield = NULL; lv_obj_t *weather_lat_textfield = NULL;
lv_obj_t *weather_lon_textfield = NULL; lv_obj_t *weather_lon_textfield = NULL;
@@ -74,7 +75,22 @@ void weather_setup_tile_setup( uint32_t tile_num ) {
lv_obj_add_style( exit_label, LV_OBJ_PART_MAIN, &weather_setup_style ); lv_obj_add_style( exit_label, LV_OBJ_PART_MAIN, &weather_setup_style );
lv_label_set_text( exit_label, "open weather setup"); lv_label_set_text( exit_label, "open weather setup");
lv_obj_align( exit_label, exit_btn, LV_ALIGN_OUT_RIGHT_MID, 5, 0 ); lv_obj_align( exit_label, exit_btn, LV_ALIGN_OUT_RIGHT_MID, 5, 0 );
/*
lv_obj_t *weather_geolocation_cont = lv_obj_create( weather_setup_tile, NULL );
lv_obj_set_size( weather_geolocation_cont, LV_HOR_RES_MAX , 32);
lv_obj_add_style( weather_geolocation_cont, LV_OBJ_PART_MAIN, &weather_setup_style );
lv_obj_align( weather_geolocation_cont, weather_setup_tile, LV_ALIGN_IN_TOP_MID, 0, 49 );
weather_geolocation_onoff = lv_switch_create( weather_geolocation_cont, NULL );
lv_obj_add_protect( weather_geolocation_onoff, LV_PROTECT_CLICK_FOCUS);
lv_obj_add_style( weather_geolocation_onoff, LV_SWITCH_PART_INDIC, mainbar_get_switch_style() );
lv_switch_off( weather_geolocation_onoff, LV_ANIM_ON );
lv_obj_align( weather_geolocation_onoff, weather_geolocation_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 );
lv_obj_set_event_cb( weather_geolocation_onoff, weather_geolocation_onoff_event_handler );
lv_obj_t *weather_geolocation_label = lv_label_create( weather_geolocation_cont, NULL);
lv_obj_add_style( weather_geolocation_label, LV_OBJ_PART_MAIN, &weather_setup_style );
lv_label_set_text( weather_geolocation_label, "geolocation via ip-api.com");
lv_obj_align( weather_geolocation_label, weather_geolocation_cont, LV_ALIGN_IN_LEFT_MID, 5, 0 );
*/
lv_obj_t *weather_apikey_cont = lv_obj_create( weather_setup_tile, NULL ); lv_obj_t *weather_apikey_cont = lv_obj_create( weather_setup_tile, NULL );
lv_obj_set_size(weather_apikey_cont, LV_HOR_RES_MAX , 40); lv_obj_set_size(weather_apikey_cont, LV_HOR_RES_MAX , 40);
lv_obj_add_style( weather_apikey_cont, LV_OBJ_PART_MAIN, &weather_setup_style ); lv_obj_add_style( weather_apikey_cont, LV_OBJ_PART_MAIN, &weather_setup_style );
@@ -127,7 +143,7 @@ void weather_setup_tile_setup( uint32_t tile_num ) {
lv_obj_set_event_cb( weather_lon_textfield, weather_textarea_event_cb ); lv_obj_set_event_cb( weather_lon_textfield, weather_textarea_event_cb );
lv_obj_t *weather_autosync_cont = lv_obj_create( weather_setup_tile, NULL ); lv_obj_t *weather_autosync_cont = lv_obj_create( weather_setup_tile, NULL );
lv_obj_set_size( weather_autosync_cont, LV_HOR_RES_MAX , 40); lv_obj_set_size( weather_autosync_cont, LV_HOR_RES_MAX , 32);
lv_obj_add_style( weather_autosync_cont, LV_OBJ_PART_MAIN, &weather_setup_style ); lv_obj_add_style( weather_autosync_cont, LV_OBJ_PART_MAIN, &weather_setup_style );
lv_obj_align( weather_autosync_cont, weather_lat_cont, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5 ); lv_obj_align( weather_autosync_cont, weather_lat_cont, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5 );
weather_autosync_onoff = lv_switch_create( weather_autosync_cont, NULL ); weather_autosync_onoff = lv_switch_create( weather_autosync_cont, NULL );
@@ -142,7 +158,7 @@ void weather_setup_tile_setup( uint32_t tile_num ) {
lv_obj_align( weather_autosync_label, weather_autosync_cont, LV_ALIGN_IN_LEFT_MID, 5, 0 ); lv_obj_align( weather_autosync_label, weather_autosync_cont, LV_ALIGN_IN_LEFT_MID, 5, 0 );
lv_obj_t *weather_wind_cont = lv_obj_create( weather_setup_tile, NULL); lv_obj_t *weather_wind_cont = lv_obj_create( weather_setup_tile, NULL);
lv_obj_set_size( weather_wind_cont, LV_HOR_RES_MAX, 40); lv_obj_set_size( weather_wind_cont, LV_HOR_RES_MAX, 32);
lv_obj_add_style( weather_wind_cont, LV_OBJ_PART_MAIN, &weather_setup_style ); lv_obj_add_style( weather_wind_cont, LV_OBJ_PART_MAIN, &weather_setup_style );
lv_obj_align( weather_wind_cont, weather_autosync_cont, LV_ALIGN_OUT_BOTTOM_MID, 0, 0 ); lv_obj_align( weather_wind_cont, weather_autosync_cont, LV_ALIGN_OUT_BOTTOM_MID, 0, 0 );
weather_wind_onoff = lv_switch_create( weather_wind_cont, NULL); weather_wind_onoff = lv_switch_create( weather_wind_cont, NULL);

View File

@@ -32,6 +32,6 @@
/* /*
* firmeware version string * firmeware version string
*/ */
#define __FIRMWARE__ "2020081701" #define __FIRMWARE__ "2020081702"
#endif // _CONFIG_H #endif // _CONFIG_H

View File

@@ -41,6 +41,9 @@
typedef struct { typedef struct {
lv_obj_t *app; lv_obj_t *app;
lv_obj_t *label; lv_obj_t *label;
lv_obj_t *icon_cont;
lv_obj_t *icon;
lv_obj_t *icon_indicator;
lv_coord_t x; lv_coord_t x;
lv_coord_t y; lv_coord_t y;
bool active; bool active;

View File

@@ -119,7 +119,7 @@ uint32_t mainbar_add_tile( uint16_t x, uint16_t y ) {
lv_obj_set_pos( tile[ tile_entrys - 1 ].tile, tile_pos_table[ tile_entrys - 1 ].x * LV_HOR_RES , tile_pos_table[ tile_entrys - 1 ].y * LV_VER_RES ); lv_obj_set_pos( tile[ tile_entrys - 1 ].tile, tile_pos_table[ tile_entrys - 1 ].x * LV_HOR_RES , tile_pos_table[ tile_entrys - 1 ].y * LV_VER_RES );
lv_tileview_add_element( mainbar, tile[ tile_entrys - 1 ].tile ); lv_tileview_add_element( mainbar, tile[ tile_entrys - 1 ].tile );
lv_tileview_set_valid_positions( mainbar, tile_pos_table, tile_entrys ); lv_tileview_set_valid_positions( mainbar, tile_pos_table, tile_entrys );
log_d("add tile: x=%d, y=%d", tile_pos_table[ tile_entrys - 1 ].x, tile_pos_table[ tile_entrys - 1 ].y ); log_i("add tile: x=%d, y=%d", tile_pos_table[ tile_entrys - 1 ].x, tile_pos_table[ tile_entrys - 1 ].y );
return( tile_entrys - 1 ); return( tile_entrys - 1 );
} }

View File

@@ -54,7 +54,7 @@ void setup_tile_setup( void ) {
lv_obj_set_hidden( setup_entry[ setup ].setup, true ); lv_obj_set_hidden( setup_entry[ setup ].setup, true );
log_d("icon screen/x/y: %d/%d/%d", setup / ( MAX_SETUP_ICON_HORZ * MAX_SETUP_ICON_VERT ), setup_entry[ setup ].x, setup_entry[ setup ].y ); log_i("icon screen/x/y: %d/%d/%d", setup / ( MAX_SETUP_ICON_HORZ * MAX_SETUP_ICON_VERT ), setup_entry[ setup ].x, setup_entry[ setup ].y );
} }
} }

View File

@@ -332,7 +332,6 @@ void statusbar_refresh( void ) {
} }
lv_obj_reset_style_list( statusicon[ i ].icon, LV_OBJ_PART_MAIN ); lv_obj_reset_style_list( statusicon[ i ].icon, LV_OBJ_PART_MAIN );
lv_obj_add_style( statusicon[ i ].icon, LV_OBJ_PART_MAIN, statusicon[i].style ); lv_obj_add_style( statusicon[ i ].icon, LV_OBJ_PART_MAIN, statusicon[i].style );
// lv_obj_set_style( statusicon[ i ].icon, statusicon[i].style );
} }
} }
} }

View File

@@ -186,7 +186,7 @@ class BleCtlCallbacks : public BLECharacteristicCallbacks
log_i("attention, new message"); log_i("attention, new message");
break; break;
case LineFeed: log_i("message complete, fire BLTCTL_MSG callback"); case LineFeed: log_i("message complete, fire BLTCTL_MSG callback");
if( gadgetbridge_msg[ 0 ] == 'G' && gadgetbridge_msg[ 1 ] == 'B' ) { if( gadgetbridge_msg[ 0 ] == 'G' && gadgetbridge_msg[ 1 ] == 'B' || gadgetbridge_msg[ 2 ] == '(' ) {
log_i("gadgetbridge message identified, cut down to json"); log_i("gadgetbridge message identified, cut down to json");
gadgetbridge_msg[ gadgetbridge_msg_size - 1 ] = '\0'; gadgetbridge_msg[ gadgetbridge_msg_size - 1 ] = '\0';
log_i("msg: %s", &gadgetbridge_msg[ 3 ] ); log_i("msg: %s", &gadgetbridge_msg[ 3 ] );
@@ -324,7 +324,7 @@ void blectl_register_cb( EventBits_t event, BLECTL_CALLBACK_FUNC blectl_event_cb
blectl_event_cb_table[ blectl_event_cb_entrys - 1 ].event = event; blectl_event_cb_table[ blectl_event_cb_entrys - 1 ].event = event;
blectl_event_cb_table[ blectl_event_cb_entrys - 1 ].event_cb = blectl_event_cb; blectl_event_cb_table[ blectl_event_cb_entrys - 1 ].event_cb = blectl_event_cb;
log_i("register blectl_event_cb success"); log_i("register blectl_event_cb success (%p)", blectl_event_cb_table[ blectl_event_cb_entrys - 1 ].event_cb );
} }
/* /*
* *
@@ -333,7 +333,7 @@ void blectl_send_event_cb( EventBits_t event, char *msg ) {
for ( int entry = 0 ; entry < blectl_event_cb_entrys ; entry++ ) { for ( int entry = 0 ; entry < blectl_event_cb_entrys ; entry++ ) {
yield(); yield();
if ( event & blectl_event_cb_table[ entry ].event ) { if ( event & blectl_event_cb_table[ entry ].event ) {
log_i("call blectl_event_cb"); log_i("call blectl_event_cb (%p)", blectl_event_cb_table[ entry ].event_cb );
blectl_event_cb_table[ entry ].event_cb( event, msg ); blectl_event_cb_table[ entry ].event_cb( event, msg );
} }
} }

View File

@@ -72,12 +72,12 @@ void pmu_standby( void ) {
ttgo->power->clearTimerStatus(); ttgo->power->clearTimerStatus();
if ( pmu_get_silence_wakeup() ) { if ( pmu_get_silence_wakeup() ) {
if ( ttgo->power->isChargeing() || ttgo->power->isVBUSPlug() ) { if ( ttgo->power->isChargeing() || ttgo->power->isVBUSPlug() ) {
ttgo->power->setTimer( 3 ); ttgo->power->setTimer( pmu_config.silence_wakeup_time_vbplug );
log_i("enable silence wakeup timer, 3min"); log_i("enable silence wakeup timer, %dmin", pmu_config.silence_wakeup_time_vbplug );
} }
else { else {
ttgo->power->setTimer( 60 ); ttgo->power->setTimer( pmu_config.silence_wakeup_time );
log_i("enable silence wakeup timer, 60min"); log_i("enable silence wakeup timer, %dmin", pmu_config.silence_wakeup_time );
} }
} }
@@ -127,6 +127,8 @@ void pmu_save_config( void ) {
SpiRamJsonDocument doc( 1000 ); SpiRamJsonDocument doc( 1000 );
doc["silence_wakeup"] = pmu_config.silence_wakeup; doc["silence_wakeup"] = pmu_config.silence_wakeup;
doc["silence_wakeup_time"] = pmu_config.silence_wakeup_time;
doc["silence_wakeup_time_vbplug"] = pmu_config.silence_wakeup_time_vbplug;
doc["experimental_power_save"] = pmu_config.experimental_power_save; doc["experimental_power_save"] = pmu_config.experimental_power_save;
doc["compute_percent"] = pmu_config.compute_percent; doc["compute_percent"] = pmu_config.compute_percent;
@@ -156,9 +158,11 @@ void pmu_read_config( void ) {
log_e("update check deserializeJson() failed: %s", error.c_str() ); log_e("update check deserializeJson() failed: %s", error.c_str() );
} }
else { else {
pmu_config.silence_wakeup = doc["silence_wakeup"].as<bool>(); pmu_config.silence_wakeup = doc["silence_wakeup"].as<bool>() | false;
pmu_config.experimental_power_save = doc["experimental_power_save"].as<bool>(); pmu_config.silence_wakeup_time = doc["compute_percent"].as<int8_t>() | 60;
pmu_config.compute_percent = doc["compute_percent"].as<bool>(); pmu_config.silence_wakeup_time_vbplug = doc["compute_percent"].as<int8_t>() | 3;
pmu_config.experimental_power_save = doc["experimental_power_save"].as<bool>() | false;
pmu_config.compute_percent = doc["compute_percent"].as<bool>() | false;
} }
doc.clear(); doc.clear();
} }

View File

@@ -22,6 +22,8 @@
#ifndef _PMU_H #ifndef _PMU_H
#define _PMU_H #define _PMU_H
#include "TTGO.h"
#define PMU_EVENT_AXP_INT _BV(0) #define PMU_EVENT_AXP_INT _BV(0)
#define PMU_BATTERY_CAP 300 #define PMU_BATTERY_CAP 300
@@ -33,6 +35,8 @@
bool compute_percent = false; bool compute_percent = false;
bool experimental_power_save = false; bool experimental_power_save = false;
bool silence_wakeup = true; bool silence_wakeup = true;
uint8_t silence_wakeup_time = 60;
uint8_t silence_wakeup_time_vbplug = 3;
} pmu_config_t; } pmu_config_t;
/* /*

View File

@@ -97,10 +97,8 @@ void powermgm_loop( TTGOClass *ttgo ) {
wifictl_wakeup(); wifictl_wakeup();
blectl_wakeup(); blectl_wakeup();
Serial.printf("Total heap: %d\r\n", ESP.getHeapSize()); log_i("Free heap: %d\r\n", ESP.getFreeHeap());
Serial.printf("Free heap: %d\r\n", ESP.getFreeHeap()); log_i("Free PSRAM heap: %d\r\n", ESP.getFreePsram());
Serial.printf("Total PSRAM: %d\r\n", ESP.getPsramSize());
Serial.printf("Free PSRAM: %d\r\n", ESP.getFreePsram());
ttgo->startLvglTick(); ttgo->startLvglTick();
lv_disp_trig_activity(NULL); lv_disp_trig_activity(NULL);
@@ -121,10 +119,9 @@ void powermgm_loop( TTGOClass *ttgo ) {
ttgo->stopLvglTick(); ttgo->stopLvglTick();
Serial.printf("Total heap: %d\r\n", ESP.getHeapSize()); log_i("Free heap: %d\r\n", ESP.getFreeHeap());
Serial.printf("Free heap: %d\r\n", ESP.getFreeHeap()); log_i("Free PSRAM heap: %d\r\n", ESP.getFreePsram());
Serial.printf("Total PSRAM: %d\r\n", ESP.getPsramSize());
Serial.printf("Free PSRAM: %d\r\n", ESP.getFreePsram());
display_standby(); display_standby();
timesyncToRTC(); timesyncToRTC();

View File

@@ -331,7 +331,7 @@ void wifictl_register_cb( EventBits_t event, WIFICTL_CALLBACK_FUNC wifictl_event
wifictl_event_cb_table[ wifictl_event_cb_entrys - 1 ].event = event; wifictl_event_cb_table[ wifictl_event_cb_entrys - 1 ].event = event;
wifictl_event_cb_table[ wifictl_event_cb_entrys - 1 ].event_cb = wifictl_event_cb; wifictl_event_cb_table[ wifictl_event_cb_entrys - 1 ].event_cb = wifictl_event_cb;
log_i("register wifictl_event_cb success"); log_i("register wifictl_event_cb success (%p)", wifictl_event_cb_table[ wifictl_event_cb_entrys - 1 ].event_cb );
} }
/* /*
* *
@@ -340,7 +340,7 @@ void wifictl_send_event_cb( EventBits_t event, char *msg ) {
for ( int entry = 0 ; entry < wifictl_event_cb_entrys ; entry++ ) { for ( int entry = 0 ; entry < wifictl_event_cb_entrys ; entry++ ) {
yield(); yield();
if ( event & wifictl_event_cb_table[ entry ].event ) { if ( event & wifictl_event_cb_table[ entry ].event ) {
log_i("call wifictl_event_cb"); log_i("call wifictl_event_cb (%p)", wifictl_event_cb_table[ entry ].event_cb );
wifictl_event_cb_table[ entry ].event_cb( event, msg ); wifictl_event_cb_table[ entry ].event_cb( event, msg );
} }
} }
@@ -513,7 +513,7 @@ void wifictl_Task( void * pvParameters ) {
while ( true ) { while ( true ) {
vTaskDelay( 500 ); vTaskDelay( 500 );
if ( wifictl_get_event( WIFICTL_OFF_REQUEST ) && wifictl_get_event( WIFICTL_ON_REQUEST ) ) { if ( wifictl_get_event( WIFICTL_OFF_REQUEST ) && wifictl_get_event( WIFICTL_ON_REQUEST ) ) {
log_e("confused by wifictl on/off at the same time. off request accept"); log_w("confused by wifictl on/off at the same time. off request accept");
} }
if ( wifictl_get_event( WIFICTL_OFF_REQUEST ) ) { if ( wifictl_get_event( WIFICTL_OFF_REQUEST ) ) {

View File

@@ -99,7 +99,6 @@ void setup()
Serial.printf("Free PSRAM: %d\r\n", ESP.getFreePsram()); Serial.printf("Free PSRAM: %d\r\n", ESP.getFreePsram());
disableCore0WDT(); disableCore0WDT();
disableCore1WDT();
} }
void loop() void loop()

Binary file not shown.

View File

@@ -1 +1 @@
{"version":"2020081701","host":"http://www.neo-guerillaz.de","file":"ttgo-t-watch2020_v1.ino.bin"} {"version":"2020081702","host":"http://www.neo-guerillaz.de","file":"ttgo-t-watch2020_v1.ino.bin"}