#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