altos/stmf: Fix up serial port flow control configuration bits
authorKeith Packard <keithp@keithp.com>
Mon, 15 May 2017 15:58:21 +0000 (08:58 -0700)
committerKeith Packard <keithp@keithp.com>
Mon, 15 May 2017 15:58:21 +0000 (08:58 -0700)
Compute whether any sw/hw flow control is in use.
Compute whether hw flow control is in use as a separate value.

These make the code a bit easier to follow.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/stmf0/ao_arch_funcs.h
src/stmf0/ao_exti.h
src/stmf0/ao_serial_stm.c

index c38ce41afbad0545f32be50ffcc55085d33a5d73..01d51f90c17970b68140eaeef2b5342a7284de1d 100644 (file)
@@ -310,6 +310,27 @@ void
 ao_i2c_init(void);
 
 /* ao_serial_stm.c */
+
+#if USE_SERIAL_1_FLOW && USE_SERIAL_1_SW_FLOW || USE_SERIAL_2_FLOW && USE_SERIAL_2_SW_FLOW
+#define HAS_SERIAL_SW_FLOW     1
+#else
+#define HAS_SERIAL_SW_FLOW     0
+#endif
+
+#if USE_SERIAL_2_FLOW && !USE_SERIAL_2_SW_FLOW
+#define USE_SERIAL_2_HW_FLOW   1
+#endif
+
+#if USE_SERIAL_1_FLOW && !USE_SERIAL_1_SW_FLOW
+#define USE_SERIAL_1_HW_FLOW   1
+#endif
+
+#if USE_SERIAL_1_HW_FLOW || USE_SERIAL_2_HW_FLOW
+#define HAS_SERIAL_HW_FLOW     1
+#else
+#define HAS_SERIAL_HW_FLOW     0
+#endif
+
 struct ao_stm_usart {
        struct ao_fifo          rx_fifo;
        struct ao_fifo          tx_fifo;
index 7452af8ee70dd63325f12313bb16f601e07e45f0..36c3f7ca7e5e2a6697f82e81c46a42b147c2bae8 100644 (file)
@@ -21,6 +21,7 @@
 
 #define AO_EXTI_MODE_RISING    1
 #define AO_EXTI_MODE_FALLING   2
+#define AO_EXTI_MODE_PULL_NONE 0
 #define AO_EXTI_MODE_PULL_UP   4
 #define AO_EXTI_MODE_PULL_DOWN 8
 #define AO_EXTI_PRIORITY_LOW   16
index 06fc054ae9879153e8ce43a0d393d7da1f3f28ed..e20b57550982437f64236b0cd79617f20b83b7c1 100644 (file)
@@ -348,7 +348,7 @@ ao_serial2_set_speed(uint8_t speed)
        ao_usart_set_speed(&ao_stm_usart2, speed);
 }
 
-#if HAS_SERIAL_SW_FLOW
+#if USE_SERIAL_2_FLOW && USE_SERIAL_2_SW_FLOW
 void
 ao_serial2_cts(void)
 {