11extern EventGroupHandle_t xTaskEnableGroup;
22void vIdle(
void *argument) {
24 enum State *flightState = StateHandle_getHandle(
"FlightState").state;
25 MemBuff *mem = (MemBuff *)argument;
29 if (*flightState >= LAUNCH && mem->pageReady)
30 xEventGroupSetBits(xTaskEnableGroup, GROUP_TASK_ENABLE_FLASH);
43void vFlashBuffer(
void *argument) {
44 const TickType_t timeout = portMAX_DELAY;
45 uint32_t pageAddr = 0;
47 Flash *flash = DeviceHandle_getHandle(
"Flash").
device;
48 MemBuff *mem = (MemBuff *)argument;
49 uint8_t outBuff[flash->pageSize];
53 EventBits_t uxBits = xEventGroupWaitBits(xTaskEnableGroup, GROUP_TASK_ENABLE_FLASH, pdTRUE, pdFALSE, timeout);
54 if (uxBits & GROUP_TASK_ENABLE_FLASH) {
56 bool success = mem->readPage(mem, outBuff);
60 flash->writePage(flash, pageAddr, outBuff);
DeviceType device
Enum specifier for device type.