From 1de3babe9856a6696710e668f4205fbb08aba482 Mon Sep 17 00:00:00 2001 From: philsson Date: Wed, 21 Sep 2016 16:27:24 +0200 Subject: [PATCH 1/2] 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); +} From 83b56b24043ff8797ed7cb1428069749b7cc2c7e Mon Sep 17 00:00:00 2001 From: philsson Date: Thu, 22 Sep 2016 11:28:45 +0200 Subject: [PATCH 2/2] Renaming for better explanation of rx inverter for uart1 --- .../inc/drivers/{inverter.h => uart1_inverter.h} | 15 ++++++++------- .../src/drivers/{inverter.c => uart1_inverter.c} | 13 +++++++------ 2 files changed, 15 insertions(+), 13 deletions(-) rename UAV-ControlSystem/inc/drivers/{inverter.h => uart1_inverter.h} (81%) rename UAV-ControlSystem/src/drivers/{inverter.c => uart1_inverter.c} (85%) diff --git a/UAV-ControlSystem/inc/drivers/inverter.h b/UAV-ControlSystem/inc/drivers/uart1_inverter.h similarity index 81% rename from UAV-ControlSystem/inc/drivers/inverter.h rename to UAV-ControlSystem/inc/drivers/uart1_inverter.h index 6561fca..bd0e83e 100644 --- a/UAV-ControlSystem/inc/drivers/inverter.h +++ b/UAV-ControlSystem/inc/drivers/uart1_inverter.h @@ -1,11 +1,11 @@ /* - * inverter.h + * uart1_inverter.h * * Created on: 21 sep. 2016 * Author: Philip */ /********************************************************************** - * NAME: inverter.h * + * NAME: uart1_inverter.h * * AUTHOR: Philip Johansson * * PURPOSE: Flip USART inversion on USART0 * * INFORMATION: * @@ -18,22 +18,23 @@ * * **********************************************************************/ -#ifndef DRIVERS_INVERTER_H_ -#define DRIVERS_INVERTER_H_ +#ifndef DRIVERS_UART1_INVERTER_H_ +#define DRIVERS_UART1_INVERTER_H_ #pragma once /*********************************************************************** * BRIEF: Init Inverter * * INFORMATION: Must be ran before inversion can be activated. * +* The "on" arg sets if the inverter should be initiated on or off * ***********************************************************************/ -void initInverter(bool on); +void uart1_rx_inverter_init(bool on); /*********************************************************************** * BRIEF: Set Inverter * * INFORMATION: Does not need bo be ran unless the value is changed. * ***********************************************************************/ -void inverterSet(bool on); +void uart1_rx_inverter_set(bool on); -#endif /* DRIVERS_INVERTER_H_ */ +#endif /* DRIVERS_UART1_INVERTER_H_ */ diff --git a/UAV-ControlSystem/src/drivers/inverter.c b/UAV-ControlSystem/src/drivers/uart1_inverter.c similarity index 85% rename from UAV-ControlSystem/src/drivers/inverter.c rename to UAV-ControlSystem/src/drivers/uart1_inverter.c index 2f0e118..414e35e 100644 --- a/UAV-ControlSystem/src/drivers/inverter.c +++ b/UAV-ControlSystem/src/drivers/uart1_inverter.c @@ -1,11 +1,11 @@ /* - * inverter.c + * uart1_inverter.c * * Created on: 21 sep. 2016 * Author: Philip */ /********************************************************************** - * NAME: inverter.h * + * NAME: uart1_inverter.h * * AUTHOR: Philip Johansson * * PURPOSE: Flip USART inversion on USART0 * * INFORMATION: * @@ -19,13 +19,14 @@ **********************************************************************/ #include "stm32f4xx.h" -void inverterSet(bool on); +void uart1_rx_inverter_set(bool on); /*********************************************************************** * BRIEF: Init Inverter * * INFORMATION: Must be ran before inversion can be activated. * +* The "on" arg sets if the inverter should be initiated on or off * ***********************************************************************/ -void initInverter(bool on) +void uart1_rx_inverter_init(bool on) { GPIO_InitTypeDef gpinit; gpinit.Pin = GPIO_PIN_0; @@ -33,14 +34,14 @@ void initInverter(bool on) 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); + uart1_rx_inverter_set(on); } /*********************************************************************** * BRIEF: Set Inverter * * INFORMATION: Does not need bo be ran unless the value is changed. * ***********************************************************************/ -void inverterSet(bool on) +void uart1_rx_inverter_set(bool on) { HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,on ? GPIO_PIN_SET : GPIO_PIN_RESET); }