From 24b4d37d430d6ccc0d6b9f24e85ad9ac3742fda7 Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Wed, 2 Mar 2016 00:10:29 +0100 Subject: [PATCH] Add Attitude task --- src/main/main.c | 1 + src/main/mw.c | 5 ++++- src/main/scheduler.h | 1 + src/main/scheduler_tasks.c | 8 ++++++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/main.c b/src/main/main.c index 764b1f43ad..586f682c5e 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -696,6 +696,7 @@ int main(void) { rescheduleTask(TASK_ACCEL, accTargetLooptime); } setTaskEnabled(TASK_ACCEL, sensors(SENSOR_ACC)); + setTaskEnabled(TASK_ATTITUDE, sensors(SENSOR_ACC)); setTaskEnabled(TASK_SERIAL, true); #ifdef BEEPER setTaskEnabled(TASK_BEEPER, true); diff --git a/src/main/mw.c b/src/main/mw.c index 29bcf7425f..867a0c324b 100644 --- a/src/main/mw.c +++ b/src/main/mw.c @@ -657,7 +657,6 @@ void taskMainPidLoop(void) } void subTasksMainPidLoop(void) { - imuUpdateAttitude(); if (masterConfig.rxConfig.rcSmoothing || flightModeFlags) { filterRc(); @@ -791,6 +790,10 @@ void taskUpdateAccelerometer(void) imuUpdateAccelerometer(&masterConfig.accelerometerTrims); } +void taskUpdateAttitude(void) { + imuUpdateAttitude(); +} + void taskHandleSerial(void) { handleSerial(); diff --git a/src/main/scheduler.h b/src/main/scheduler.h index 1b17c89853..af789c5c48 100755 --- a/src/main/scheduler.h +++ b/src/main/scheduler.h @@ -45,6 +45,7 @@ typedef enum { TASK_SYSTEM = 0, TASK_GYROPID, TASK_MOTOR, + TASK_ATTITUDE, TASK_ACCEL, TASK_SERIAL, #ifdef BEEPER diff --git a/src/main/scheduler_tasks.c b/src/main/scheduler_tasks.c index 79276d0061..e14ddd980c 100644 --- a/src/main/scheduler_tasks.c +++ b/src/main/scheduler_tasks.c @@ -26,6 +26,7 @@ void taskMainPidLoopCheck(void); void taskMotorUpdate(void); void taskUpdateAccelerometer(void); void taskHandleSerial(void); +void taskUpdateAttitude(void); void taskUpdateBeeper(void); void taskUpdateBattery(void); bool taskUpdateRxCheck(uint32_t currentDeltaTime); @@ -68,6 +69,13 @@ cfTask_t cfTasks[TASK_COUNT] = { .staticPriority = TASK_PRIORITY_REALTIME, }, + [TASK_ATTITUDE] = { + .taskName = "ATTITUDE", + .taskFunc = taskUpdateAttitude, + .desiredPeriod = 1000000 / 100, + .staticPriority = TASK_PRIORITY_MEDIUM, + }, + [TASK_ACCEL] = { .taskName = "ACCEL", .taskFunc = taskUpdateAccelerometer,