Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Committer:
jmarkel44
Date:
Wed Oct 05 16:41:57 2016 +0000
Revision:
185:5ac6ab1ed875
Child:
192:052a419837fa
New defined values for relay state changes;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmarkel44 185:5ac6ab1ed875 1 #ifndef CONTROL_H
jmarkel44 185:5ac6ab1ed875 2 #define CONTROL_H
jmarkel44 185:5ac6ab1ed875 3
jmarkel44 185:5ac6ab1ed875 4 #include "global.h"
jmarkel44 185:5ac6ab1ed875 5 #include <string>
jmarkel44 185:5ac6ab1ed875 6
jmarkel44 185:5ac6ab1ed875 7 typedef enum {
jmarkel44 185:5ac6ab1ed875 8 CONTROL_OFF = 0,
jmarkel44 185:5ac6ab1ed875 9 CONTROL_ON = 1
jmarkel44 185:5ac6ab1ed875 10 } ControlState;
jmarkel44 185:5ac6ab1ed875 11
jmarkel44 185:5ac6ab1ed875 12
jmarkel44 185:5ac6ab1ed875 13 /*****************************************************************************
jmarkel44 185:5ac6ab1ed875 14 * Control class
jmarkel44 185:5ac6ab1ed875 15 * Contains the most pertinent control information to stack onto the output
jmarkel44 185:5ac6ab1ed875 16 * entry
jmarkel44 185:5ac6ab1ed875 17 ****************************************************************************/
jmarkel44 185:5ac6ab1ed875 18 class Control
jmarkel44 185:5ac6ab1ed875 19 {
jmarkel44 185:5ac6ab1ed875 20 private:
jmarkel44 185:5ac6ab1ed875 21 std::string id; // control identifier
jmarkel44 185:5ac6ab1ed875 22 Control_t controlType; // control type
jmarkel44 185:5ac6ab1ed875 23 std::string input; // input
jmarkel44 185:5ac6ab1ed875 24 unsigned int priority; // control priority
jmarkel44 185:5ac6ab1ed875 25 ControlState state; // state (ON or OFF)
jmarkel44 185:5ac6ab1ed875 26
jmarkel44 185:5ac6ab1ed875 27 public:
jmarkel44 185:5ac6ab1ed875 28 // ctor
jmarkel44 185:5ac6ab1ed875 29 Control(std::string id, Control_t controlType, std::string input, unsigned int priority, ControlState state) :
jmarkel44 185:5ac6ab1ed875 30 id(id), controlType(controlType), input(input), priority(priority), state(state) {}
jmarkel44 185:5ac6ab1ed875 31 // dtor
jmarkel44 185:5ac6ab1ed875 32 ~Control() {}
jmarkel44 185:5ac6ab1ed875 33
jmarkel44 185:5ac6ab1ed875 34 // displays a control's pertinents
jmarkel44 185:5ac6ab1ed875 35 void display() {
jmarkel44 185:5ac6ab1ed875 36 printf("[%-24s | %3s | %u]",
jmarkel44 185:5ac6ab1ed875 37 id.c_str(), (state == CONTROL_ON) ? "ON" : "OFF", priority);
jmarkel44 185:5ac6ab1ed875 38 }
jmarkel44 185:5ac6ab1ed875 39
jmarkel44 185:5ac6ab1ed875 40 std::string getId() const {
jmarkel44 185:5ac6ab1ed875 41 return id;
jmarkel44 185:5ac6ab1ed875 42 }
jmarkel44 185:5ac6ab1ed875 43
jmarkel44 185:5ac6ab1ed875 44 Control_t getControlType(void) const {
jmarkel44 185:5ac6ab1ed875 45 return controlType;
jmarkel44 185:5ac6ab1ed875 46 }
jmarkel44 185:5ac6ab1ed875 47
jmarkel44 185:5ac6ab1ed875 48 std::string getInput(void) const {
jmarkel44 185:5ac6ab1ed875 49 return input;
jmarkel44 185:5ac6ab1ed875 50 }
jmarkel44 185:5ac6ab1ed875 51
jmarkel44 185:5ac6ab1ed875 52 unsigned int getPriority() const {
jmarkel44 185:5ac6ab1ed875 53 return priority;
jmarkel44 185:5ac6ab1ed875 54 }
jmarkel44 185:5ac6ab1ed875 55
jmarkel44 185:5ac6ab1ed875 56 ControlState getState(void) const {
jmarkel44 185:5ac6ab1ed875 57 return state;
jmarkel44 185:5ac6ab1ed875 58 }
jmarkel44 185:5ac6ab1ed875 59
jmarkel44 185:5ac6ab1ed875 60 unsigned int getMappedState(void) const;
jmarkel44 185:5ac6ab1ed875 61
jmarkel44 185:5ac6ab1ed875 62 void setState(ControlState _state) {
jmarkel44 185:5ac6ab1ed875 63 state = _state;
jmarkel44 185:5ac6ab1ed875 64 }
jmarkel44 185:5ac6ab1ed875 65 };
jmarkel44 185:5ac6ab1ed875 66
jmarkel44 185:5ac6ab1ed875 67 #endif