*Чтение IMU и обработка его данных выполняется в точности как в рабочей прошивке. *Определение вращения работает корректно.
27 lines
576 B
C
27 lines
576 B
C
#pragma once
|
|
|
|
#ifndef ATTITUDE_H
|
|
#define ATTITUDE_H
|
|
|
|
#include "Quaternion.h"
|
|
#include "Vector.h"
|
|
#include "PID.h"
|
|
#include "RadioReceiver.h"
|
|
#include "IRS.h"
|
|
|
|
struct attitude_t
|
|
{
|
|
Vector3 gyro;
|
|
};
|
|
|
|
void attitude_init(attitude_t* att);
|
|
|
|
void attitude_controller_update(control_channels_t* control,
|
|
const rc_channels* rx,
|
|
const Quaternion* current_q,
|
|
const Vector3* gyro);
|
|
|
|
Quaternion rx_to_quaternion(const rc_channels* rx);
|
|
float constrain(float x, float min, float max);
|
|
|
|
#endif |