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
cellular/Cellular.h@5:93e889a5abc6, 2013-12-11 (annotated)
- Committer:
- sgodinez
- Date:
- Wed Dec 11 17:36:18 2013 +0000
- Revision:
- 5:93e889a5abc6
- Parent:
- 4:6561c9128c6f
- Child:
- 11:134435d8a2d5
I believe SMS receive is working, but I don't think the serial io is working.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jengbrecht | 0:563b70517320 | 1 | #ifndef CELLULAR_H |
jengbrecht | 0:563b70517320 | 2 | #define CELLULAR_H |
jengbrecht | 0:563b70517320 | 3 | |
jengbrecht | 0:563b70517320 | 4 | #include "mbed.h" |
jengbrecht | 0:563b70517320 | 5 | #include "MTSBufferedIO.h" |
jengbrecht | 0:563b70517320 | 6 | #include <string> |
sgodinez | 4:6561c9128c6f | 7 | #include <vector> |
jengbrecht | 0:563b70517320 | 8 | |
jengbrecht | 0:563b70517320 | 9 | class Cellular |
jengbrecht | 0:563b70517320 | 10 | { |
jengbrecht | 0:563b70517320 | 11 | public: |
jengbrecht | 0:563b70517320 | 12 | enum Code { |
jengbrecht | 0:563b70517320 | 13 | OK, ERROR, NO_RESPONSE, FAILURE |
jengbrecht | 0:563b70517320 | 14 | }; |
jengbrecht | 0:563b70517320 | 15 | |
jengbrecht | 0:563b70517320 | 16 | enum ESC_CHAR { |
jengbrecht | 0:563b70517320 | 17 | CR, CTRL_Z |
jengbrecht | 0:563b70517320 | 18 | }; |
jengbrecht | 0:563b70517320 | 19 | |
jengbrecht | 0:563b70517320 | 20 | enum Registration { |
jengbrecht | 0:563b70517320 | 21 | NOT_REGISTERED, REGISTERED, SEARCHING, DENIED, UNKNOWN, ROAMING |
jengbrecht | 0:563b70517320 | 22 | }; |
jengbrecht | 0:563b70517320 | 23 | |
sgodinez | 4:6561c9128c6f | 24 | struct Sms { |
sgodinez | 4:6561c9128c6f | 25 | std::string phoneNumber; |
sgodinez | 4:6561c9128c6f | 26 | std::string message; |
sgodinez | 4:6561c9128c6f | 27 | std::string timestamp; |
sgodinez | 4:6561c9128c6f | 28 | }; |
sgodinez | 4:6561c9128c6f | 29 | |
sgodinez | 4:6561c9128c6f | 30 | |
sgodinez | 4:6561c9128c6f | 31 | Cellular(MTSBufferedIO& io); |
jengbrecht | 0:563b70517320 | 32 | ~Cellular(); |
jengbrecht | 0:563b70517320 | 33 | |
jengbrecht | 0:563b70517320 | 34 | string sendCommand(string command, int timeoutMillis, ESC_CHAR esc = CR); |
jengbrecht | 0:563b70517320 | 35 | Code sendBasicCommand(string command, int timeoutMillis, ESC_CHAR esc = CR); |
jengbrecht | 0:563b70517320 | 36 | |
jengbrecht | 0:563b70517320 | 37 | Code ATTest(); |
jengbrecht | 0:563b70517320 | 38 | Code echoOff(bool state); |
jengbrecht | 0:563b70517320 | 39 | int getSignalStrength(); |
sgodinez | 5:93e889a5abc6 | 40 | std::string getPhoneNumber(); |
sgodinez | 5:93e889a5abc6 | 41 | Registration getRegistration(); |
sgodinez | 4:6561c9128c6f | 42 | |
sgodinez | 4:6561c9128c6f | 43 | //SMS |
sgodinez | 4:6561c9128c6f | 44 | Code sendSMS(const std::string& phoneNumber, const std::string& message); |
sgodinez | 4:6561c9128c6f | 45 | Code sendSMS(const Sms& sms); |
sgodinez | 4:6561c9128c6f | 46 | std::vector<Cellular::Sms> getReceivedSms(); |
sgodinez | 4:6561c9128c6f | 47 | Code deleteAllReceivedSms(); |
sgodinez | 4:6561c9128c6f | 48 | Code deleteOnlyReceivedReadSms(); |
sgodinez | 4:6561c9128c6f | 49 | |
jengbrecht | 0:563b70517320 | 50 | int connect(string host, int port); |
jengbrecht | 0:563b70517320 | 51 | |
jengbrecht | 0:563b70517320 | 52 | private: |
sgodinez | 4:6561c9128c6f | 53 | MTSBufferedIO& io; |
jengbrecht | 0:563b70517320 | 54 | }; |
jengbrecht | 0:563b70517320 | 55 | |
jengbrecht | 0:563b70517320 | 56 | #endif /* CELLULAR_H */ |