add silence wakeup and touch feedback
This commit is contained in:
@@ -64,27 +64,23 @@ void gui_setup(void)
|
||||
/*
|
||||
*
|
||||
*/
|
||||
void gui_loop( TTGOClass *ttgo ){
|
||||
|
||||
// do task handler if still an useraction or go to standby after timeout
|
||||
if ( !powermgm_get_event( POWERMGM_STANDBY ) ) {
|
||||
if ( display_get_timeout() == DISPLAY_MAX_TIMEOUT ) {
|
||||
void gui_loop( TTGOClass *ttgo ) {
|
||||
// if we run in silence mode
|
||||
if ( powermgm_get_event( POWERMGM_SILENCE_WAKEUP ) ) {
|
||||
if ( lv_disp_get_inactive_time(NULL) < display_get_timeout() * 1000 ) {
|
||||
lv_task_handler();
|
||||
ttgo->bl->adjust( display_get_brightness() );
|
||||
}
|
||||
else {
|
||||
if ( lv_disp_get_inactive_time(NULL) < display_get_timeout() * 1000 ) {
|
||||
lv_task_handler();
|
||||
if ( lv_disp_get_inactive_time(NULL) > ( ( display_get_timeout() * 1000 ) - display_get_brightness() * 8 ) ) {
|
||||
ttgo->bl->adjust( ( ( display_get_timeout() * 1000 ) - lv_disp_get_inactive_time(NULL) ) / 8 );
|
||||
}
|
||||
else {
|
||||
ttgo->bl->adjust( display_get_brightness() );
|
||||
}
|
||||
}
|
||||
else {
|
||||
powermgm_set_event( POWERMGM_PMU_BUTTON );
|
||||
}
|
||||
powermgm_set_event( POWERMGM_STANDBY_REQUEST );
|
||||
}
|
||||
}
|
||||
// if we run on normal mode
|
||||
else if ( !powermgm_get_event( POWERMGM_STANDBY ) ) {
|
||||
if ( lv_disp_get_inactive_time(NULL) < display_get_timeout() * 1000 || display_get_timeout() == DISPLAY_MAX_TIMEOUT ) {
|
||||
lv_task_handler();
|
||||
}
|
||||
else {
|
||||
powermgm_set_event( POWERMGM_STANDBY_REQUEST );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -52,6 +52,7 @@ lv_tile_entry_t tile_entry[ TILE_NUM ] {
|
||||
{ NULL, TILE_TYPE_SETUP, MOVE_SETTINGS_TILE, move_settings_tile_setup, { 2,3 } },
|
||||
{ NULL, TILE_TYPE_SETUP, DISPLAY_SETTINGS_TILE, display_settings_tile_setup, { 4,3 } },
|
||||
{ NULL, TILE_TYPE_SETUP, BATTERY_SETTINGS_TILE, battery_settings_tile_setup, { 6,3 } },
|
||||
{ NULL, TILE_TYPE_SETUP, BATTERY_OVERVIEW_TILE, NULL, { 6,4 } },
|
||||
{ NULL, TILE_TYPE_SETUP, TIME_SETTINGS_TILE, time_settings_tile_setup, { 8,3 } },
|
||||
{ NULL, TILE_TYPE_SETUP, UPDATE_SETTINGS_TILE, update_tile_setup, { 10,3 } },
|
||||
{ NULL, TILE_TYPE_WIDGET_TILE, WIDGET1_1_TILE, NULL, { 12,3 } },
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
WLAN_PASSWORD_TILE,
|
||||
MOVE_SETTINGS_TILE,
|
||||
DISPLAY_SETTINGS_TILE,
|
||||
BATTERY_OVERVIEW_TILE,
|
||||
BATTERY_SETTINGS_TILE,
|
||||
TIME_SETTINGS_TILE,
|
||||
UPDATE_SETTINGS_TILE,
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "gui/mainbar/mainbar.h"
|
||||
#include "gui/statusbar.h"
|
||||
#include "hardware/pmu.h"
|
||||
#include "hardware/motor.h"
|
||||
|
||||
lv_obj_t *battery_settings_tile=NULL;
|
||||
lv_style_t battery_settings_style;
|
||||
@@ -155,7 +156,8 @@ void battery_settings_tile_setup( lv_obj_t *tile, lv_style_t *style, lv_coord_t
|
||||
|
||||
static void exit_battery_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "gui/mainbar/mainbar.h"
|
||||
#include "gui/statusbar.h"
|
||||
#include "hardware/display.h"
|
||||
#include "hardware/motor.h"
|
||||
|
||||
lv_obj_t *display_settings_tile1 = NULL;
|
||||
lv_obj_t *display_brightness_slider = NULL;
|
||||
@@ -131,7 +132,8 @@ void display_settings_tile_setup( lv_obj_t *tile, lv_style_t *style, lv_coord_t
|
||||
|
||||
static void exit_display_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
display_save_config();
|
||||
break;
|
||||
}
|
||||
@@ -163,6 +165,7 @@ static void display_timeout_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
static void display_rotation_event_handler( lv_obj_t * obj, lv_event_t event )
|
||||
{
|
||||
if(event == LV_EVENT_VALUE_CHANGED) {
|
||||
motor_vibe( 1 );
|
||||
display_set_rotation( lv_dropdown_get_selected( obj ) * 90 );
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "gui/mainbar/mainbar.h"
|
||||
#include "gui/statusbar.h"
|
||||
#include "hardware/bma.h"
|
||||
#include "hardware/motor.h"
|
||||
|
||||
lv_obj_t *move_settings_tile1=NULL;
|
||||
lv_obj_t *stepcounter_onoff=NULL;
|
||||
@@ -106,13 +107,15 @@ void move_settings_tile_setup( lv_obj_t *tile, lv_style_t *style, lv_coord_t hre
|
||||
|
||||
static void exit_move_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void stepcounter_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
if(event == LV_EVENT_VALUE_CHANGED) {
|
||||
motor_vibe( 1 );
|
||||
if( lv_switch_get_state( obj ) ) {
|
||||
bma_set_config( BMA_STEPCOUNTER, true );
|
||||
}
|
||||
@@ -124,6 +127,7 @@ static void stepcounter_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
|
||||
static void doubleclick_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
if(event == LV_EVENT_VALUE_CHANGED) {
|
||||
motor_vibe( 1 );
|
||||
if( lv_switch_get_state( obj ) ) {
|
||||
bma_set_config( BMA_DOUBLECLICK, true );
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "setup.h"
|
||||
|
||||
#include "gui/mainbar/mainbar.h"
|
||||
#include "hardware/motor.h"
|
||||
|
||||
static void wifi_setup_event_cb( lv_obj_t * obj, lv_event_t event );
|
||||
static void battery_setup_event_cb( lv_obj_t * obj, lv_event_t event );
|
||||
@@ -97,42 +98,48 @@ void setup_tile_setup( lv_obj_t *tile, lv_style_t *style, lv_coord_t hres, lv_co
|
||||
|
||||
static void wifi_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( WLAN_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( WLAN_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void battery_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( BATTERY_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( BATTERY_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void move_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( MOVE_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( MOVE_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void display_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( DISPLAY_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( DISPLAY_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void time_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( TIME_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( TIME_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void update_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( UPDATE_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( UPDATE_SETTINGS_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "gui/mainbar/mainbar.h"
|
||||
#include "gui/statusbar.h"
|
||||
#include "hardware/timesync.h"
|
||||
#include "hardware/motor.h"
|
||||
|
||||
lv_obj_t *time_settings_tile=NULL;
|
||||
lv_style_t time_settings_style;
|
||||
@@ -124,13 +125,15 @@ void time_settings_tile_setup( lv_obj_t *tile, lv_style_t *style, lv_coord_t hre
|
||||
|
||||
static void exit_time_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void wifisync_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
if(event == LV_EVENT_VALUE_CHANGED) {
|
||||
motor_vibe( 1 );
|
||||
if( lv_switch_get_state( obj ) ) {
|
||||
timesync_set_timesync( true );
|
||||
}
|
||||
@@ -142,6 +145,7 @@ static void wifisync_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
|
||||
static void daylight_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
if(event == LV_EVENT_VALUE_CHANGED) {
|
||||
motor_vibe( 1 );
|
||||
if( lv_switch_get_state( obj ) ) {
|
||||
timesync_set_daylightsave( true );
|
||||
}
|
||||
@@ -154,6 +158,7 @@ static void daylight_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
static void utczone_event_handler(lv_obj_t * obj, lv_event_t event)
|
||||
{
|
||||
if(event == LV_EVENT_VALUE_CHANGED) {
|
||||
timesync_set_timezone( lv_dropdown_get_selected( obj ) - 12 );
|
||||
motor_vibe( 1 );
|
||||
timesync_set_timezone( lv_dropdown_get_selected( obj ) - 12 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "gui/mainbar/mainbar.h"
|
||||
#include "gui/statusbar.h"
|
||||
#include "hardware/display.h"
|
||||
#include "hardware/motor.h"
|
||||
|
||||
EventGroupHandle_t update_event_handle = NULL;
|
||||
TaskHandle_t _update_Task;
|
||||
@@ -111,13 +112,15 @@ void update_tile_setup( lv_obj_t *tile, lv_style_t *style, lv_coord_t hres, lv_c
|
||||
|
||||
static void exit_update_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void update_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
if(event == LV_EVENT_CLICKED) {
|
||||
motor_vibe( 1 );
|
||||
if ( xEventGroupGetBits( update_event_handle) & UPDATE_REQUEST ) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "gui/keyboard.h"
|
||||
|
||||
#include "hardware/wifictl.h"
|
||||
#include "hardware/motor.h"
|
||||
|
||||
#include <WiFi.h>
|
||||
|
||||
@@ -172,6 +173,7 @@ void wlan_password_tile_setup( lv_obj_t *tile, lv_style_t *style, lv_coord_t hre
|
||||
static void apply_wifi_password_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
|
||||
if(event == LV_EVENT_CLICKED) {
|
||||
motor_vibe( 1 );
|
||||
wifictl_insert_network( lv_label_get_text( wlan_password_name_label ), lv_textarea_get_text( wlan_password_pass_textfield ) );
|
||||
keyboard_hide();
|
||||
mainbar_jump_to_tilenumber( WLAN_SETTINGS_TILE, LV_ANIM_ON );
|
||||
@@ -182,6 +184,7 @@ static void apply_wifi_password_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
static void delete_wifi_password_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
|
||||
if(event == LV_EVENT_CLICKED) {
|
||||
motor_vibe( 1 );
|
||||
wifictl_delete_network( lv_label_get_text( wlan_password_name_label ) );
|
||||
keyboard_hide();
|
||||
mainbar_jump_to_tilenumber( WLAN_SETTINGS_TILE, LV_ANIM_ON );
|
||||
@@ -192,13 +195,15 @@ static void delete_wifi_password_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
static void wlan_password_event_cb( lv_obj_t * obj, lv_event_t event )
|
||||
{
|
||||
if( event == LV_EVENT_CLICKED ) {
|
||||
motor_vibe( 1 );
|
||||
keyboard_set_textarea( obj );
|
||||
}
|
||||
}
|
||||
|
||||
static void exit_wifi_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
case( LV_EVENT_CLICKED ): motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( SETUP_TILE, LV_ANIM_OFF );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -206,6 +211,7 @@ static void exit_wifi_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
static void exit_wifi_password_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
switch( event ) {
|
||||
case( LV_EVENT_CLICKED ): keyboard_hide();
|
||||
motor_vibe( 1 );
|
||||
mainbar_jump_to_tilenumber( WLAN_SETTINGS_TILE, LV_ANIM_ON );
|
||||
break;
|
||||
}
|
||||
@@ -213,6 +219,7 @@ static void exit_wifi_password_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
|
||||
static void wifi_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
if(event == LV_EVENT_VALUE_CHANGED) {
|
||||
motor_vibe( 1 );
|
||||
if( lv_switch_get_state( obj ) ) {
|
||||
wifictl_on();
|
||||
}
|
||||
@@ -224,6 +231,7 @@ static void wifi_onoff_event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
|
||||
void wifi_settings_enter_pass_event_cb( lv_obj_t * obj, lv_event_t event ) {
|
||||
if(event == LV_EVENT_CLICKED) {
|
||||
motor_vibe( 1 );
|
||||
lv_label_set_text( wlan_password_name_label, lv_list_get_btn_text(obj) );
|
||||
lv_textarea_set_text( wlan_password_pass_textfield, "");
|
||||
mainbar_jump_to_tilenumber( WLAN_PASSWORD_TILE, LV_ANIM_ON );
|
||||
|
||||
@@ -127,8 +127,6 @@ weather_config_t *weather_get_config( void ) {
|
||||
}
|
||||
|
||||
void weather_widget_sync_Task( void * pvParameters ) {
|
||||
uint32_t retval = -1;
|
||||
|
||||
while( true ) {
|
||||
vTaskDelay( 500 );
|
||||
if ( xEventGroupGetBits( weather_widget_event_handle ) & WEATHER_WIDGET_SYNC_REQUEST ) {
|
||||
@@ -141,7 +139,6 @@ void weather_widget_sync_Task( void * pvParameters ) {
|
||||
lv_imgbtn_set_src( weather_widget_condition_img, LV_BTN_STATE_CHECKED_RELEASED, resolve_owm_icon( weather_today.icon ) );
|
||||
lv_imgbtn_set_src( weather_widget_condition_img, LV_BTN_STATE_CHECKED_PRESSED, resolve_owm_icon( weather_today.icon ) );
|
||||
lv_obj_align( weather_widget_temperature_label, weather_widget_cont, LV_ALIGN_IN_BOTTOM_MID, 0, 0);
|
||||
motor_vibe( 1 );
|
||||
}
|
||||
}
|
||||
xEventGroupClearBits( weather_widget_event_handle, WEATHER_WIDGET_SYNC_REQUEST );
|
||||
|
||||
@@ -194,7 +194,6 @@ void weather_forecast_sync_Task( void * pvParameters ) {
|
||||
strftime( buf, sizeof(buf), "updated: %d.%b %H:%M", &info );
|
||||
lv_label_set_text( weather_forecast_update_label, buf );
|
||||
}
|
||||
motor_vibe( 1 );
|
||||
}
|
||||
else {
|
||||
char buf[64];
|
||||
|
||||
Reference in New Issue
Block a user