Files
RaDrone/Source/Devices/RadioReceiver.h

34 lines
749 B
C

#pragma once
#ifndef RADIO_RECEIVER_H
#define RADIO_RECEIVER_H
#include "stm32g431xx.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 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