some code and optical cleanup

This commit is contained in:
sharandac
2020-07-30 14:52:36 +02:00
parent 9b94b63574
commit 34f7259e26
20 changed files with 106 additions and 60 deletions

View File

@@ -131,6 +131,7 @@ void weather_setup_tile_setup( uint32_t tile_num ) {
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 );
lv_obj_add_style( weather_autosync_onoff, LV_SWITCH_PART_INDIC, mainbar_get_switch_style() );
lv_switch_off( weather_autosync_onoff, LV_ANIM_ON ); lv_switch_off( weather_autosync_onoff, LV_ANIM_ON );
lv_obj_align( weather_autosync_onoff, weather_autosync_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 ); lv_obj_align( weather_autosync_onoff, weather_autosync_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 );
lv_obj_set_event_cb( weather_autosync_onoff, weather_autosync_onoff_event_handler ); lv_obj_set_event_cb( weather_autosync_onoff, weather_autosync_onoff_event_handler );
@@ -144,6 +145,7 @@ void weather_setup_tile_setup( uint32_t tile_num ) {
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);
lv_obj_add_style( weather_wind_onoff, LV_SWITCH_PART_INDIC, mainbar_get_switch_style() );
lv_switch_off( weather_wind_onoff, LV_ANIM_ON); lv_switch_off( weather_wind_onoff, LV_ANIM_ON);
lv_obj_align( weather_wind_onoff, weather_wind_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0); lv_obj_align( weather_wind_onoff, weather_wind_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0);
lv_obj_set_event_cb( weather_wind_onoff, weather_wind_onoff_event_handler); lv_obj_set_event_cb( weather_wind_onoff, weather_wind_onoff_event_handler);

View File

@@ -31,6 +31,6 @@
/* /*
* firmeware version string * firmeware version string
*/ */
#define __FIRMWARE__ "2020073007" #define __FIRMWARE__ "2020073016"
#endif // _CONFIG_H #endif // _CONFIG_H

View File

@@ -28,6 +28,7 @@ lv_app_entry_t app_entry[ MAX_APPS_ICON ];
static lv_obj_t *app_cont = NULL; static lv_obj_t *app_cont = NULL;
static lv_obj_t *app_label = NULL; static lv_obj_t *app_label = NULL;
static uint32_t app_tile_num;
static lv_style_t *style; static lv_style_t *style;
static lv_style_t appstyle; static lv_style_t appstyle;
@@ -35,8 +36,8 @@ LV_FONT_DECLARE(Ubuntu_72px);
LV_FONT_DECLARE(Ubuntu_16px); LV_FONT_DECLARE(Ubuntu_16px);
void app_tile_setup( void ) { void app_tile_setup( void ) {
app_tile_num = mainbar_add_tile( 1, 0 );
app_cont = mainbar_get_tile_obj( mainbar_add_tile( 1, 0 ) ); app_cont = mainbar_get_tile_obj( app_tile_num );
style = mainbar_get_style(); style = mainbar_get_style();
lv_style_copy( &appstyle, style); lv_style_copy( &appstyle, style);
@@ -85,3 +86,7 @@ lv_obj_t *app_tile_register_app( const char* appname ) {
log_e("no space for an app icon"); log_e("no space for an app icon");
return( NULL ); return( NULL );
} }
uint32_t app_tile_get_tile_num( void ) {
return( app_tile_num );
}

View File

@@ -46,7 +46,23 @@
bool active; bool active;
} lv_app_entry_t; } lv_app_entry_t;
/*
* @brief setup the app tile
*/
void app_tile_setup( void ); void app_tile_setup( void );
/*
* @brief register an app icon an the app tile
*
* @param appname app name
*
* @return lv_obj_t icon container, here you can set your own icon with imgbtn
*/
lv_obj_t *app_tile_register_app( const char* appname ); lv_obj_t *app_tile_register_app( const char* appname );
/*
* @brief get the tile number for the app tile
*
* @return tile number
*/
uint32_t app_tile_get_tile_num( void );
#endif // _APP_TILE_H #endif // _APP_TILE_H

View File

@@ -30,6 +30,7 @@ static lv_obj_t *main_cont = NULL;
static lv_obj_t *clock_cont = NULL; static lv_obj_t *clock_cont = NULL;
static lv_obj_t *timelabel = NULL; static lv_obj_t *timelabel = NULL;
static lv_obj_t *datelabel = NULL; static lv_obj_t *datelabel = NULL;
uint32_t main_tile_num;
static lv_style_t *style; static lv_style_t *style;
static lv_style_t timestyle; static lv_style_t timestyle;
@@ -37,14 +38,15 @@ static lv_style_t datestyle;
lv_widget_entry_t widget_entry[ MAX_WIDGET_NUM ]; lv_widget_entry_t widget_entry[ MAX_WIDGET_NUM ];
lv_task_t * task;
LV_FONT_DECLARE(Ubuntu_72px); LV_FONT_DECLARE(Ubuntu_72px);
LV_FONT_DECLARE(Ubuntu_16px); LV_FONT_DECLARE(Ubuntu_16px);
void main_tile_setup( void ) { lv_task_t * task;
void main_tile_task( lv_task_t * task );
main_cont = mainbar_get_tile_obj( mainbar_add_tile( 0, 0 ) ); void main_tile_setup( void ) {
main_tile_num = mainbar_add_tile( 0, 0 );
main_cont = mainbar_get_tile_obj( main_tile_num );
style = mainbar_get_style(); style = mainbar_get_style();
lv_style_copy( &timestyle, style); lv_style_copy( &timestyle, style);
@@ -110,9 +112,11 @@ lv_obj_t *main_tile_register_widget( void ) {
return( NULL ); return( NULL );
} }
/* uint32_t main_tile_get_tile_num( void ) {
* return( main_tile_num );
*/ }
void main_tile_task( lv_task_t * task ) { void main_tile_task( lv_task_t * task ) {
time_t now; time_t now;
struct tm info; struct tm info;

View File

@@ -33,8 +33,21 @@
bool active; bool active;
} lv_widget_entry_t; } lv_widget_entry_t;
/*
* @brief setup the app tile
*/
void main_tile_setup( void ); void main_tile_setup( void );
void main_tile_task( lv_task_t * task ); /*
* @brief register an widget icon an the main tile
*
* @return lv_obj_t icon container, here you can set your own icon with imgbtn or NULL if failed
*/
lv_obj_t *main_tile_register_widget( void ); lv_obj_t *main_tile_register_widget( void );
/*
* @brief get the tile number for the main tile
*
* @return tile number
*/
uint32_t main_tile_get_tile_num( void );
#endif // _MAIL_TILE_H #endif // _MAIL_TILE_H

View File

@@ -36,7 +36,9 @@
#include "setup_tile/time_settings/time_settings.h" #include "setup_tile/time_settings/time_settings.h"
#include "setup_tile/update/update.h" #include "setup_tile/update/update.h"
static lv_style_t mainbarstyle; static lv_style_t mainbar_style;
static lv_style_t mainbar_switch_style;
static lv_obj_t *mainbar = NULL; static lv_obj_t *mainbar = NULL;
static lv_tile_t *tile = NULL; static lv_tile_t *tile = NULL;
@@ -45,18 +47,21 @@ static uint32_t tile_entrys = 0;
static uint32_t app_tile_pos = MAINBAR_APP_TILE_X_START; static uint32_t app_tile_pos = MAINBAR_APP_TILE_X_START;
void mainbar_setup( void ) { void mainbar_setup( void ) {
lv_style_init( &mainbarstyle ); lv_style_init( &mainbar_style );
lv_style_set_radius(&mainbarstyle, LV_OBJ_PART_MAIN, 0); lv_style_set_radius(&mainbar_style, LV_OBJ_PART_MAIN, 0);
lv_style_set_bg_color(&mainbarstyle, LV_OBJ_PART_MAIN, LV_COLOR_GRAY); lv_style_set_bg_color(&mainbar_style, LV_OBJ_PART_MAIN, LV_COLOR_GRAY);
lv_style_set_bg_opa(&mainbarstyle, LV_OBJ_PART_MAIN, LV_OPA_0); lv_style_set_bg_opa(&mainbar_style, LV_OBJ_PART_MAIN, LV_OPA_0);
lv_style_set_border_width(&mainbarstyle, LV_OBJ_PART_MAIN, 0); lv_style_set_border_width(&mainbar_style, LV_OBJ_PART_MAIN, 0);
lv_style_set_text_color(&mainbarstyle, LV_OBJ_PART_MAIN, LV_COLOR_WHITE); lv_style_set_text_color(&mainbar_style, LV_OBJ_PART_MAIN, LV_COLOR_WHITE);
lv_style_set_image_recolor(&mainbarstyle, LV_OBJ_PART_MAIN, LV_COLOR_WHITE); lv_style_set_image_recolor(&mainbar_style, LV_OBJ_PART_MAIN, LV_COLOR_WHITE);
lv_style_init( &mainbar_switch_style );
lv_style_set_bg_color( &mainbar_switch_style, LV_STATE_CHECKED, LV_COLOR_GREEN );
mainbar = lv_tileview_create( lv_scr_act(), NULL); mainbar = lv_tileview_create( lv_scr_act(), NULL);
lv_tileview_set_valid_positions(mainbar, tile_pos_table, tile_entrys ); lv_tileview_set_valid_positions(mainbar, tile_pos_table, tile_entrys );
lv_tileview_set_edge_flash( mainbar, false); lv_tileview_set_edge_flash( mainbar, false);
lv_obj_add_style( mainbar, LV_OBJ_PART_MAIN, &mainbarstyle ); lv_obj_add_style( mainbar, LV_OBJ_PART_MAIN, &mainbar_style );
lv_page_set_scrlbar_mode(mainbar, LV_SCRLBAR_MODE_OFF); lv_page_set_scrlbar_mode(mainbar, LV_SCRLBAR_MODE_OFF);
} }
@@ -85,7 +90,7 @@ uint32_t mainbar_add_tile( uint16_t x, uint16_t y ) {
tile[ tile_entrys - 1 ].tile = my_tile; tile[ tile_entrys - 1 ].tile = my_tile;
lv_obj_set_size( tile[ tile_entrys - 1 ].tile, LV_HOR_RES, LV_VER_RES); lv_obj_set_size( tile[ tile_entrys - 1 ].tile, LV_HOR_RES, LV_VER_RES);
lv_obj_reset_style_list( tile[ tile_entrys - 1 ].tile, LV_OBJ_PART_MAIN ); lv_obj_reset_style_list( tile[ tile_entrys - 1 ].tile, LV_OBJ_PART_MAIN );
lv_obj_add_style( tile[ tile_entrys - 1 ].tile, LV_OBJ_PART_MAIN, &mainbarstyle ); lv_obj_add_style( tile[ tile_entrys - 1 ].tile, LV_OBJ_PART_MAIN, &mainbar_style );
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 );
@@ -95,9 +100,14 @@ uint32_t mainbar_add_tile( uint16_t x, uint16_t y ) {
} }
lv_style_t *mainbar_get_style( void ) { lv_style_t *mainbar_get_style( void ) {
return( &mainbarstyle ); return( &mainbar_style );
} }
lv_style_t *mainbar_get_switch_style( void ) {
return( &mainbar_switch_style );
}
uint32_t mainbar_add_app_tile( uint16_t x, uint16_t y ) { uint32_t mainbar_add_app_tile( uint16_t x, uint16_t y ) {
uint32_t retval = -1; uint32_t retval = -1;

View File

@@ -83,5 +83,11 @@
* @return lv_style_t * @return lv_style_t
*/ */
lv_style_t *mainbar_get_style( void ); lv_style_t *mainbar_get_style( void );
/*
* @brief get main tile switch style
*
* @return lv_style_t
*/
lv_style_t *mainbar_get_switch_style( void );
#endif // _MAINBAR_H #endif // _MAINBAR_H

View File

@@ -24,14 +24,6 @@
#include <TTGO.h> #include <TTGO.h>
/*
* @brief setup the battery setup tile
*
* @param tile pointer to the tile obj
* @param style pointer to the style obj
* @param hres horizonal resolution
* @param vres vertical resolution
*/
void battery_settings_tile_setup( void ); void battery_settings_tile_setup( void );
#endif // _BATTERY_SETTINGS_H #endif // _BATTERY_SETTINGS_H

View File

@@ -24,14 +24,6 @@
#include <TTGO.h> #include <TTGO.h>
/*
* @brief setup the display setup tile
*
* @param tile pointer to the tile obj
* @param style pointer to the style obj
* @param hres horizonal resolution
* @param vres vertical resolution
*/
void display_settings_tile_setup( void ); void display_settings_tile_setup( void );
#endif // _DISPLAY_SETTINGS_H #endif // _DISPLAY_SETTINGS_H

View File

@@ -82,6 +82,7 @@ void move_settings_tile_setup( void ) {
lv_obj_add_style( stepcounter_cont, LV_OBJ_PART_MAIN, &move_settings_style ); lv_obj_add_style( stepcounter_cont, LV_OBJ_PART_MAIN, &move_settings_style );
lv_obj_align( stepcounter_cont, move_settings_tile, LV_ALIGN_IN_TOP_RIGHT, 0, 75 ); lv_obj_align( stepcounter_cont, move_settings_tile, LV_ALIGN_IN_TOP_RIGHT, 0, 75 );
stepcounter_onoff = lv_switch_create( stepcounter_cont, NULL ); stepcounter_onoff = lv_switch_create( stepcounter_cont, NULL );
lv_obj_add_style( stepcounter_onoff, LV_SWITCH_PART_INDIC, mainbar_get_switch_style() );
lv_switch_off( stepcounter_onoff, LV_ANIM_ON ); lv_switch_off( stepcounter_onoff, LV_ANIM_ON );
lv_obj_align( stepcounter_onoff, stepcounter_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 ); lv_obj_align( stepcounter_onoff, stepcounter_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 );
lv_obj_set_event_cb( stepcounter_onoff, stepcounter_onoff_event_handler ); lv_obj_set_event_cb( stepcounter_onoff, stepcounter_onoff_event_handler );
@@ -95,6 +96,7 @@ void move_settings_tile_setup( void ) {
lv_obj_add_style( doubleclick_cont, LV_OBJ_PART_MAIN, &move_settings_style ); lv_obj_add_style( doubleclick_cont, LV_OBJ_PART_MAIN, &move_settings_style );
lv_obj_align( doubleclick_cont, stepcounter_cont, LV_ALIGN_OUT_BOTTOM_MID, 0, 0 ); lv_obj_align( doubleclick_cont, stepcounter_cont, LV_ALIGN_OUT_BOTTOM_MID, 0, 0 );
doubleclick_onoff = lv_switch_create( doubleclick_cont, NULL ); doubleclick_onoff = lv_switch_create( doubleclick_cont, NULL );
lv_obj_add_style( doubleclick_onoff, LV_SWITCH_PART_INDIC, mainbar_get_switch_style() );
lv_switch_off( doubleclick_onoff, LV_ANIM_ON ); lv_switch_off( doubleclick_onoff, LV_ANIM_ON );
lv_obj_align( doubleclick_onoff, doubleclick_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 ); lv_obj_align( doubleclick_onoff, doubleclick_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 );
lv_obj_set_event_cb( doubleclick_onoff, doubleclick_onoff_event_handler ); lv_obj_set_event_cb( doubleclick_onoff, doubleclick_onoff_event_handler );

View File

@@ -48,14 +48,19 @@
/* /*
* @brief setup the setup tile * @brief setup the setup tile
*
* @param tile pointer to the tile obj
* @param style pointer to the style obj
* @param hres horizonal resolution
* @param vres vertical resolution
*/ */
void setup_tile_setup( void ); void setup_tile_setup( void );
/*
* @brief register an setup icon an the setup tile
*
* @return lv_obj_t icon container, here you can set your own icon with imgbtn
*/
lv_obj_t *setup_tile_register_setup( void ); lv_obj_t *setup_tile_register_setup( void );
/*
* @brief get the tile number for the setup tile
*
* @return tile number
*/
uint32_t setup_get_tile_num( void ); uint32_t setup_get_tile_num( void );
#endif // _SETUP_H #endif // _SETUP_H

View File

@@ -86,6 +86,7 @@ void time_settings_tile_setup( void ) {
lv_obj_add_style( wifisync_cont, LV_OBJ_PART_MAIN, &time_settings_style ); lv_obj_add_style( wifisync_cont, LV_OBJ_PART_MAIN, &time_settings_style );
lv_obj_align( wifisync_cont, time_settings_tile, LV_ALIGN_IN_TOP_RIGHT, 0, 75 ); lv_obj_align( wifisync_cont, time_settings_tile, LV_ALIGN_IN_TOP_RIGHT, 0, 75 );
wifisync_onoff = lv_switch_create( wifisync_cont, NULL ); wifisync_onoff = lv_switch_create( wifisync_cont, NULL );
lv_obj_add_style( wifisync_onoff, LV_SWITCH_PART_INDIC, mainbar_get_switch_style() );
lv_switch_off( wifisync_onoff, LV_ANIM_ON ); lv_switch_off( wifisync_onoff, LV_ANIM_ON );
lv_obj_align( wifisync_onoff, wifisync_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 ); lv_obj_align( wifisync_onoff, wifisync_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 );
lv_obj_set_event_cb( wifisync_onoff, wifisync_onoff_event_handler ); lv_obj_set_event_cb( wifisync_onoff, wifisync_onoff_event_handler );
@@ -99,6 +100,7 @@ void time_settings_tile_setup( void ) {
lv_obj_add_style( daylight_cont, LV_OBJ_PART_MAIN, &time_settings_style ); lv_obj_add_style( daylight_cont, LV_OBJ_PART_MAIN, &time_settings_style );
lv_obj_align( daylight_cont, wifisync_cont, LV_ALIGN_OUT_BOTTOM_MID, 0, 0 ); lv_obj_align( daylight_cont, wifisync_cont, LV_ALIGN_OUT_BOTTOM_MID, 0, 0 );
daylight_onoff = lv_switch_create( daylight_cont, NULL ); daylight_onoff = lv_switch_create( daylight_cont, NULL );
lv_obj_add_style( daylight_onoff, LV_SWITCH_PART_INDIC, mainbar_get_switch_style() );
lv_switch_off( daylight_onoff, LV_ANIM_ON ); lv_switch_off( daylight_onoff, LV_ANIM_ON );
lv_obj_align( daylight_onoff, daylight_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 ); lv_obj_align( daylight_onoff, daylight_cont, LV_ALIGN_IN_RIGHT_MID, -5, 0 );
lv_obj_set_event_cb( daylight_onoff, daylight_onoff_event_handler ); lv_obj_set_event_cb( daylight_onoff, daylight_onoff_event_handler );

View File

@@ -24,14 +24,6 @@
#include <TTGO.h> #include <TTGO.h>
/*
* @brief setup the display setup tile
*
* @param tile pointer to the tile obj
* @param style pointer to the style obj
* @param hres horizonal resolution
* @param vres vertical resolution
*/
void time_settings_tile_setup( void ); void time_settings_tile_setup( void );
#endif // _TIME_SETTINGS_H #endif // _TIME_SETTINGS_H

View File

@@ -171,8 +171,11 @@ void update_Task( void * pvParameters ) {
log_i("start update task"); log_i("start update task");
if ( xEventGroupGetBits( update_event_handle) & UPDATE_GET_VERSION_REQUEST ) { if ( xEventGroupGetBits( update_event_handle) & UPDATE_GET_VERSION_REQUEST ) {
if ( update_check_new_version() > atol( __FIRMWARE__ ) ) { int64_t firmware_version = update_check_new_version();
lv_label_set_text( update_status_label, "new version available" ); if ( firmware_version > atol( __FIRMWARE__ ) && firmware_version > 0 ) {
char version_msg[48] = "";
snprintf( version_msg, sizeof( version_msg ), "new version: %lld", firmware_version );
lv_label_set_text( update_status_label, (const char*)version_msg );
lv_obj_align( update_status_label, update_btn, LV_ALIGN_OUT_BOTTOM_MID, 0, 15 ); lv_obj_align( update_status_label, update_btn, LV_ALIGN_OUT_BOTTOM_MID, 0, 15 );
} }
} }

View File

@@ -37,13 +37,13 @@ uint64_t update_check_new_version( void ) {
return( -1 ); return( -1 );
} }
check_version_client.printf( "GET /ttgo-t-watch2020_v1.version.json HTTP/1.1\r\n" check_version_client.printf( "GET /" FIRMWARE_VERSION_FILE " HTTP/1.1\r\n"
"Host: %s\r\n" "Host: " FIRMWARE_HOST "\r\n"
"Connection: close\r\n" "Connection: close\r\n"
"Pragma: no-cache\r\n" "Pragma: no-cache\r\n"
"Cache-Control: no-cache\r\n" "Cache-Control: no-cache\r\n"
"User-Agent: ESP32-" __FIRMWARE__ "\r\n" "User-Agent: ESP32-" __FIRMWARE__ "\r\n"
"Accept: text/html,application/json\r\n\r\n", FIRMWARE_HOST ); "Accept: text/html,application/json\r\n\r\n" );
uint64_t startMillis = millis(); uint64_t startMillis = millis();
while ( check_version_client.available() == 0 ) { while ( check_version_client.available() == 0 ) {

View File

@@ -24,8 +24,9 @@
#include <TTGO.h> #include <TTGO.h>
#define FIRMWARE_HOST "www.neo-guerillaz.de" #define FIRMWARE_HOST "www.neo-guerillaz.de"
#define FIRMWARE_HOST_PORT 80 #define FIRMWARE_HOST_PORT 80
#define FIRMWARE_VERSION_FILE "ttgo-t-watch2020_v1.version.json"
uint64_t update_check_new_version(); uint64_t update_check_new_version();

View File

@@ -97,8 +97,9 @@ void wlan_settings_tile_setup( void ) {
lv_label_set_text( exit_label, "wlan settings"); lv_label_set_text( exit_label, "wlan settings");
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 );
/*Copy the first switch and turn it ON*/ /*Copy the first switch and turn it ON*/
wifi_onoff = lv_switch_create( wifi_settings_tile, NULL ); wifi_onoff = lv_switch_create( wifi_settings_tile, NULL );
lv_obj_add_style( wifi_onoff, LV_SWITCH_PART_INDIC, mainbar_get_switch_style() );
lv_switch_off( wifi_onoff, LV_ANIM_ON ); lv_switch_off( wifi_onoff, LV_ANIM_ON );
lv_obj_align( wifi_onoff, exit_label, LV_ALIGN_OUT_RIGHT_MID, 30, 0 ); lv_obj_align( wifi_onoff, exit_label, LV_ALIGN_OUT_RIGHT_MID, 30, 0 );
lv_obj_set_event_cb( wifi_onoff, wifi_onoff_event_handler); lv_obj_set_event_cb( wifi_onoff, wifi_onoff_event_handler);

Binary file not shown.

View File

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