with 36errors

Dependencies:   MTS-Serial libxDot-dev-mbed5-deprecated

Fork of Dot-AT-Firmware by MultiTech

Committer:
faendder
Date:
Sun Jul 09 23:37:23 2017 +0000
Revision:
18:75cd82d6298c
Parent:
9:ff62b20f7000
i have 36 errors but i dont now how fixit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 9:ff62b20f7000 1 #ifndef ATSERIALFLOWCONTROL_H
Mike Fiore 9:ff62b20f7000 2 #define ATSERIALFLOWCONTROL_H
Mike Fiore 9:ff62b20f7000 3
Mike Fiore 9:ff62b20f7000 4 #include "ATSerial.h"
Mike Fiore 9:ff62b20f7000 5
Mike Fiore 9:ff62b20f7000 6 namespace mts
Mike Fiore 9:ff62b20f7000 7 {
Mike Fiore 9:ff62b20f7000 8
Mike Fiore 9:ff62b20f7000 9 /** This class derives from MTSBufferedIO/ATSerial and provides a buffered wrapper to the
Mike Fiore 9:ff62b20f7000 10 * standard mbed Serial class along with generic RTS/CTS HW flow control. Since it
Mike Fiore 9:ff62b20f7000 11 * depends only on the mbed Serial, DigitalOut and DigitalIn classes for accessing
Mike Fiore 9:ff62b20f7000 12 * the serial data, this class is inherently portable accross different mbed platforms
Mike Fiore 9:ff62b20f7000 13 * and provides HW flow control even when not natively supported by the processors
Mike Fiore 9:ff62b20f7000 14 * serial port. If HW flow control is not needed, use ATSerial instead. It should also
Mike Fiore 9:ff62b20f7000 15 * be noted that the RTS/CTS functionality in this class is implemented as a DTE device.
Mike Fiore 9:ff62b20f7000 16 */
Mike Fiore 9:ff62b20f7000 17 class ATSerialFlowControl : public ATSerial
Mike Fiore 9:ff62b20f7000 18 {
Mike Fiore 9:ff62b20f7000 19 public:
Mike Fiore 9:ff62b20f7000 20 /** Creates a new ATSerialFlowControl object that can be used to talk to an mbed serial
Mike Fiore 9:ff62b20f7000 21 * port through internal SW buffers. Note that this class also adds the ability to use
Mike Fiore 9:ff62b20f7000 22 * RTS/CTS HW Flow Conrtol through and standard mbed DigitalIn and DigitalOut pins.
Mike Fiore 9:ff62b20f7000 23 * The RTS and CTS functionality assumes this is a DTE device.
Mike Fiore 9:ff62b20f7000 24 *
Mike Fiore 9:ff62b20f7000 25 * @param TXD the transmit data pin on the desired mbed serial interface.
Mike Fiore 9:ff62b20f7000 26 * @param RXD the receive data pin on the desired mbed serial interface.
Mike Fiore 9:ff62b20f7000 27 * @param RTS the DigitalOut pin that RTS will be attached to. (DTE)
Mike Fiore 9:ff62b20f7000 28 * @param CTS the DigitalIn pin that CTS will be attached to. (DTE)
Mike Fiore 9:ff62b20f7000 29 * @param txBufferSize the size in bytes of the internal SW transmit buffer. The
Mike Fiore 9:ff62b20f7000 30 * default is 256 bytes.
Mike Fiore 9:ff62b20f7000 31 * @param rxBufferSize the size in bytes of the internal SW receive buffer. The
Mike Fiore 9:ff62b20f7000 32 * default is 256 bytes.
Mike Fiore 9:ff62b20f7000 33 */
Mike Fiore 9:ff62b20f7000 34 ATSerialFlowControl(PinName TXD, PinName RXD, PinName RTS, PinName CTS, int txBufSize = 256, int rxBufSize = 256);
Mike Fiore 9:ff62b20f7000 35
Mike Fiore 9:ff62b20f7000 36 /** Destructs an ATSerialFlowControl object and frees all related resources.
Mike Fiore 9:ff62b20f7000 37 */
Mike Fiore 9:ff62b20f7000 38 virtual ~ATSerialFlowControl();
Mike Fiore 9:ff62b20f7000 39
Mike Fiore 9:ff62b20f7000 40 //Overriden from MTSBufferedIO to support flow control correctly
Mike Fiore 9:ff62b20f7000 41 virtual void rxClear();
Mike Fiore 9:ff62b20f7000 42
Mike Fiore 9:ff62b20f7000 43 private:
Mike Fiore 9:ff62b20f7000 44 void notifyStartSending(); // Used to set cts start signal
Mike Fiore 9:ff62b20f7000 45 void notifyStopSending(); // Used to set cts stop signal
Mike Fiore 9:ff62b20f7000 46
Mike Fiore 9:ff62b20f7000 47 //This device acts as a DTE
Mike Fiore 9:ff62b20f7000 48 bool rxReadyFlag; //Tracks state change for rts signaling
Mike Fiore 9:ff62b20f7000 49 DigitalOut rts; // Used to tell DCE to send or not send data
Mike Fiore 9:ff62b20f7000 50 DigitalIn cts; // Used to check if DCE is ready for data
Mike Fiore 9:ff62b20f7000 51 int highThreshold; // High water mark for setting cts to stop
Mike Fiore 9:ff62b20f7000 52 int lowThreshold; // Low water mark for setting cts to start
Mike Fiore 9:ff62b20f7000 53
Mike Fiore 9:ff62b20f7000 54 virtual void handleRead(); // Method for handling data to be read
Mike Fiore 9:ff62b20f7000 55 virtual void handleWrite(); // Method for handling data to be written
Mike Fiore 9:ff62b20f7000 56 };
Mike Fiore 9:ff62b20f7000 57
Mike Fiore 9:ff62b20f7000 58 }
Mike Fiore 9:ff62b20f7000 59
Mike Fiore 9:ff62b20f7000 60 #endif /* MTSSERIALFLOWCONTROL */