#endif #ifdef PITOT [TASK_PITOT] = { .taskName = "PITOT", .taskFunc = taskUpdatePitot, .desiredPeriod = TASK_PERIOD_HZ(10), .staticPriority = TASK_PRIORITY_MEDIUM, }, #endif #ifdef SONAR [TASK_SONAR] = { .taskName = "SONAR", .taskFunc = taskUpdateSonar, .desiredPeriod = TASK_PERIOD_MS(70), // every 70 ms, approximately 14 Hz .staticPriority = TASK_PRIORITY_MEDIUM, }, #endif #ifdef USE_DASHBOARD [TASK_DASHBOARD] = { .taskName = "DASHBOARD", .taskFunc = taskDashboardUpdate, .desiredPeriod = TASK_PERIOD_HZ(10), .staticPriority = TASK_PRIORITY_LOW, }, #endif #ifdef TELEMETRY [TASK_TELEMETRY] = {
// No need for a linked list for the queue, since items are only inserted at startup #ifdef UNIT_TEST #define TASK_QUEUE_ARRAY_SIZE (TASK_COUNT + 2) // 1 extra space so test code can check for buffer overruns #else #define TASK_QUEUE_ARRAY_SIZE (TASK_COUNT + 1) // extra item for NULL pointer at end of queue #endif const uint32_t taskQueueArraySize = TASK_QUEUE_ARRAY_SIZE; const uint32_t taskCount = TASK_COUNT; cfTask_t* taskQueueArray[TASK_QUEUE_ARRAY_SIZE]; cfTask_t cfTasks[] = { [TASK_SYSTEM] = { .taskName = "SYSTEM", .taskFunc = taskSystem, .desiredPeriod = TASK_PERIOD_MS(100), .staticPriority = TASK_PRIORITY_HIGH, }, [TASK_GYRO] = { .taskName = "GYRO", .checkFunc = taskGyroCheck, .taskFunc = taskGyro, .desiredPeriod = TASK_PERIOD_HZ(8000), .staticPriority = TASK_PRIORITY_REALTIME, }, [TASK_PID] = { .taskName = "PID", .checkFunc = taskPidCheck, .taskFunc = taskPid, .desiredPeriod = TASK_PERIOD_HZ(8000),
#endif #ifdef BARO [TASK_BARO] = { .taskName = "BARO", .taskFunc = taskUpdateBaro, .desiredPeriod = TASK_PERIOD_HZ(20), .staticPriority = TASK_PRIORITY_LOW, }, #endif #ifdef SONAR [TASK_SONAR] = { .taskName = "SONAR", .taskFunc = sonarUpdate, .desiredPeriod = TASK_PERIOD_MS(70), // 70ms required so that SONAR pulses do not interfere with each other .staticPriority = TASK_PRIORITY_LOW, }, #endif #if defined(BARO) || defined(SONAR) [TASK_ALTITUDE] = { .taskName = "ALTITUDE", .taskFunc = taskCalculateAltitude, .desiredPeriod = TASK_PERIOD_HZ(40), .staticPriority = TASK_PRIORITY_LOW, }, #endif #endif #ifdef TRANSPONDER