From 7e47b05c8ff4b5adef70fa6e91baf5ae121be7ca Mon Sep 17 00:00:00 2001 From: Thomas Ingleby Date: Mon, 18 May 2015 21:01:56 +0100 Subject: [PATCH] uart: move internal static function to top of file Signed-off-by: Thomas Ingleby --- src/uart/uart.c | 148 ++++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 73 deletions(-) diff --git a/src/uart/uart.c b/src/uart/uart.c index 257daef..63bfe08 100644 --- a/src/uart/uart.c +++ b/src/uart/uart.c @@ -32,6 +32,80 @@ #include "uart.h" #include "mraa_internal.h" +// This function takes an unsigned int and converts it to a B* speed_t +// that can be used with linux/posix termios +static speed_t +uint2speed(unsigned int speed) +{ + switch (speed) { + case 0: + return B0; // hangup, not too useful otherwise + case 50: + return B50; + case 75: + return B75; + case 110: + return B110; + case 150: + return B150; + case 200: + return B200; + case 300: + return B300; + case 600: + return B600; + case 1200: + return B1200; + case 1800: + return B1800; + case 2400: + return B2400; + case 4800: + return B4800; + case 9600: + return B9600; + case 19200: + return B19200; + case 38400: + return B38400; + case 57600: + return B57600; + case 115200: + return B115200; + case 230400: + return B230400; + case 460800: + return B460800; + case 500000: + return B500000; + case 576000: + return B576000; + case 921600: + return B921600; + case 1000000: + return B1000000; + case 1152000: + return B1152000; + case 1500000: + return B1500000; + case 2000000: + return B2000000; + case 2500000: + return B2500000; + case 3000000: + return B3000000; + case 3500000: + return B3500000; + case 4000000: + return B4000000; + default: + // if we are here, then an unsupported baudrate was selected. + // Report it via syslog and return B9600, a common default. + syslog(LOG_ERR, "uart: unsupported baud rate, defaulting to 9600."); + return B9600; + } +} + mraa_uart_context mraa_uart_init(int index) { @@ -402,76 +476,4 @@ mraa_uart_data_available(mraa_uart_context dev, unsigned int millis) } } -// This function takes an unsigned int and converts it to a B* speed_t -// that can be used with linux/posix termios -static speed_t -uint2speed(unsigned int speed) -{ - switch (speed) { - case 0: - return B0; // hangup, not too useful otherwise - case 50: - return B50; - case 75: - return B75; - case 110: - return B110; - case 150: - return B150; - case 200: - return B200; - case 300: - return B300; - case 600: - return B600; - case 1200: - return B1200; - case 1800: - return B1800; - case 2400: - return B2400; - case 4800: - return B4800; - case 9600: - return B9600; - case 19200: - return B19200; - case 38400: - return B38400; - case 57600: - return B57600; - case 115200: - return B115200; - case 230400: - return B230400; - case 460800: - return B460800; - case 500000: - return B500000; - case 576000: - return B576000; - case 921600: - return B921600; - case 1000000: - return B1000000; - case 1152000: - return B1152000; - case 1500000: - return B1500000; - case 2000000: - return B2000000; - case 2500000: - return B2500000; - case 3000000: - return B3000000; - case 3500000: - return B3500000; - case 4000000: - return B4000000; - default: - // if we are here, then an unsupported baudrate was selected. - // Report it via syslog and return B9600, a common default. - syslog(LOG_ERR, "uart: unsupported baud rate, defaulting to 9600."); - return B9600; - } -} +