Полный переход на C++
*Чтение IMU и обработка его данных выполняется в точности как в рабочей прошивке. *Определение вращения работает корректно.
This commit is contained in:
36
Source/Devices/RadioReceiver.h
Normal file
36
Source/Devices/RadioReceiver.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef RADIO_RECEIVER_H
|
||||
#define RADIO_RECEIVER_H
|
||||
|
||||
#include "stm32g431xx.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#define SBUS_FRAME_SIZE 25
|
||||
#define SBUS_START_BYTE 0X0F
|
||||
|
||||
struct rc_channels
|
||||
{
|
||||
short rc_roll; // -500 - 500
|
||||
short rc_pitch; // -500 - 500
|
||||
short rc_throttle; // 1000 - 2000
|
||||
short rc_yaw; // -500 - 500
|
||||
bool rc_armed; // 0/1
|
||||
};
|
||||
|
||||
void receiver_gpio_init();
|
||||
void receiver_lpuart_clock_init();
|
||||
void receiver_uart_init();
|
||||
void receiver_init();
|
||||
void LPUART1_IRQHandler();
|
||||
void receiver_update(rc_channels* chs);
|
||||
void receiver_parse_frame();
|
||||
rc_channels normalize_channels(rc_channels chs);
|
||||
short int_mapping(short x, short in_min, short in_max, short out_min, short out_max);
|
||||
bool bool_mapping_gt(short x, short boundary);
|
||||
|
||||
|
||||
void led_init();
|
||||
void toggle_led();
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user