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:
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?

UserRevisionLine numberNew 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 */