Utility library for MTS Socket Modem Arduino Shield devices from Multi-Tech Systems

Dependents:   mtsas mtsas thermostat_fan_demo--fan mtsas ... more

NOTE: MTS-Utils has moved to GitHub. This version will not be updated. For updates, go to the GitHub version.

Committer:
Mike Fiore
Date:
Mon May 19 14:39:33 2014 -0500
Revision:
5:48d0ea2fe332
Child:
11:4f4966954da9
add Utils.h, replace inclusion of Vars.h with Utils.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 5:48d0ea2fe332 1 #ifndef UTILS_H
Mike Fiore 5:48d0ea2fe332 2 #define UTILS_H
Mike Fiore 5:48d0ea2fe332 3
Mike Fiore 5:48d0ea2fe332 4 #include <string>
Mike Fiore 5:48d0ea2fe332 5
Mike Fiore 5:48d0ea2fe332 6 //Defines a max function that can be used.
Mike Fiore 5:48d0ea2fe332 7 #ifndef MAX
Mike Fiore 5:48d0ea2fe332 8 #define MAX(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a > _b ? _a : _b; })
Mike Fiore 5:48d0ea2fe332 9 #endif
Mike Fiore 5:48d0ea2fe332 10
Mike Fiore 5:48d0ea2fe332 11 //Defines a min function that can be used.
Mike Fiore 5:48d0ea2fe332 12 #ifndef MIN
Mike Fiore 5:48d0ea2fe332 13 #define MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
Mike Fiore 5:48d0ea2fe332 14 #endif
Mike Fiore 5:48d0ea2fe332 15
Mike Fiore 5:48d0ea2fe332 16 ///An enumeration for relational operators
Mike Fiore 5:48d0ea2fe332 17 enum RelationalOperator {
Mike Fiore 5:48d0ea2fe332 18 GREATER, LESS, EQUAL, GREATER_EQUAL, LESS_EQUAL
Mike Fiore 5:48d0ea2fe332 19 };
Mike Fiore 5:48d0ea2fe332 20
Mike Fiore 5:48d0ea2fe332 21 /** A static method for getting a string representation for the RelationalOperator
Mike Fiore 5:48d0ea2fe332 22 * enumeration.
Mike Fiore 5:48d0ea2fe332 23 *
Mike Fiore 5:48d0ea2fe332 24 * @param relationalOperator a RelationalOperator enumeration.
Mike Fiore 5:48d0ea2fe332 25 * @returns the enumeration name as a string.
Mike Fiore 5:48d0ea2fe332 26 */
Mike Fiore 5:48d0ea2fe332 27 static std::string getRelationalOperatorNames(RelationalOperator relationalOperator)
Mike Fiore 5:48d0ea2fe332 28 {
Mike Fiore 5:48d0ea2fe332 29 switch(relationalOperator) {
Mike Fiore 5:48d0ea2fe332 30 case GREATER:
Mike Fiore 5:48d0ea2fe332 31 return "GREATER";
Mike Fiore 5:48d0ea2fe332 32 case LESS:
Mike Fiore 5:48d0ea2fe332 33 return "LESS";
Mike Fiore 5:48d0ea2fe332 34 case EQUAL:
Mike Fiore 5:48d0ea2fe332 35 return "EQUAL";
Mike Fiore 5:48d0ea2fe332 36 case GREATER_EQUAL:
Mike Fiore 5:48d0ea2fe332 37 return "GREATER_EQUAL";
Mike Fiore 5:48d0ea2fe332 38 case LESS_EQUAL:
Mike Fiore 5:48d0ea2fe332 39 return "LESS_EQUAL";
Mike Fiore 5:48d0ea2fe332 40 default:
Mike Fiore 5:48d0ea2fe332 41 return "UNKNOWN ENUM";
Mike Fiore 5:48d0ea2fe332 42 }
Mike Fiore 5:48d0ea2fe332 43 }
Mike Fiore 5:48d0ea2fe332 44
Mike Fiore 5:48d0ea2fe332 45 #endif