A library for talking to Multi-Tech's Cellular SocketModem Devices.

Dependents:   M2X_dev axeda_wrapper_dev MTS_M2x_Example1 MTS_Cellular_Connect_Example ... more

Revision:
83:9813f9b8ee68
Parent:
78:ef3ee53cf5df
Child:
86:186bbf974c7c
--- a/io/MTSSerialFlowControl.h	Fri Dec 27 15:41:24 2013 +0000
+++ b/io/MTSSerialFlowControl.h	Fri Dec 27 15:55:35 2013 +0000
@@ -2,29 +2,32 @@
 #define MTSSERIALFLOWCONTROL_H
 
 #include "mbed.h"
-#include "MTSBufferedIO.h"
+#include "MTSSerial.h"
+
 
 namespace mts
 {
 
-/** This class derives from MTSBufferedIO and provides a buffered wrapper to the
+/** This class derives from MTSBufferedIO/MTSSerial and provides a buffered wrapper to the
 * standard mbed Serial class along with generic RTS/CTS HW flow control. Since it
 * depends only on the mbed Serial, DigitalOut and InterruptIn classes for accessing
 * the serial data, this class is inherently portable accross different mbed platforms
 * and provides HW flow control even when not natively supported by the processors
-* serial port. If HW flow control is not needed, use MTSSerial instead.
+* serial port. If HW flow control is not needed, use MTSSerial instead. It should also
+* be noted that the RTS/CTS functionality in this class is implemented as a DTE device.
 */
-class MTSSerialFlowControl : public MTSBufferedIO
+class MTSSerialFlowControl : public MTSSerial
 {
 public:
     /** Creates a new MTSSerialFlowControl object that can be used to talk to an mbed serial
     * port through internal SW buffers. Note that this class also adds the ability to use
-    * RTS/CTS HW Flow Conrtol through and standard mbed InterruptIn and DigitalOut pins.
+    * RTS/CTS HW Flow Conrtol through and standard mbed DigitalIn and DigitalOut pins.
+    * The RTS and CTS functionality assumes this is a DTE device.
     *
     * @param TXD the transmit data pin on the desired mbed serial interface.
     * @param RXD the receive data pin on the desired mbed serial interface.
-    * @param RTS the InterruptIn pin that RTS will be attached to.
-    * @param CTS the DigitalOut pin that CTS will be attached to.
+    * @param RTS the DigitalOut pin that RTS will be attached to. (DTE)
+    * @param CTS the DigitalIn pin that CTS will be attached to. (DTE)
     * @param txBufferSize the size in bytes of the internal SW transmit buffer. The
     * default is 64 bytes.
     * @param rxBufferSize the size in bytes of the internal SW receive buffer. The
@@ -38,22 +41,6 @@
     */
     ~MTSSerialFlowControl();
 
-    /** This method is used to the set the baud rate of the serial port.
-    *
-    * @param baudrate the baudrate in bps as an int. The internal interface
-    * default is 9600 bps.
-    */
-    void baud(int baudrate);
-
-    /** This method sets the transmission format used by the serial port.
-    *
-    * @param bits the number of bits in a word (5-8; default = 8)
-    * @param parity the parity used (SerialBase::None, SerialBase::Odd, SerialBase::Even,
-    * SerialBase::Forced1, SerialBase::Forced0; default = SerialBase::None)
-    * @param stop the number of stop bits (1 or 2; default = 1)
-    */
-    void format(int bits=8, SerialBase::Parity parity=mbed::SerialBase::None, int stop_bits=1);
-
 private:
     void notifyStartSending(); // Used to set cts start signal
     void notifyStopSending(); // Used to set cts stop signal
@@ -61,10 +48,8 @@
     //This device acts as a DTE
     DigitalOut* rts; // Used to tell DCE to send or not send data
     DigitalIn* cts; // Used to check if DCE is ready for data
-    Serial* serial; // Internal Mbed Serial object
     int highThreshold; // High water mark for setting cts to stop
     int lowThreshold; // Low water mark for setting cts to start
-    char* if_name; // Internal variable for interface name
 
     virtual void handleRead(); // Method for handling data to be read
     virtual void handleWrite(); // Method for handling data to be written