try to fix time sync
This commit is contained in:
@@ -31,6 +31,6 @@
|
|||||||
/*
|
/*
|
||||||
* firmeware version string
|
* firmeware version string
|
||||||
*/
|
*/
|
||||||
#define __FIRMWARE__ "2020072706"
|
#define __FIRMWARE__ "2020072707"
|
||||||
|
|
||||||
#endif // _CONFIG_H
|
#endif // _CONFIG_H
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#include <soc/rtc.h>
|
#include <soc/rtc.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
#include <esp_wifi.h>
|
#include <esp_wifi.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#include "pmu.h"
|
#include "pmu.h"
|
||||||
#include "bma.h"
|
#include "bma.h"
|
||||||
@@ -82,7 +83,7 @@ void powermgm_loop( TTGOClass *ttgo ) {
|
|||||||
display_go_silence_wakeup( ttgo );
|
display_go_silence_wakeup( ttgo );
|
||||||
powermgm_set_event( POWERMGM_SILENCE_WAKEUP );
|
powermgm_set_event( POWERMGM_SILENCE_WAKEUP );
|
||||||
}
|
}
|
||||||
ttgo->rtc->syncToSystem();
|
timesyncToSystem();
|
||||||
ttgo->startLvglTick();
|
ttgo->startLvglTick();
|
||||||
mainbar_jump_to_maintile( LV_ANIM_OFF );
|
mainbar_jump_to_maintile( LV_ANIM_OFF );
|
||||||
lv_disp_trig_activity(NULL);
|
lv_disp_trig_activity(NULL);
|
||||||
@@ -95,7 +96,7 @@ void powermgm_loop( TTGOClass *ttgo ) {
|
|||||||
else {
|
else {
|
||||||
Serial.printf("go to standby\r\n");
|
Serial.printf("go to standby\r\n");
|
||||||
display_go_sleep( ttgo );
|
display_go_sleep( ttgo );
|
||||||
ttgo->rtc->syncToRtc();
|
timesyncToRTC();
|
||||||
if ( powermgm_get_event( POWERMGM_WIFI_ACTIVE ) ) wifictl_off();
|
if ( powermgm_get_event( POWERMGM_WIFI_ACTIVE ) ) wifictl_off();
|
||||||
while( powermgm_get_event( POWERMGM_WIFI_ACTIVE | POWERMGM_WIFI_CONNECTED | POWERMGM_WIFI_OFF_REQUEST | POWERMGM_WIFI_ON_REQUEST | POWERMGM_WIFI_SCAN ) ) { yield(); }
|
while( powermgm_get_event( POWERMGM_WIFI_ACTIVE | POWERMGM_WIFI_CONNECTED | POWERMGM_WIFI_OFF_REQUEST | POWERMGM_WIFI_ON_REQUEST | POWERMGM_WIFI_SCAN ) ) { yield(); }
|
||||||
ttgo->stopLvglTick();
|
ttgo->stopLvglTick();
|
||||||
|
|||||||
@@ -19,9 +19,10 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
#include "time.h"
|
||||||
|
#include <WiFi.h>
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "timesync.h"
|
#include "timesync.h"
|
||||||
#include <WiFi.h>
|
|
||||||
|
|
||||||
EventGroupHandle_t time_event_handle = NULL;
|
EventGroupHandle_t time_event_handle = NULL;
|
||||||
TaskHandle_t _timesync_Task;
|
TaskHandle_t _timesync_Task;
|
||||||
@@ -30,7 +31,12 @@ void timesync_Task( void * pvParameters );
|
|||||||
timesync_config_t timesync_config;
|
timesync_config_t timesync_config;
|
||||||
|
|
||||||
void timesync_setup( TTGOClass *ttgo ) {
|
void timesync_setup( TTGOClass *ttgo ) {
|
||||||
|
/*
|
||||||
|
char buff[16]="";
|
||||||
|
snprintf( buff, sizeof(buff),"UTC%d", timesync_config.timezone);
|
||||||
|
setenv("TZ", buff, 1);
|
||||||
|
tzset();
|
||||||
|
*/
|
||||||
timesync_read_config();
|
timesync_read_config();
|
||||||
|
|
||||||
WiFi.onEvent( [](WiFiEvent_t event, WiFiEventInfo_t info) {
|
WiFi.onEvent( [](WiFiEvent_t event, WiFiEventInfo_t info) {
|
||||||
@@ -115,13 +121,22 @@ void timesync_set_timezone( int32_t timezone ) {
|
|||||||
timesync_save_config();
|
timesync_save_config();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void timesyncToSystem( void ) {
|
||||||
|
TTGOClass *ttgo = TTGOClass::getWatch();
|
||||||
|
ttgo->rtc->syncToSystem();
|
||||||
|
}
|
||||||
|
|
||||||
|
void timesyncToRTC( void ) {
|
||||||
|
TTGOClass *ttgo = TTGOClass::getWatch();
|
||||||
|
ttgo->rtc->syncToRtc();
|
||||||
|
}
|
||||||
|
|
||||||
void timesync_Task( void * pvParameters ) {
|
void timesync_Task( void * pvParameters ) {
|
||||||
|
|
||||||
while( true ) {
|
while( true ) {
|
||||||
vTaskDelay( 500 );
|
vTaskDelay( 500 );
|
||||||
if ( xEventGroupGetBits( time_event_handle ) & TIME_SYNC_REQUEST ) {
|
if ( xEventGroupGetBits( time_event_handle ) & TIME_SYNC_REQUEST ) {
|
||||||
struct tm info;
|
struct tm info;
|
||||||
TTGOClass *ttgo = TTGOClass::getWatch();
|
|
||||||
|
|
||||||
long gmtOffset_sec = timesync_config.timezone * 3600;
|
long gmtOffset_sec = timesync_config.timezone * 3600;
|
||||||
int daylightOffset_sec = 0;
|
int daylightOffset_sec = 0;
|
||||||
|
|||||||
@@ -85,4 +85,7 @@
|
|||||||
*/
|
*/
|
||||||
void timesync_set_timezone( int32_t timezone );
|
void timesync_set_timezone( int32_t timezone );
|
||||||
|
|
||||||
|
void timesyncToSystem( void );
|
||||||
|
void timesyncToRTC( void );
|
||||||
|
|
||||||
#endif // _TIME_SYNC_H
|
#endif // _TIME_SYNC_H
|
||||||
|
|||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
2020072706
|
2020072707
|
||||||
|
|||||||
Reference in New Issue
Block a user