add update url textarea
This commit is contained in:
@@ -38,10 +38,12 @@ lv_style_t update_setup_style;
|
|||||||
uint32_t update_setup_tile_num;
|
uint32_t update_setup_tile_num;
|
||||||
|
|
||||||
lv_obj_t *update_check_autosync_onoff = NULL;
|
lv_obj_t *update_check_autosync_onoff = NULL;
|
||||||
|
lv_obj_t *update_check_url_textfield = NULL;
|
||||||
|
|
||||||
LV_IMG_DECLARE(exit_32px);
|
LV_IMG_DECLARE(exit_32px);
|
||||||
LV_IMG_DECLARE(setup_32px);
|
LV_IMG_DECLARE(setup_32px);
|
||||||
|
|
||||||
|
static void update_check_url_textarea_event_cb( lv_obj_t * obj, lv_event_t event );
|
||||||
static void exit_update_check_setup_event_cb( lv_obj_t * obj, lv_event_t event );
|
static void exit_update_check_setup_event_cb( lv_obj_t * obj, lv_event_t event );
|
||||||
static void update_check_autosync_onoff_event_handler( lv_obj_t * obj, lv_event_t event );
|
static void update_check_autosync_onoff_event_handler( lv_obj_t * obj, lv_event_t event );
|
||||||
void update_read_config( void );
|
void update_read_config( void );
|
||||||
@@ -90,6 +92,23 @@ void update_setup_tile_setup( uint32_t tile_num ) {
|
|||||||
lv_label_set_text( update_check_autosync_label, "check for updates");
|
lv_label_set_text( update_check_autosync_label, "check for updates");
|
||||||
lv_obj_align( update_check_autosync_label, update_check_autosync_cont, LV_ALIGN_IN_LEFT_MID, 5, 0 );
|
lv_obj_align( update_check_autosync_label, update_check_autosync_cont, LV_ALIGN_IN_LEFT_MID, 5, 0 );
|
||||||
|
|
||||||
|
lv_obj_t *update_check_url_cont = lv_obj_create( update_setup_tile, NULL );
|
||||||
|
lv_obj_set_size(update_check_url_cont, LV_HOR_RES_MAX , 60);
|
||||||
|
lv_obj_add_style( update_check_url_cont, LV_OBJ_PART_MAIN, &update_setup_style );
|
||||||
|
lv_obj_align( update_check_url_cont, update_check_autosync_cont, LV_ALIGN_OUT_BOTTOM_MID, 0, 0 );
|
||||||
|
lv_obj_t *update_check_url_label = lv_label_create( update_check_url_cont, NULL);
|
||||||
|
lv_obj_add_style( update_check_url_label, LV_OBJ_PART_MAIN, &update_setup_style );
|
||||||
|
lv_label_set_text( update_check_url_label, "update URL");
|
||||||
|
lv_obj_align( update_check_url_label, update_check_url_cont, LV_ALIGN_IN_TOP_LEFT, 5, 0 );
|
||||||
|
update_check_url_textfield = lv_textarea_create( update_check_url_cont, NULL);
|
||||||
|
lv_textarea_set_text( update_check_url_textfield, update_config.updateurl );
|
||||||
|
lv_textarea_set_pwd_mode( update_check_url_textfield, false);
|
||||||
|
lv_textarea_set_one_line( update_check_url_textfield, true);
|
||||||
|
lv_textarea_set_cursor_hidden( update_check_url_textfield, true);
|
||||||
|
lv_obj_set_width( update_check_url_textfield, LV_HOR_RES - 10 );
|
||||||
|
lv_obj_align( update_check_url_textfield, update_check_url_cont, LV_ALIGN_IN_BOTTOM_MID, 0, 0 );
|
||||||
|
lv_obj_set_event_cb( update_check_url_textfield, update_check_url_textarea_event_cb );
|
||||||
|
|
||||||
if ( update_config.autosync )
|
if ( update_config.autosync )
|
||||||
lv_switch_on( update_check_autosync_onoff, LV_ANIM_OFF);
|
lv_switch_on( update_check_autosync_onoff, LV_ANIM_OFF);
|
||||||
else
|
else
|
||||||
@@ -97,11 +116,15 @@ void update_setup_tile_setup( uint32_t tile_num ) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void update_check_url_textarea_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||||
|
if( event == LV_EVENT_CLICKED ) {
|
||||||
|
keyboard_set_textarea( obj );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void update_check_autosync_onoff_event_handler( lv_obj_t * obj, lv_event_t event ) {
|
static void update_check_autosync_onoff_event_handler( lv_obj_t * obj, lv_event_t event ) {
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case (LV_EVENT_VALUE_CHANGED): update_config.autosync = lv_switch_get_state( obj );
|
case ( LV_EVENT_VALUE_CHANGED ): update_config.autosync = lv_switch_get_state( obj );
|
||||||
update_save_config();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -109,6 +132,8 @@ static void update_check_autosync_onoff_event_handler( lv_obj_t * obj, lv_event_
|
|||||||
static void exit_update_check_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
static void exit_update_check_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||||
switch( event ) {
|
switch( event ) {
|
||||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( update_setup_tile_num - 1, false );
|
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( update_setup_tile_num - 1, false );
|
||||||
|
strlcpy( update_config.updateurl , lv_textarea_get_text( update_check_url_textfield ), sizeof( update_config.updateurl ) );
|
||||||
|
update_save_config();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ void pmu_setup( TTGOClass *ttgo ) {
|
|||||||
|
|
||||||
// Turn i2s DAC on
|
// Turn i2s DAC on
|
||||||
ttgo->power->setLDO3Mode( AXP202_LDO3_MODE_DCIN );
|
ttgo->power->setLDO3Mode( AXP202_LDO3_MODE_DCIN );
|
||||||
ttgo->power->setPowerOutPut(AXP202_LDO3, AXP202_ON );
|
ttgo->power->setPowerOutPut( AXP202_LDO3, AXP202_ON );
|
||||||
|
|
||||||
pinMode( AXP202_INT, INPUT );
|
pinMode( AXP202_INT, INPUT );
|
||||||
attachInterrupt( AXP202_INT, &pmu_irq, FALLING );
|
attachInterrupt( AXP202_INT, &pmu_irq, FALLING );
|
||||||
@@ -92,32 +92,34 @@ void pmu_standby( void ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( pmu_get_experimental_power_save() ) {
|
if ( pmu_get_experimental_power_save() ) {
|
||||||
ttgo->power->setDCDC3Voltage( 2700 );
|
ttgo->power->setDCDC3Voltage( pmu_config.experimental_power_save_voltage );
|
||||||
log_i("go standby, enable 2.7V standby voltage");
|
log_i("go standby, enable %dmV standby voltage", pmu_config.experimental_power_save_voltage );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ttgo->power->setDCDC3Voltage( 3000 );
|
ttgo->power->setDCDC3Voltage( pmu_config.normal_power_save_voltage );
|
||||||
log_i("go standby, enable 3.0V standby voltage");
|
log_i("go standby, enable %dmV standby voltage", pmu_config.normal_power_save_voltage );
|
||||||
}
|
}
|
||||||
ttgo->power->setPowerOutPut(AXP202_LDO3, AXP202_OFF );
|
ttgo->power->setPowerOutPut( AXP202_LDO3, AXP202_OFF );
|
||||||
|
ttgo->power->setPowerOutPut( AXP202_LDO2, AXP202_OFF );
|
||||||
}
|
}
|
||||||
|
|
||||||
void pmu_wakeup( void ) {
|
void pmu_wakeup( void ) {
|
||||||
TTGOClass *ttgo = TTGOClass::getWatch();
|
TTGOClass *ttgo = TTGOClass::getWatch();
|
||||||
|
|
||||||
if ( pmu_get_experimental_power_save() ) {
|
if ( pmu_get_experimental_power_save() ) {
|
||||||
ttgo->power->setDCDC3Voltage( 3000 );
|
ttgo->power->setDCDC3Voltage( pmu_config.experimental_normal_voltage );
|
||||||
log_i("go wakeup, enable 3.0V voltage");
|
log_i("go wakeup, enable %dmV voltage", pmu_config.experimental_normal_voltage );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ttgo->power->setDCDC3Voltage( 3300 );
|
ttgo->power->setDCDC3Voltage( pmu_config.normal_voltage );
|
||||||
log_i("go wakeup, enable 3.3V voltage");
|
log_i("go wakeup, enable %dmV voltage", pmu_config.normal_voltage );
|
||||||
}
|
}
|
||||||
|
|
||||||
ttgo->power->clearTimerStatus();
|
ttgo->power->clearTimerStatus();
|
||||||
ttgo->power->offTimer();
|
ttgo->power->offTimer();
|
||||||
|
|
||||||
ttgo->power->setPowerOutPut( AXP202_LDO3, AXP202_ON );
|
ttgo->power->setPowerOutPut( AXP202_LDO3, AXP202_ON );
|
||||||
|
ttgo->power->setPowerOutPut( AXP202_LDO2, AXP202_ON );
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
@@ -134,12 +136,16 @@ void pmu_save_config( void ) {
|
|||||||
log_e("Can't open file: %s!", PMU_JSON_CONFIG_FILE );
|
log_e("Can't open file: %s!", PMU_JSON_CONFIG_FILE );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SpiRamJsonDocument doc( 1000 );
|
SpiRamJsonDocument doc( 3000 );
|
||||||
|
|
||||||
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"] = pmu_config.silence_wakeup_time;
|
||||||
doc["silence_wakeup_time_vbplug"] = pmu_config.silence_wakeup_time_vbplug;
|
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["normal_voltage"] = pmu_config.normal_voltage;
|
||||||
|
doc["normal_power_save_voltage"] = pmu_config.normal_power_save_voltage;
|
||||||
|
doc["experimental_normal_voltage"] = pmu_config.experimental_normal_voltage;
|
||||||
|
doc["experimental_power_save_voltage"] = pmu_config.experimental_power_save_voltage;
|
||||||
doc["compute_percent"] = pmu_config.compute_percent;
|
doc["compute_percent"] = pmu_config.compute_percent;
|
||||||
doc["high_charging_target_voltage"] = pmu_config.high_charging_target_voltage;
|
doc["high_charging_target_voltage"] = pmu_config.high_charging_target_voltage;
|
||||||
doc["designed_battery_cap"] = pmu_config.designed_battery_cap;
|
doc["designed_battery_cap"] = pmu_config.designed_battery_cap;
|
||||||
@@ -177,6 +183,10 @@ void pmu_read_config( void ) {
|
|||||||
pmu_config.compute_percent = doc["compute_percent"] | false;
|
pmu_config.compute_percent = doc["compute_percent"] | false;
|
||||||
pmu_config.high_charging_target_voltage = doc["high_charging_target_voltage"] | false;
|
pmu_config.high_charging_target_voltage = doc["high_charging_target_voltage"] | false;
|
||||||
pmu_config.designed_battery_cap = doc["designed_battery_cap"] | 300;
|
pmu_config.designed_battery_cap = doc["designed_battery_cap"] | 300;
|
||||||
|
pmu_config.normal_voltage = doc["normal_voltage"] | 3300;
|
||||||
|
pmu_config.normal_power_save_voltage = doc["normal_power_save_voltage"] | 3000;
|
||||||
|
pmu_config.experimental_normal_voltage = doc["experimental_normal_voltage"] | 3000;
|
||||||
|
pmu_config.experimental_power_save_voltage = doc["experimental_power_save_voltage"] | 2700;
|
||||||
}
|
}
|
||||||
doc.clear();
|
doc.clear();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,10 @@
|
|||||||
int32_t designed_battery_cap = 300;
|
int32_t designed_battery_cap = 300;
|
||||||
int32_t silence_wakeup_time = 60;
|
int32_t silence_wakeup_time = 60;
|
||||||
int32_t silence_wakeup_time_vbplug = 3;
|
int32_t silence_wakeup_time_vbplug = 3;
|
||||||
|
int32_t normal_voltage = 3300;
|
||||||
|
int32_t normal_power_save_voltage = 3000;
|
||||||
|
int32_t experimental_normal_voltage = 3000;
|
||||||
|
int32_t experimental_power_save_voltage = 2700;
|
||||||
bool high_charging_target_voltage = true;
|
bool high_charging_target_voltage = true;
|
||||||
bool compute_percent = false;
|
bool compute_percent = false;
|
||||||
bool experimental_power_save = false;
|
bool experimental_power_save = false;
|
||||||
|
|||||||
@@ -160,9 +160,16 @@ void powermgm_loop( TTGOClass *ttgo ) {
|
|||||||
}
|
}
|
||||||
powermgm_clear_event( POWERMGM_SILENCE_WAKEUP_REQUEST | POWERMGM_WAKEUP_REQUEST | POWERMGM_STANDBY_REQUEST );
|
powermgm_clear_event( POWERMGM_SILENCE_WAKEUP_REQUEST | POWERMGM_WAKEUP_REQUEST | POWERMGM_STANDBY_REQUEST );
|
||||||
|
|
||||||
pmu_loop( ttgo );
|
if ( powermgm_get_event( POWERMGM_STANDBY ) ) {
|
||||||
bma_loop( ttgo );
|
vTaskDelay( 100 );
|
||||||
display_loop( ttgo );
|
pmu_loop( ttgo );
|
||||||
|
bma_loop( ttgo );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
pmu_loop( ttgo );
|
||||||
|
bma_loop( ttgo );
|
||||||
|
display_loop( ttgo );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user