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
Devices/PinIN.cpp@4:86d0d04cc055, 2014-09-19 (annotated)
- 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?
User | Revision | Line number | New 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 |