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:
jengbrecht
Date:
Fri Dec 27 16:47:09 2013 +0000
Revision:
87:5db6c084adc7
Parent:
71:82205735732b
Child:
141:571e0ef6c8dc
Updated First example in Cellular and tested, also moved getCodeNames from Cellular to vars

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jengbrecht 0:563b70517320 1 #ifndef VARS_H
jengbrecht 0:563b70517320 2 #define VARS_H
jengbrecht 0:563b70517320 3
jengbrecht 0:563b70517320 4 #include <string>
jengbrecht 0:563b70517320 5
jengbrecht 87:5db6c084adc7 6 namespace mts
jengbrecht 87:5db6c084adc7 7 {
mfiore 39:6e94520a3217 8
sgodinez 32:629e6b1c8e22 9 #ifndef MAX
sgodinez 32:629e6b1c8e22 10 #define MAX(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a > _b ? _a : _b; })
sgodinez 32:629e6b1c8e22 11 #endif
jengbrecht 87:5db6c084adc7 12
sgodinez 32:629e6b1c8e22 13 #ifndef MIN
sgodinez 32:629e6b1c8e22 14 #define MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
sgodinez 32:629e6b1c8e22 15 #endif
sgodinez 32:629e6b1c8e22 16
sgodinez 32:629e6b1c8e22 17
sgodinez 71:82205735732b 18 /// An enumeration for common responses.
sgodinez 71:82205735732b 19 enum Code {
sgodinez 71:82205735732b 20 SUCCESS, ERROR, FAILURE, NO_RESPONSE
sgodinez 71:82205735732b 21 };
sgodinez 71:82205735732b 22
jengbrecht 87:5db6c084adc7 23 /** A static method for getting a string representation for the Code
jengbrecht 87:5db6c084adc7 24 * enumeration.
jengbrecht 87:5db6c084adc7 25 *
jengbrecht 87:5db6c084adc7 26 * @param code a Code enumeration.
jengbrecht 87:5db6c084adc7 27 * @returns the enumeration name as a string.
jengbrecht 87:5db6c084adc7 28 */
jengbrecht 87:5db6c084adc7 29 static std::string getCodeNames(Code code)
jengbrecht 87:5db6c084adc7 30 {
jengbrecht 87:5db6c084adc7 31 switch(code) {
jengbrecht 87:5db6c084adc7 32 case SUCCESS:
jengbrecht 87:5db6c084adc7 33 return "SUCCESS";
jengbrecht 87:5db6c084adc7 34 case ERROR:
jengbrecht 87:5db6c084adc7 35 return "ERROR";
jengbrecht 87:5db6c084adc7 36 case NO_RESPONSE:
jengbrecht 87:5db6c084adc7 37 return "NO_RESPONSE";
jengbrecht 87:5db6c084adc7 38 case FAILURE:
jengbrecht 87:5db6c084adc7 39 return "FAILURE";
jengbrecht 87:5db6c084adc7 40 default:
jengbrecht 87:5db6c084adc7 41 return "UNKNOWN ENUM";
jengbrecht 87:5db6c084adc7 42 }
jengbrecht 87:5db6c084adc7 43 }
sgodinez 71:82205735732b 44
sgodinez 71:82205735732b 45 const unsigned int PINGDELAY = 3; //Time to wait on each ping for a response before timimg out (seconds)
sgodinez 71:82205735732b 46 const unsigned int PINGNUM = 4; //Number of pings to try on ping command
sgodinez 71:82205735732b 47
sgodinez 71:82205735732b 48 //Special Payload Characters
sgodinez 71:82205735732b 49 const char ETX = 0x03; //Ends socket connection
sgodinez 71:82205735732b 50 const char DLE = 0x10; //Escapes ETX and DLE within Payload
sgodinez 71:82205735732b 51 const char CR = 0x0D;
sgodinez 71:82205735732b 52 const char NL = 0x0A;
sgodinez 71:82205735732b 53 const char CTRL_Z = 0x1A;
sgodinez 71:82205735732b 54
jengbrecht 0:563b70517320 55
jengbrecht 0:563b70517320 56 /** This class holds several enum types and other static variables
jengbrecht 0:563b70517320 57 * that are used throughout the rest of the SDK.
jengbrecht 0:563b70517320 58 */
jengbrecht 0:563b70517320 59 class Vars
jengbrecht 0:563b70517320 60 {
jengbrecht 0:563b70517320 61 public:
jengbrecht 0:563b70517320 62 /// Enumeration for different cellular radio types.
jengbrecht 0:563b70517320 63 enum Radio {NA, E1, G2, EV2, H4, EV3, H5};
jengbrecht 0:563b70517320 64
jengbrecht 0:563b70517320 65 enum RelationalOperator {GREATER, LESS, EQUAL, GREATER_EQUAL, LESS_EQUAL};
jengbrecht 0:563b70517320 66 };
jengbrecht 0:563b70517320 67
mfiore 39:6e94520a3217 68 }
mfiore 39:6e94520a3217 69
jengbrecht 1:f641337952a9 70 //Test Commit!!!
jengbrecht 1:f641337952a9 71
jengbrecht 87:5db6c084adc7 72 #endif /* VARS_H */