@@ -54,28 +54,39 @@ using namespace chip::DeviceLayer;
54
54
#define APP_TASK_PRIORITY 2
55
55
#define APP_EVENT_QUEUE_SIZE 10
56
56
57
- static TaskHandle_t sAppTaskHandle ;
58
- static QueueHandle_t sAppEventQueue ;
57
+ namespace {
58
+ TaskHandle_t sAppTaskHandle ;
59
+ QueueHandle_t sAppEventQueue ;
59
60
60
- static bool sIsThreadProvisioned = false ;
61
- static bool sIsThreadEnabled = false ;
62
- static bool sHaveBLEConnections = false ;
61
+ bool sIsThreadProvisioned = false ;
62
+ bool sIsThreadEnabled = false ;
63
+ bool sHaveBLEConnections = false ;
64
+ bool sHaveServiceConnectivity = false ;
65
+
66
+ uint8_t sAppEventQueueBuffer [APP_EVENT_QUEUE_SIZE * sizeof (AppEvent)];
67
+
68
+ StaticQueue_t sAppEventQueueStruct ;
69
+
70
+ StackType_t appStack[APP_TASK_STACK_SIZE / sizeof (StackType_t)];
71
+ StaticTask_t appTaskStruct;
72
+ } // namespace
63
73
64
74
AppTask AppTask::sAppTask ;
65
75
66
76
CHIP_ERROR AppTask::StartAppTask ()
67
77
{
68
- sAppEventQueue = xQueueCreate (APP_EVENT_QUEUE_SIZE, sizeof (AppEvent));
78
+ sAppEventQueue = xQueueCreateStatic (APP_EVENT_QUEUE_SIZE, sizeof (AppEvent), sAppEventQueueBuffer , & sAppEventQueueStruct );
69
79
if (sAppEventQueue == NULL )
70
80
{
71
81
ChipLogError (NotSpecified, " Failed to allocate app event queue" );
72
82
return CHIP_ERROR_NO_MEMORY;
73
83
}
74
84
75
85
// Start App task.
76
- if (xTaskCreate (AppTaskMain, " APP" , APP_TASK_STACK_SIZE / sizeof (StackType_t), NULL , 1 , &sAppTaskHandle ) != pdPASS)
86
+ sAppTaskHandle = xTaskCreateStatic (AppTaskMain, APP_TASK_NAME, ArraySize (appStack), NULL , 1 , appStack, &appTaskStruct);
87
+ if (sAppTaskHandle != NULL )
77
88
{
78
- return CHIP_ERROR_NO_MEMORY ;
89
+ return CHIP_NO_ERROR ;
79
90
}
80
91
81
92
return CHIP_NO_ERROR;
@@ -426,6 +437,10 @@ void AppTask::PostEvent(const AppEvent * aEvent)
426
437
ChipLogError (NotSpecified, " Failed to post event to app task event queue" );
427
438
}
428
439
}
440
+ else
441
+ {
442
+ ChipLogError (NotSpecified, " Event Queue is NULL should never happen" );
443
+ }
429
444
}
430
445
431
446
void AppTask::DispatchEvent (AppEvent * aEvent)
0 commit comments