add update url textarea

This commit is contained in:
sharandac
2020-08-25 14:44:45 +02:00
parent f6fee4ca90
commit c4ee5292ff
4 changed files with 62 additions and 16 deletions

View File

@@ -38,10 +38,12 @@ lv_style_t update_setup_style;
uint32_t update_setup_tile_num;
lv_obj_t *update_check_autosync_onoff = NULL;
lv_obj_t *update_check_url_textfield = NULL;
LV_IMG_DECLARE(exit_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 update_check_autosync_onoff_event_handler( lv_obj_t * obj, lv_event_t event );
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_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 )
lv_switch_on( update_check_autosync_onoff, LV_ANIM_OFF);
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 ) {
switch (event) {
case (LV_EVENT_VALUE_CHANGED): update_config.autosync = lv_switch_get_state( obj );
update_save_config();
case ( LV_EVENT_VALUE_CHANGED ): update_config.autosync = lv_switch_get_state( obj );
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 ) {
switch( event ) {
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;
}
}

View File

@@ -56,7 +56,7 @@ void pmu_setup( TTGOClass *ttgo ) {
// Turn i2s DAC on
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 );
attachInterrupt( AXP202_INT, &pmu_irq, FALLING );
@@ -92,32 +92,34 @@ void pmu_standby( void ) {
}
if ( pmu_get_experimental_power_save() ) {
ttgo->power->setDCDC3Voltage( 2700 );
log_i("go standby, enable 2.7V standby voltage");
ttgo->power->setDCDC3Voltage( pmu_config.experimental_power_save_voltage );
log_i("go standby, enable %dmV standby voltage", pmu_config.experimental_power_save_voltage );
}
else {
ttgo->power->setDCDC3Voltage( 3000 );
log_i("go standby, enable 3.0V standby voltage");
ttgo->power->setDCDC3Voltage( pmu_config.normal_power_save_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 ) {
TTGOClass *ttgo = TTGOClass::getWatch();
if ( pmu_get_experimental_power_save() ) {
ttgo->power->setDCDC3Voltage( 3000 );
log_i("go wakeup, enable 3.0V voltage");
ttgo->power->setDCDC3Voltage( pmu_config.experimental_normal_voltage );
log_i("go wakeup, enable %dmV voltage", pmu_config.experimental_normal_voltage );
}
else {
ttgo->power->setDCDC3Voltage( 3300 );
log_i("go wakeup, enable 3.3V voltage");
ttgo->power->setDCDC3Voltage( pmu_config.normal_voltage );
log_i("go wakeup, enable %dmV voltage", pmu_config.normal_voltage );
}
ttgo->power->clearTimerStatus();
ttgo->power->offTimer();
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 );
}
else {
SpiRamJsonDocument doc( 1000 );
SpiRamJsonDocument doc( 3000 );
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["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["high_charging_target_voltage"] = pmu_config.high_charging_target_voltage;
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.high_charging_target_voltage = doc["high_charging_target_voltage"] | false;
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();
}

View File

@@ -33,6 +33,10 @@
int32_t designed_battery_cap = 300;
int32_t silence_wakeup_time = 60;
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 compute_percent = false;
bool experimental_power_save = false;

View File

@@ -160,9 +160,16 @@ void powermgm_loop( TTGOClass *ttgo ) {
}
powermgm_clear_event( POWERMGM_SILENCE_WAKEUP_REQUEST | POWERMGM_WAKEUP_REQUEST | POWERMGM_STANDBY_REQUEST );
pmu_loop( ttgo );
bma_loop( ttgo );
display_loop( ttgo );
if ( powermgm_get_event( POWERMGM_STANDBY ) ) {
vTaskDelay( 100 );
pmu_loop( ttgo );
bma_loop( ttgo );
}
else {
pmu_loop( ttgo );
bma_loop( ttgo );
display_loop( ttgo );
}
}
/*