1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 00:05:33 +03:00

Add Attitude task

This commit is contained in:
borisbstyle 2016-03-02 00:10:29 +01:00
parent eb04e2c745
commit 24b4d37d43
4 changed files with 14 additions and 1 deletions

View file

@ -696,6 +696,7 @@ int main(void) {
rescheduleTask(TASK_ACCEL, accTargetLooptime); rescheduleTask(TASK_ACCEL, accTargetLooptime);
} }
setTaskEnabled(TASK_ACCEL, sensors(SENSOR_ACC)); setTaskEnabled(TASK_ACCEL, sensors(SENSOR_ACC));
setTaskEnabled(TASK_ATTITUDE, sensors(SENSOR_ACC));
setTaskEnabled(TASK_SERIAL, true); setTaskEnabled(TASK_SERIAL, true);
#ifdef BEEPER #ifdef BEEPER
setTaskEnabled(TASK_BEEPER, true); setTaskEnabled(TASK_BEEPER, true);

View file

@ -657,7 +657,6 @@ void taskMainPidLoop(void)
} }
void subTasksMainPidLoop(void) { void subTasksMainPidLoop(void) {
imuUpdateAttitude();
if (masterConfig.rxConfig.rcSmoothing || flightModeFlags) { if (masterConfig.rxConfig.rcSmoothing || flightModeFlags) {
filterRc(); filterRc();
@ -791,6 +790,10 @@ void taskUpdateAccelerometer(void)
imuUpdateAccelerometer(&masterConfig.accelerometerTrims); imuUpdateAccelerometer(&masterConfig.accelerometerTrims);
} }
void taskUpdateAttitude(void) {
imuUpdateAttitude();
}
void taskHandleSerial(void) void taskHandleSerial(void)
{ {
handleSerial(); handleSerial();

View file

@ -45,6 +45,7 @@ typedef enum {
TASK_SYSTEM = 0, TASK_SYSTEM = 0,
TASK_GYROPID, TASK_GYROPID,
TASK_MOTOR, TASK_MOTOR,
TASK_ATTITUDE,
TASK_ACCEL, TASK_ACCEL,
TASK_SERIAL, TASK_SERIAL,
#ifdef BEEPER #ifdef BEEPER

View file

@ -26,6 +26,7 @@ void taskMainPidLoopCheck(void);
void taskMotorUpdate(void); void taskMotorUpdate(void);
void taskUpdateAccelerometer(void); void taskUpdateAccelerometer(void);
void taskHandleSerial(void); void taskHandleSerial(void);
void taskUpdateAttitude(void);
void taskUpdateBeeper(void); void taskUpdateBeeper(void);
void taskUpdateBattery(void); void taskUpdateBattery(void);
bool taskUpdateRxCheck(uint32_t currentDeltaTime); bool taskUpdateRxCheck(uint32_t currentDeltaTime);
@ -68,6 +69,13 @@ cfTask_t cfTasks[TASK_COUNT] = {
.staticPriority = TASK_PRIORITY_REALTIME, .staticPriority = TASK_PRIORITY_REALTIME,
}, },
[TASK_ATTITUDE] = {
.taskName = "ATTITUDE",
.taskFunc = taskUpdateAttitude,
.desiredPeriod = 1000000 / 100,
.staticPriority = TASK_PRIORITY_MEDIUM,
},
[TASK_ACCEL] = { [TASK_ACCEL] = {
.taskName = "ACCEL", .taskName = "ACCEL",
.taskFunc = taskUpdateAccelerometer, .taskFunc = taskUpdateAccelerometer,