Component Test's Software to work with "Universal Controller Box" - Software is an interpreter or "compiler" for programs to be done with a .txt file and read off of the SD Card

Dependencies:   BridgeDriver FrontPanelButtons MCP23017 SDFileSystem TextLCD mbed

Committer:
mehatfie
Date:
Fri Sep 19 01:54:00 2014 +0000
Revision:
4:86d0d04cc055
Child:
5:e36e0538a903
- fixed bug where "deviceFound" was not matching correct value; "if (lineData.word[2].compare(DeviceNames[i]) == 0)"... forgot the "== 0"; ; - Added Device PinIN, works as expected for current "wait" function

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mehatfie 4:86d0d04cc055 1 #include "PinIN.hpp"
mehatfie 4:86d0d04cc055 2 //#include "mbed.h"
mehatfie 4:86d0d04cc055 3 //#include "LocalPinNames.h"
mehatfie 4:86d0d04cc055 4 //#include "BridgeDriver.h"
mehatfie 4:86d0d04cc055 5
mehatfie 4:86d0d04cc055 6 //Constructor
mehatfie 4:86d0d04cc055 7 PinIN::PinIN(Line lineData){
mehatfie 4:86d0d04cc055 8
mehatfie 4:86d0d04cc055 9 string _pinName = lineData.word[3];
mehatfie 4:86d0d04cc055 10
mehatfie 4:86d0d04cc055 11 if(_pinName.compare("DIO0") == 0)
mehatfie 4:86d0d04cc055 12 this->pinName = DIO0;
mehatfie 4:86d0d04cc055 13 else if(_pinName.compare("DIO1") == 0)
mehatfie 4:86d0d04cc055 14 this->pinName = DIO1;
mehatfie 4:86d0d04cc055 15 else if(_pinName.compare("DIO2") == 0)
mehatfie 4:86d0d04cc055 16 this->pinName = DIO2;
mehatfie 4:86d0d04cc055 17 else if(_pinName.compare("DIO3") == 0)
mehatfie 4:86d0d04cc055 18 this->pinName = DIO3;
mehatfie 4:86d0d04cc055 19 else if(_pinName.compare("DIO4") == 0)
mehatfie 4:86d0d04cc055 20 this->pinName = DIO4;
mehatfie 4:86d0d04cc055 21 else if(_pinName.compare("DIO5") == 0)
mehatfie 4:86d0d04cc055 22 this->pinName = DIO5;
mehatfie 4:86d0d04cc055 23 else if(_pinName.compare("DIO6") == 0)
mehatfie 4:86d0d04cc055 24 this->pinName = DIO6;
mehatfie 4:86d0d04cc055 25 else if(_pinName.compare("DIO7") == 0)
mehatfie 4:86d0d04cc055 26 this->pinName = DIO7;
mehatfie 4:86d0d04cc055 27 else if(_pinName.compare("DIO8") == 0)
mehatfie 4:86d0d04cc055 28 this->pinName = DIO8;
mehatfie 4:86d0d04cc055 29 else if(_pinName.compare("DIO9") == 0)
mehatfie 4:86d0d04cc055 30 this->pinName = DIO9;
mehatfie 4:86d0d04cc055 31 else if(_pinName.compare("DIO10") == 0)
mehatfie 4:86d0d04cc055 32 this->pinName = DIO10;
mehatfie 4:86d0d04cc055 33 else if(_pinName.compare("DIO11") == 0)
mehatfie 4:86d0d04cc055 34 this->pinName = DIO11;
mehatfie 4:86d0d04cc055 35
mehatfie 4:86d0d04cc055 36 else if(_pinName.compare("AI0") == 0)
mehatfie 4:86d0d04cc055 37 this->pinName = AI0;
mehatfie 4:86d0d04cc055 38 else if(_pinName.compare("AI1") == 0)
mehatfie 4:86d0d04cc055 39 this->pinName = AI1;
mehatfie 4:86d0d04cc055 40 else if(_pinName.compare("AI2") == 0)
mehatfie 4:86d0d04cc055 41 this->pinName = AI2;
mehatfie 4:86d0d04cc055 42 else if(_pinName.compare("AI3") == 0)
mehatfie 4:86d0d04cc055 43 this->pinName = AI3;
mehatfie 4:86d0d04cc055 44 else if(_pinName.compare("AI4") == 0)
mehatfie 4:86d0d04cc055 45 this->pinName = AI4;
mehatfie 4:86d0d04cc055 46 else if(_pinName.compare("AI5") == 0)
mehatfie 4:86d0d04cc055 47 this->pinName = AI5;
mehatfie 4:86d0d04cc055 48
mehatfie 4:86d0d04cc055 49 }
mehatfie 4:86d0d04cc055 50 /*
mehatfie 4:86d0d04cc055 51 #define DIO0 P2_2
mehatfie 4:86d0d04cc055 52 #define DIO1 P2_3
mehatfie 4:86d0d04cc055 53 #define DIO2 P2_4
mehatfie 4:86d0d04cc055 54 #define DIO3 P2_5
mehatfie 4:86d0d04cc055 55 #define DIO4 P2_6
mehatfie 4:86d0d04cc055 56 #define DIO5 P2_7
mehatfie 4:86d0d04cc055 57 #define DIO6 P2_8
mehatfie 4:86d0d04cc055 58 #define DIO7 P2_9
mehatfie 4:86d0d04cc055 59 #define DIO8 P1_1
mehatfie 4:86d0d04cc055 60 #define DIO9 P1_4
mehatfie 4:86d0d04cc055 61 #define DIO10 P1_8
mehatfie 4:86d0d04cc055 62 #define DIO11 P1_9
mehatfie 4:86d0d04cc055 63 #define SS1 P0_19
mehatfie 4:86d0d04cc055 64 #define SS2 P0_20
mehatfie 4:86d0d04cc055 65 #define SS3 P0_21
mehatfie 4:86d0d04cc055 66 #define SS4 P0_22
mehatfie 4:86d0d04cc055 67 #define SS_ADC P1_0
mehatfie 4:86d0d04cc055 68 #define AI0 P0_23
mehatfie 4:86d0d04cc055 69 #define AI1 P0_24
mehatfie 4:86d0d04cc055 70 #define AI2 P0_25
mehatfie 4:86d0d04cc055 71 #define AI3 P0_26
mehatfie 4:86d0d04cc055 72 #define AI4 P1_30
mehatfie 4:86d0d04cc055 73 #define AI5 P1_31
mehatfie 4:86d0d04cc055 74 #define KILL P2_11
mehatfie 4:86d0d04cc055 75 #define CAN1_RX P0_0
mehatfie 4:86d0d04cc055 76 #define CAN1_TX P0_1
mehatfie 4:86d0d04cc055 77 #define CAN2_RX P0_4
mehatfie 4:86d0d04cc055 78 #define CAN2_TX P0_5
mehatfie 4:86d0d04cc055 79 */
mehatfie 4:86d0d04cc055 80
mehatfie 4:86d0d04cc055 81
mehatfie 4:86d0d04cc055 82 //A line consists of [ __(Local_Name)__ __(function)__ __(parameter1)__ __(parameter2)__ __(parameter3)__ ... and so on]
mehatfie 4:86d0d04cc055 83 int PinIN::interpret(Line &lineData){
mehatfie 4:86d0d04cc055 84 /*
mehatfie 4:86d0d04cc055 85 lcd.setAddress(0,2);
mehatfie 4:86d0d04cc055 86 lcd.printf("CHECK Motor 123456");
mehatfie 4:86d0d04cc055 87 lcd.setAddress(0,3);
mehatfie 4:86d0d04cc055 88 lcd.printf("func: %s ", lineData.word[1]);
mehatfie 4:86d0d04cc055 89 wait(2);*/
mehatfie 4:86d0d04cc055 90
mehatfie 4:86d0d04cc055 91 DigitalIn signal(pinName);
mehatfie 4:86d0d04cc055 92
mehatfie 4:86d0d04cc055 93 //Order of Line: Local_Name, Function_Name, Param1, Param2, Param3,.......
mehatfie 4:86d0d04cc055 94 string func = lineData.word[1];
mehatfie 4:86d0d04cc055 95
mehatfie 4:86d0d04cc055 96 /******************************************************************************/
mehatfie 4:86d0d04cc055 97 /*** <Func: wait> ***/
mehatfie 4:86d0d04cc055 98 /******************************************************************************/
mehatfie 4:86d0d04cc055 99 if (func.compare("wait") == 0){
mehatfie 4:86d0d04cc055 100
mehatfie 4:86d0d04cc055 101 if (lineData.numWords != 3){
mehatfie 4:86d0d04cc055 102 //Error Check, incorrect number of parameter, error out
mehatfie 4:86d0d04cc055 103 return 0;
mehatfie 4:86d0d04cc055 104 }
mehatfie 4:86d0d04cc055 105
mehatfie 4:86d0d04cc055 106 //Initialize and Convert Parameters
mehatfie 4:86d0d04cc055 107 string pinValue = lineData.word[2];
mehatfie 4:86d0d04cc055 108 int pinValue_Value = 0;
mehatfie 4:86d0d04cc055 109 sscanf(pinValue.c_str(), "%d", &pinValue_Value);
mehatfie 4:86d0d04cc055 110
mehatfie 4:86d0d04cc055 111 while(signal.read() != pinValue_Value);
mehatfie 4:86d0d04cc055 112 }
mehatfie 4:86d0d04cc055 113
mehatfie 4:86d0d04cc055 114 else {
mehatfie 4:86d0d04cc055 115 return 0;
mehatfie 4:86d0d04cc055 116
mehatfie 4:86d0d04cc055 117 }
mehatfie 4:86d0d04cc055 118
mehatfie 4:86d0d04cc055 119 return 1;
mehatfie 4:86d0d04cc055 120 }
mehatfie 4:86d0d04cc055 121