From 1de3babe9856a6696710e668f4205fbb08aba482 Mon Sep 17 00:00:00 2001 From: philsson Date: Wed, 21 Sep 2016 16:27:24 +0200 Subject: [PATCH] Inverter for UART1 implemented. Not tested --- UAV-ControlSystem/inc/drivers/inverter.h | 39 ++++++++++++++++++++ UAV-ControlSystem/src/drivers/inverter.c | 46 ++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 UAV-ControlSystem/inc/drivers/inverter.h create mode 100644 UAV-ControlSystem/src/drivers/inverter.c diff --git a/UAV-ControlSystem/inc/drivers/inverter.h b/UAV-ControlSystem/inc/drivers/inverter.h new file mode 100644 index 0000000..6561fca --- /dev/null +++ b/UAV-ControlSystem/inc/drivers/inverter.h @@ -0,0 +1,39 @@ +/* + * inverter.h + * + * Created on: 21 sep. 2016 + * Author: Philip + */ + /********************************************************************** + * NAME: inverter.h * + * AUTHOR: Philip Johansson * + * PURPOSE: Flip USART inversion on USART0 * + * INFORMATION: * + * This functionality exists only on USART0. * + * Initialize with the desired value * + * * + * GLOBAL VARIABLES: * + * Variable Type Description * + * -------- ---- ----------- * + * * + **********************************************************************/ + +#ifndef DRIVERS_INVERTER_H_ +#define DRIVERS_INVERTER_H_ + +#pragma once + +/*********************************************************************** +* BRIEF: Init Inverter * +* INFORMATION: Must be ran before inversion can be activated. * +***********************************************************************/ +void initInverter(bool on); + +/*********************************************************************** +* BRIEF: Set Inverter * +* INFORMATION: Does not need bo be ran unless the value is changed. * +***********************************************************************/ +void inverterSet(bool on); + + +#endif /* DRIVERS_INVERTER_H_ */ diff --git a/UAV-ControlSystem/src/drivers/inverter.c b/UAV-ControlSystem/src/drivers/inverter.c new file mode 100644 index 0000000..2f0e118 --- /dev/null +++ b/UAV-ControlSystem/src/drivers/inverter.c @@ -0,0 +1,46 @@ +/* + * inverter.c + * + * Created on: 21 sep. 2016 + * Author: Philip + */ + /********************************************************************** + * NAME: inverter.h * + * AUTHOR: Philip Johansson * + * PURPOSE: Flip USART inversion on USART0 * + * INFORMATION: * + * This functionality exists only on USART0. * + * Initialize with the desired value * + * * + * GLOBAL VARIABLES: * + * Variable Type Description * + * -------- ---- ----------- * + * * + **********************************************************************/ +#include "stm32f4xx.h" + +void inverterSet(bool on); + +/*********************************************************************** +* BRIEF: Init Inverter * +* INFORMATION: Must be ran before inversion can be activated. * +***********************************************************************/ +void initInverter(bool on) +{ + GPIO_InitTypeDef gpinit; + gpinit.Pin = GPIO_PIN_0; + gpinit.Mode = GPIO_MODE_OUTPUT_PP; + gpinit.Pull = GPIO_NOPULL;// OBS different from other IOs as they have PULLUP + gpinit.Speed = GPIO_SPEED_HIGH; + HAL_GPIO_Init(GPIOC, &gpinit); + inverterset(on); +} + +/*********************************************************************** +* BRIEF: Set Inverter * +* INFORMATION: Does not need bo be ran unless the value is changed. * +***********************************************************************/ +void inverterSet(bool on) +{ + HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,on ? GPIO_PIN_SET : GPIO_PIN_RESET); +}