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
utils/Vars.h@87:5db6c084adc7, 2013-12-27 (annotated)
- 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?
User | Revision | Line number | New 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 */ |