Changes to allow for SPI communication. MTS_SPI_Slave.cpp replaces MTSSerial.cpp. AT_SPI_Slave.ccp replaces ATSerial.cpp.

Dependencies:   MTS_SPI libmDot-dev-mbed5-deprecated

Fork of Dot-AT-Firmware by MultiTech

Committer:
ScottHoppeMultitech
Date:
Thu Dec 28 21:16:28 2017 +0000
Revision:
19:c37f04c52ccb
Parent:
18:adc82f3ebaf4
Changes to allow for SPI communication. MTS_SPI_Slave.cpp replaces MTSSerial.cpp. AT_SPI_Slave.ccp replaces ATSerial.cpp.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ScottHoppeMultitech 18:adc82f3ebaf4 1 #ifndef AT_SPI_Slave_H
ScottHoppeMultitech 18:adc82f3ebaf4 2 #define AT_SPI_Slave_H
ScottHoppeMultitech 18:adc82f3ebaf4 3
ScottHoppeMultitech 18:adc82f3ebaf4 4 #include "MTS_SPI_Slave.h"
ScottHoppeMultitech 18:adc82f3ebaf4 5 #include "MTSBufferedIO.h"
ScottHoppeMultitech 18:adc82f3ebaf4 6
ScottHoppeMultitech 18:adc82f3ebaf4 7 namespace mts
ScottHoppeMultitech 18:adc82f3ebaf4 8 {
ScottHoppeMultitech 18:adc82f3ebaf4 9
ScottHoppeMultitech 18:adc82f3ebaf4 10 class AT_SPI_Slave : public MTS_SPI_Slave
ScottHoppeMultitech 18:adc82f3ebaf4 11 {
ScottHoppeMultitech 18:adc82f3ebaf4 12 public:
ScottHoppeMultitech 18:adc82f3ebaf4 13
ScottHoppeMultitech 18:adc82f3ebaf4 14
ScottHoppeMultitech 18:adc82f3ebaf4 15
ScottHoppeMultitech 18:adc82f3ebaf4 16 AT_SPI_Slave(PinName mosi, PinName miso, PinName sclk, PinName ssel, int txBufferSize = 256, int rxBufferSize = 256);
ScottHoppeMultitech 18:adc82f3ebaf4 17
ScottHoppeMultitech 18:adc82f3ebaf4 18 virtual ~AT_SPI_Slave();
ScottHoppeMultitech 18:adc82f3ebaf4 19
ScottHoppeMultitech 18:adc82f3ebaf4 20 void frequency(int frequency); //old
ScottHoppeMultitech 18:adc82f3ebaf4 21
ScottHoppeMultitech 18:adc82f3ebaf4 22 void format(int format_bits=8,int format_mode=0); //old
ScottHoppeMultitech 18:adc82f3ebaf4 23
ScottHoppeMultitech 18:adc82f3ebaf4 24 void sendBreak(); //new
ScottHoppeMultitech 18:adc82f3ebaf4 25
ScottHoppeMultitech 18:adc82f3ebaf4 26 bool escaped(); //new
ScottHoppeMultitech 18:adc82f3ebaf4 27
ScottHoppeMultitech 18:adc82f3ebaf4 28 void escapeChar(char esc); //new
ScottHoppeMultitech 18:adc82f3ebaf4 29
ScottHoppeMultitech 18:adc82f3ebaf4 30 char escapeChar(); //new
ScottHoppeMultitech 18:adc82f3ebaf4 31
ScottHoppeMultitech 18:adc82f3ebaf4 32 void clearEscaped(); //new
ScottHoppeMultitech 18:adc82f3ebaf4 33
ScottHoppeMultitech 18:adc82f3ebaf4 34
ScottHoppeMultitech 18:adc82f3ebaf4 35 protected:
ScottHoppeMultitech 18:adc82f3ebaf4 36
ScottHoppeMultitech 18:adc82f3ebaf4 37 SPISlave* _spi; // Internal mbed Serial object
ScottHoppeMultitech 18:adc82f3ebaf4 38 Thread* _thread;
ScottHoppeMultitech 18:adc82f3ebaf4 39 int _frequency;
ScottHoppeMultitech 18:adc82f3ebaf4 40 int _format_bits;
ScottHoppeMultitech 18:adc82f3ebaf4 41 int _format_mode;
ScottHoppeMultitech 18:adc82f3ebaf4 42
ScottHoppeMultitech 18:adc82f3ebaf4 43 int _stop_bits;
ScottHoppeMultitech 18:adc82f3ebaf4 44 Timer timer;
ScottHoppeMultitech 18:adc82f3ebaf4 45 int _last_time;
ScottHoppeMultitech 18:adc82f3ebaf4 46 int _esc_cnt;
ScottHoppeMultitech 18:adc82f3ebaf4 47 char _esc_ch;
ScottHoppeMultitech 18:adc82f3ebaf4 48 bool _escaped;
ScottHoppeMultitech 18:adc82f3ebaf4 49
ScottHoppeMultitech 18:adc82f3ebaf4 50 virtual void polling_Read();
ScottHoppeMultitech 18:adc82f3ebaf4 51 virtual void handleWrite(); // Method for handling data to be written
ScottHoppeMultitech 18:adc82f3ebaf4 52 virtual void handleRead(); // Method for handling data to be read
ScottHoppeMultitech 18:adc82f3ebaf4 53 virtual int receive(); //polls the spi to see if anything has been recieved
ScottHoppeMultitech 18:adc82f3ebaf4 54
ScottHoppeMultitech 18:adc82f3ebaf4 55
ScottHoppeMultitech 18:adc82f3ebaf4 56 };
ScottHoppeMultitech 18:adc82f3ebaf4 57
ScottHoppeMultitech 18:adc82f3ebaf4 58 }
ScottHoppeMultitech 18:adc82f3ebaf4 59
ScottHoppeMultitech 18:adc82f3ebaf4 60 #endif /* AT_SPI_Slave_H */