#ifndef MYRF_H #define MYRF_H /* Driver permettant de communiquer via le module RF La définition des pins utilisées est faites dans un autre fichier (GPIO.c) RX : - Timer 4 - Channels 1 et 2 - Broches PB.6 et PB.7 TX : - USART1 - Broche PA.9 (Données) et PA.11 (Enable) */ #include "stm32f103xb.h" #define GPIOOut GPIOA #define PinTXEn LL_GPIO_PIN_11 #define TimerCC TIM4 #define channelCC1 LL_TIM_CHANNEL_CH1 #define channelCC2 LL_TIM_CHANNEL_CH2 #define USARTOut USART1 #define TransferDirTX LL_USART_DIRECTION_TX /** * @brief Configure le module RF pour la RX et la TX (Timer4 en PWM In sur CH1/2 et USART1) * @note À lancer en début de pgm * @note Période TIM4 = 20ms, Transfer Dir USART = TX * @param None * @retval None */ void MyRF_Conf(void); /** * @brief Retourne le rapport cyclique de la PWM en provenance du récepteur RF * @note Seuil de détection de +-10% autour du 0 * @param None * @retval int : [-100; 100] pour correspondre à la plage du moteur */ int MyRF_Input_Duty_Cycle(void); /** * @brief Transmet un message via l'USART vers l'émetteur RF * @note Message : "h'" - Bordage : % === Le voilier navigue ." * @param int bordage_pc : pourcentage du bordage des voiles [0; 100] * @param int angle_vent : angle du vent par rapport au bateau [0; 180] * @retval None */ void MyRF_Transmit_3s(int bordage_pc, int angle_vent); /** * @brief Transmet un message via l'USART vers l'émetteur RF * @note Message : "/!\ BATTERIE FAIBLE /!\" * @param None * @retval None */ void MyRF_Transmit_Batterie_Faible(void); /** * @brief Transmet un message via l'USART vers l'émetteur RF * @note Message : "/!\ RISQUE DE CHAVIREMENT /!\" * @param None * @retval None */ void MyRF_Transmit_Limite_Roulis(void); #endif