Files
RaDrone/Source/Control/Inc/attitude.h

28 lines
657 B
C

#ifndef ATTITUDE_H
#define ATTITUDE_H
#include "quaternion.h"
#include "vector.h"
#include "pid.h"
#include "radio_receiver.h"
typedef struct
{
Vector3 gyro;
} attitude_t;
static uint8_t imu_update_flag = 0;
static uint8_t pid_update_flag = 0;
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);
void TIM6_DAC_IRQHandler();
#endif