From ad7de303919b411738460d9d67b08be4df3957c0 Mon Sep 17 00:00:00 2001
From: Sergi Hernandez Juan <shernand@iri.upc.edu>
Date: Wed, 23 Aug 2017 17:13:59 +0200
Subject: [PATCH] Added a function to set the baudrate in all usart modules.

---
 f1/usart/include/usart1.h | 1 +
 f1/usart/include/usart2.h | 1 +
 f1/usart/include/usart3.h | 1 +
 f1/usart/src/usart1.c     | 6 ++++++
 f1/usart/src/usart2.c     | 6 ++++++
 f1/usart/src/usart3.c     | 6 ++++++
 f4/usart/include/usart1.h | 1 +
 f4/usart/include/usart2.h | 1 +
 f4/usart/include/usart3.h | 1 +
 f4/usart/include/usart4.h | 1 +
 f4/usart/src/usart1.c     | 6 ++++++
 f4/usart/src/usart2.c     | 6 ++++++
 f4/usart/src/usart3.c     | 6 ++++++
 f4/usart/src/usart4.c     | 6 ++++++
 14 files changed, 49 insertions(+)

diff --git a/f1/usart/include/usart1.h b/f1/usart/include/usart1.h
index 67621a0..58e6d28 100644
--- a/f1/usart/include/usart1.h
+++ b/f1/usart/include/usart1.h
@@ -9,6 +9,7 @@
 void usart1_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart1_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart1_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart1_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart1_send_irq(unsigned char first_byte);
 unsigned char usart1_enable_tx_irq(void);
diff --git a/f1/usart/include/usart2.h b/f1/usart/include/usart2.h
index 9889d0b..21891f0 100644
--- a/f1/usart/include/usart2.h
+++ b/f1/usart/include/usart2.h
@@ -9,6 +9,7 @@
 void usart2_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart2_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart2_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart2_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart2_send_irq(unsigned char first_byte);
 unsigned char usart2_enable_tx_irq(void);
diff --git a/f1/usart/include/usart3.h b/f1/usart/include/usart3.h
index fbc0c3b..23e8ac4 100644
--- a/f1/usart/include/usart3.h
+++ b/f1/usart/include/usart3.h
@@ -9,6 +9,7 @@
 void usart3_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart3_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart3_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart3_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart3_send_irq(unsigned char first_byte);
 unsigned char usart3_enable_tx_irq(void);
diff --git a/f1/usart/src/usart1.c b/f1/usart/src/usart1.c
index d54b562..271d84e 100644
--- a/f1/usart/src/usart1.c
+++ b/f1/usart/src/usart1.c
@@ -274,6 +274,12 @@ void usart1_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart1_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart1Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart1Handle);
+}
+
 /* IRQ functions */
 unsigned char usart1_send_irq(unsigned char first_byte)
 {
diff --git a/f1/usart/src/usart2.c b/f1/usart/src/usart2.c
index 3783a81..4806685 100644
--- a/f1/usart/src/usart2.c
+++ b/f1/usart/src/usart2.c
@@ -273,6 +273,12 @@ void usart2_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart2_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart2Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart2Handle);
+}
+
 /* IRQ functions */
 unsigned char usart2_send_irq(unsigned char first_byte)
 {
diff --git a/f1/usart/src/usart3.c b/f1/usart/src/usart3.c
index 322b771..4b6fc90 100644
--- a/f1/usart/src/usart3.c
+++ b/f1/usart/src/usart3.c
@@ -273,6 +273,12 @@ void usart3_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart3_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart3Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart3Handle);
+}
+
 /* IRQ functions */
 unsigned char usart3_send_irq(unsigned char first_byte)
 {
diff --git a/f4/usart/include/usart1.h b/f4/usart/include/usart1.h
index 4c5f41e..94ad8f0 100644
--- a/f4/usart/include/usart1.h
+++ b/f4/usart/include/usart1.h
@@ -9,6 +9,7 @@
 void usart1_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart1_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart1_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart1_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart1_send_irq(unsigned char first_byte);
 unsigned char usart1_enable_tx_irq(void);
diff --git a/f4/usart/include/usart2.h b/f4/usart/include/usart2.h
index 65bbfae..162c391 100644
--- a/f4/usart/include/usart2.h
+++ b/f4/usart/include/usart2.h
@@ -9,6 +9,7 @@
 void usart2_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart2_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart2_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart2_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart2_send_irq(unsigned char first_byte);
 unsigned char usart2_enable_tx_irq(void);
diff --git a/f4/usart/include/usart3.h b/f4/usart/include/usart3.h
index 7d659d9..4d96a99 100644
--- a/f4/usart/include/usart3.h
+++ b/f4/usart/include/usart3.h
@@ -9,6 +9,7 @@
 void usart3_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart3_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart3_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart3_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart3_send_irq(unsigned char first_byte);
 unsigned char usart3_enable_tx_irq(void);
diff --git a/f4/usart/include/usart4.h b/f4/usart/include/usart4.h
index 78213da..21370af 100644
--- a/f4/usart/include/usart4.h
+++ b/f4/usart/include/usart4.h
@@ -9,6 +9,7 @@
 void usart4_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart4_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart4_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart4_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart4_send_irq(unsigned char first_byte);
 unsigned char usart4_enable_tx_irq(void);
diff --git a/f4/usart/src/usart1.c b/f4/usart/src/usart1.c
index 1622ccf..ca3e17c 100644
--- a/f4/usart/src/usart1.c
+++ b/f4/usart/src/usart1.c
@@ -277,6 +277,12 @@ void usart1_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart1_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart1Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart1Handle);
+}
+
 /* IRQ functions */
 unsigned char usart1_send_irq(unsigned char first_byte)
 {
diff --git a/f4/usart/src/usart2.c b/f4/usart/src/usart2.c
index ee1cc55..44190b8 100644
--- a/f4/usart/src/usart2.c
+++ b/f4/usart/src/usart2.c
@@ -277,6 +277,12 @@ void usart2_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart2_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart2Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart2Handle);
+}
+
 /* IRQ functions */
 unsigned char usart2_send_irq(unsigned char first_byte)
 {
diff --git a/f4/usart/src/usart3.c b/f4/usart/src/usart3.c
index 921746c..5e5a6e3 100644
--- a/f4/usart/src/usart3.c
+++ b/f4/usart/src/usart3.c
@@ -277,6 +277,12 @@ void usart3_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart3_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart3Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart3Handle);
+}
+
 /* IRQ functions */
 unsigned char usart3_send_irq(unsigned char first_byte)
 {
diff --git a/f4/usart/src/usart4.c b/f4/usart/src/usart4.c
index 3014684..e97a9c7 100644
--- a/f4/usart/src/usart4.c
+++ b/f4/usart/src/usart4.c
@@ -277,6 +277,12 @@ void usart4_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart4_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart4Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart4Handle);
+}
+
 /* IRQ functions */
 unsigned char usart4_send_irq(unsigned char first_byte)
 {
-- 
GitLab