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

Committer:
jengbrecht
Date:
Thu Dec 19 16:47:26 2013 +0000
Revision:
36:bb6b293c7495
Parent:
10:2bd727a4b329
Child:
40:14342c4de476
Child:
45:40745c2036cf
Added a ton more documentation to most of the headers files. Also removed the capacity and available functions from MTSBufferedIO in favor of readable and writeable. Removed the single available method call from the cellular class.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jengbrecht 0:563b70517320 1 #ifndef MTSSERIAL_H
jengbrecht 0:563b70517320 2 #define MTSSERIAL_H
jengbrecht 0:563b70517320 3
jengbrecht 0:563b70517320 4 #include "mbed.h"
jengbrecht 0:563b70517320 5 #include "MTSBufferedIO.h"
jengbrecht 0:563b70517320 6
jengbrecht 36:bb6b293c7495 7 /** This class derives from MTSBufferedIO and provides a buffered wrapper to the
jengbrecht 36:bb6b293c7495 8 * standard Mbed Serial class. Since it depends only on the Mbed Serial class for
jengbrecht 36:bb6b293c7495 9 * accessing serial data, this class is inherently portable accross Mbed platforms.
jengbrecht 36:bb6b293c7495 10 */
jengbrecht 0:563b70517320 11 class MTSSerial : public MTSBufferedIO
jengbrecht 0:563b70517320 12 {
jengbrecht 0:563b70517320 13 public:
jengbrecht 36:bb6b293c7495 14 /** Creates a new MTSSerial object that can be used to talk to an Mbed serial port
jengbrecht 36:bb6b293c7495 15 * through internal SW buffers.
jengbrecht 36:bb6b293c7495 16 *
jengbrecht 36:bb6b293c7495 17 * @param TXD the transmit data pin on the desired Mbed serial interface.
jengbrecht 36:bb6b293c7495 18 * @param RXD the receive data pin on the desired Mbed serial interface.
jengbrecht 36:bb6b293c7495 19 * @param txBufferSize the size in bytes of the internal SW transmit buffer. The
jengbrecht 36:bb6b293c7495 20 * default is 64 bytes.
jengbrecht 36:bb6b293c7495 21 * @param rxBufferSize the size in bytes of the internal SW receive buffer. The
jengbrecht 36:bb6b293c7495 22 * default is 64 bytes.
jengbrecht 36:bb6b293c7495 23 * @param name an optional name for the serial port. The default is blank.
jengbrecht 36:bb6b293c7495 24 */
mfiore 10:2bd727a4b329 25 MTSSerial(PinName TXD, PinName RXD, int txBufferSize = 64, int rxBufferSize = 64, char* name = "");
jengbrecht 36:bb6b293c7495 26
jengbrecht 36:bb6b293c7495 27 /** Destructs an MTSSerial object and frees all related resources, including
jengbrecht 36:bb6b293c7495 28 * internal buffers.
jengbrecht 36:bb6b293c7495 29 */
jengbrecht 0:563b70517320 30 ~MTSSerial();
jengbrecht 36:bb6b293c7495 31
jengbrecht 36:bb6b293c7495 32 /** This method is used to the set the baud rate of the serial port.
jengbrecht 36:bb6b293c7495 33 *
jengbrecht 36:bb6b293c7495 34 * @param baudrate the baudrate in bps as an int. The internal interface
jengbrecht 36:bb6b293c7495 35 * default is 9600 bps.
jengbrecht 36:bb6b293c7495 36 */
jengbrecht 0:563b70517320 37 void baud(int baudrate);
jengbrecht 36:bb6b293c7495 38
jengbrecht 0:563b70517320 39 // void format(int bits=8, Parity parity=SerialBase::None, int stop_bits=1);
jengbrecht 0:563b70517320 40
jengbrecht 36:bb6b293c7495 41 /** Overridden method used internally to handle reading from the serial interface.
jengbrecht 36:bb6b293c7495 42 * Do not call directly, use data access methods available in MTSBufferedIO.
jengbrecht 36:bb6b293c7495 43 */
jengbrecht 36:bb6b293c7495 44 virtual void handleRead();
jengbrecht 36:bb6b293c7495 45
jengbrecht 36:bb6b293c7495 46 /** Overridden method used internally to handle writing to the serial interface.
jengbrecht 36:bb6b293c7495 47 * Do not call directly, use data access methods available in MTSBufferedIO.
jengbrecht 36:bb6b293c7495 48 */
jengbrecht 36:bb6b293c7495 49 virtual void handleWrite();
jengbrecht 0:563b70517320 50
jengbrecht 0:563b70517320 51 private:
jengbrecht 0:563b70517320 52 Serial* serial; // Internal mbed Serial object
jengbrecht 0:563b70517320 53 int writeSize; // Amount of data to write based on buffer size
mfiore 10:2bd727a4b329 54 char* if_name; // Name of the interface
jengbrecht 0:563b70517320 55 };
jengbrecht 0:563b70517320 56
jengbrecht 0:563b70517320 57 #endif /* MTSSERIAL_H */