Zimin Wang / Mbed 2 deprecated DDRO_Farrari

Dependencies:   mbed-rtos mbed

Fork of DDRO_Farrari by Liangzhen Lai

Revision:
10:95e9932f7990
Parent:
9:cbb692f51e0f
--- a/serialIO.cpp	Tue Feb 11 21:36:52 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-#include "mbed.h"
-#include "pinout.h"
-#include "serialIO.h"
-
-// buffer for TX and RX
-char tx_buffer[buffer_size];
-char rx_buffer[buffer_size];
-// buffer for sscanf and sprintf
-char tx_line[80];
-char rx_line[80];
-
-// index marking the begin/end of rx_buffer and tx_buffer
-volatile int tx_out = 0;
-volatile int tx_in = 0;
-volatile int rx_out = 0;
-volatile int rx_in = 0;
-
-// Copy tx line buffer to large tx buffer for tx interrupt routine
-void send_line() {
-    int i;
-    char temp_char;
-    bool empty;
-    i = 0;
-// Start Critical Section - don't interrupt while changing global buffer variables
-    NVIC_DisableIRQ(USB_IRQn);
-    empty = (tx_in == tx_out);
-    while ((i==0) || (tx_line[i-1] != '\n')) {
-// Wait if buffer full
-        if (((tx_in + 1) % buffer_size) == tx_out) {
-// End Critical Section - need to let interrupt routine empty buffer by sending
-            NVIC_EnableIRQ(USB_IRQn);
-            while (((tx_in + 1) % buffer_size) == tx_out) {
-            }
-// Start Critical Section - don't interrupt while changing global buffer variables
-            NVIC_DisableIRQ(USB_IRQn);
-        }
-        tx_buffer[tx_in] = tx_line[i];
-        i++;
-        tx_in = (tx_in + 1) % buffer_size;
-    }
-    if (pc.writeable() && (empty)) {
-        temp_char = tx_buffer[tx_out];
-        tx_out = (tx_out + 1) % buffer_size;
-// Send first character to start tx interrupts, if stopped
-        pc.putc(temp_char);
-    }
-// End Critical Section
-    NVIC_EnableIRQ(USB_IRQn);
-    return;
-}
-
-// Interupt Routine to write out data to serial port
-void Tx_interrupt() {
-// Loop to fill more than one character in UART's transmit FIFO buffer
-// Stop if buffer empty
-    while ((pc.writeable()) && (tx_in != tx_out)) {
-        pc.putc(tx_buffer[tx_out]);
-        tx_out = (tx_out + 1) % buffer_size;
-    }
-    return;
-}
-
-// Read a line from the large rx buffer from rx interrupt routine
-void read_line() {
-    int i;
-    i = 0;
-// Start Critical Section - don't interrupt while changing global buffer variables
-    NVIC_DisableIRQ(USB_IRQn);
-// Loop reading rx buffer characters until end of line character
-    while ((i==0) || (rx_line[i-1] != '\r')) {
-// Wait if buffer empty
-        if (rx_in == rx_out) {
-// End Critical Section - need to allow rx interrupt to get new characters for buffer
-            NVIC_EnableIRQ(USB_IRQn);
-            while (rx_in == rx_out) {
-            }
-// Start Critical Section - don't interrupt while changing global buffer variables
-            NVIC_DisableIRQ(USB_IRQn);
-        }
-        rx_line[i] = rx_buffer[rx_out];
-        i++;
-        rx_out = (rx_out + 1) % buffer_size;
-    }
-// End Critical Section
-    NVIC_EnableIRQ(USB_IRQn);
-    rx_line[i-1] = 0;
-    return;
-}
-
-// Interupt Routine to read in data from serial port
-void Rx_interrupt() {
-// Loop just in case more than one character is in UART's receive FIFO buffer
-// Stop if buffer full
-    while ((pc.readable()) && (((rx_in + 1) % buffer_size) != rx_out)) {
-        rx_buffer[rx_in] = pc.getc();
-// Uncomment to Echo to USB serial to watch data flow
-//        monitor_device.putc(rx_buffer[rx_in]);
-        rx_in = (rx_in + 1) % buffer_size;
-    }
-    return;
-}