File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -114,22 +114,29 @@ uint32_t count = 0;
114114bool toggle = true ;
115115void DisplayApp::Refresh () {
116116 TickType_t queueTimeout;
117+ TickType_t delta;
117118 switch (state) {
118119 case States::Idle:
119120 IdleState ();
120121 queueTimeout = portMAX_DELAY;
121122 break ;
122123 case States::Running:
123124 RunningState ();
124- queueTimeout = 20 ;
125+ delta = xTaskGetTickCount () - lastWakeTime;
126+ if (delta > 20 ) {
127+ delta = 20 ;
128+ }
129+ queueTimeout = 20 - delta;
125130 break ;
126131 default :
127132 queueTimeout = portMAX_DELAY;
128133 break ;
129134 }
130135
131136 Messages msg;
132- if (xQueueReceive (msgQueue, &msg, queueTimeout)) {
137+ bool messageReceived = xQueueReceive (msgQueue, &msg, queueTimeout);
138+ lastWakeTime = xTaskGetTickCount ();
139+ if (messageReceived) {
133140 switch (msg) {
134141 case Messages::GoToSleep:
135142 brightnessController.Backup ();
Original file line number Diff line number Diff line change @@ -114,6 +114,7 @@ namespace Pinetime {
114114
115115 Apps nextApp = Apps::None;
116116 DisplayApp::FullRefreshDirections nextDirection;
117+ TickType_t lastWakeTime;
117118 };
118119 }
119120}
You can’t perform that action at this time.
0 commit comments