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
io/MTSSerial.h@36:bb6b293c7495, 2013-12-19 (annotated)
- 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?
User | Revision | Line number | New 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 */ |