Mitchell Hatfield / Mbed 2 deprecated Component_Test_Interface

Dependencies:   BridgeDriver FrontPanelButtons MCP23017 SDFileSystem TextLCD mbed

Committer:
mehatfie
Date:
Wed Sep 24 22:23:00 2014 +0000
Revision:
9:5a0c4c6e39c7
Parent:
6:d1594fd2ec5a
Child:
11:bc9cd2869f95
- System error checking and syntax checking should be completed; --- Compiled code still functions correctly; --- All error checking has not been checked that they indeed error out / not error out and function as planned

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mehatfie 2:3e7baa3e3fec 1 #include "Initialization.hpp"
mehatfie 2:3e7baa3e3fec 2 #include "Motor.hpp"
mehatfie 2:3e7baa3e3fec 3 #include "VoltageDriver.hpp"
mehatfie 4:86d0d04cc055 4 #include "PinIN.hpp"
mehatfie 3:078e9a1e8be3 5
mehatfie 3:078e9a1e8be3 6
mehatfie 3:078e9a1e8be3 7 /**********************************************************************************************************************************/
mehatfie 3:078e9a1e8be3 8 /**********************************************************************************************************************************/
mehatfie 3:078e9a1e8be3 9 /************************** <MUST MODIFY> *************************/
mehatfie 3:078e9a1e8be3 10 /**********************************************************************************************************************************/
mehatfie 3:078e9a1e8be3 11 /**********************************************************************************************************************************/
mehatfie 3:078e9a1e8be3 12
mehatfie 3:078e9a1e8be3 13 // ADD YOUR DEVICE NAME THE \\EXACT SAME WAY\\ AS THE ENUM NAME YOU DECLARED IN THE.hpp
mehatfie 3:078e9a1e8be3 14 // Must Declare names in reverse order for some reason...., it's the way they're indexed I believe
mehatfie 4:86d0d04cc055 15 const string DeviceNames[] = {"MOTOR", "VOLTAGE_DRIVER", "PIN_IN"};
mehatfie 3:078e9a1e8be3 16
mehatfie 3:078e9a1e8be3 17 // ADD YOUR DEVICE TO THE LIST BELOW, CALLING YOUR DEVICE CLASS AS SHOWN
mehatfie 5:e36e0538a903 18 Device* Device::newDevice(int deviceFound, string _name, LineData lineData){
mehatfie 3:078e9a1e8be3 19
mehatfie 3:078e9a1e8be3 20 switch (Device_Map[deviceFound]){
mehatfie 3:078e9a1e8be3 21 case MOTOR: return new Motor(lineData); break;
mehatfie 3:078e9a1e8be3 22 case VOLTAGE_DRIVER: return new VoltageDriver(lineData); break;
mehatfie 4:86d0d04cc055 23 case PIN_IN: return new PinIN(lineData); break;
mehatfie 3:078e9a1e8be3 24
mehatfie 3:078e9a1e8be3 25 //********** ADD NEXT DEVICE ABOVE **************//
mehatfie 3:078e9a1e8be3 26 default: break;
mehatfie 3:078e9a1e8be3 27 }
mehatfie 3:078e9a1e8be3 28 }
mehatfie 3:078e9a1e8be3 29
mehatfie 3:078e9a1e8be3 30 /************************** <MUST MODIFY> *************************/
mehatfie 3:078e9a1e8be3 31 /**********************************************************************************************************************************/
mehatfie 3:078e9a1e8be3 32 /**********************************************************************************************************************************/
mehatfie 3:078e9a1e8be3 33
mehatfie 3:078e9a1e8be3 34
mehatfie 3:078e9a1e8be3 35
mehatfie 3:078e9a1e8be3 36 /******************************************************************************/
mehatfie 3:078e9a1e8be3 37 /*** <Global Initializations> ***/
mehatfie 3:078e9a1e8be3 38 /******************************************************************************/
mehatfie 3:078e9a1e8be3 39
mehatfie 2:3e7baa3e3fec 40 //Initializations
mehatfie 2:3e7baa3e3fec 41 Timer timer; // general purpose timer
mehatfie 2:3e7baa3e3fec 42 I2C i2c( P0_10, P0_11 ); // I2C bus (SDA, SCL)
mehatfie 2:3e7baa3e3fec 43 BridgeDriver bridges(&i2c, 1); // Bridge
mehatfie 2:3e7baa3e3fec 44 TextLCD_I2C lcd( &i2c, MCP23008_SA0, TextLCD::LCD20x4 ); // LCD
mehatfie 2:3e7baa3e3fec 45 SDFileSystem sd(P0_18, P0_17, P0_15, P0_16, "sd"); // the pinout on the mbed LPC1768
mehatfie 2:3e7baa3e3fec 46
mehatfie 2:3e7baa3e3fec 47 DigitalIn killSw(KILL);
mehatfie 2:3e7baa3e3fec 48
mehatfie 2:3e7baa3e3fec 49 const int MAX_LINE_LENGTH = 100;
mehatfie 6:d1594fd2ec5a 50 int DummyMode = 0; // run through the code without performing actions
mehatfie 2:3e7baa3e3fec 51
mehatfie 3:078e9a1e8be3 52 /******************************************************************************/
mehatfie 3:078e9a1e8be3 53 /*** <Function Initializations> ***/
mehatfie 3:078e9a1e8be3 54 /******************************************************************************/
mehatfie 2:3e7baa3e3fec 55
mehatfie 2:3e7baa3e3fec 56 void fullInit() {
mehatfie 2:3e7baa3e3fec 57
mehatfie 2:3e7baa3e3fec 58 killSw.mode(PullUp);
mehatfie 2:3e7baa3e3fec 59 initLCD();
mehatfie 2:3e7baa3e3fec 60 }
mehatfie 2:3e7baa3e3fec 61
mehatfie 2:3e7baa3e3fec 62 void initLCD(void) {
mehatfie 2:3e7baa3e3fec 63
mehatfie 2:3e7baa3e3fec 64 i2c.frequency(1000000);
mehatfie 2:3e7baa3e3fec 65 lcd.setBacklight(TextLCD::LightOn);
mehatfie 2:3e7baa3e3fec 66 wait(.6);
mehatfie 2:3e7baa3e3fec 67 lcd.cls(); //clear the display
mehatfie 2:3e7baa3e3fec 68 lcd.setAddress(0,0);
mehatfie 9:5a0c4c6e39c7 69 lcd.printf("Initializing...");
mehatfie 2:3e7baa3e3fec 70 }
mehatfie 2:3e7baa3e3fec 71
mehatfie 9:5a0c4c6e39c7 72 void ErrorOut(string message, int lineNumber){
mehatfie 9:5a0c4c6e39c7 73
mehatfie 9:5a0c4c6e39c7 74 lcd.cls(); //clear the display
mehatfie 9:5a0c4c6e39c7 75
mehatfie 9:5a0c4c6e39c7 76 lcd.setAddress(0,0);
mehatfie 9:5a0c4c6e39c7 77 lcd.printf("Error: %s", message);
mehatfie 9:5a0c4c6e39c7 78
mehatfie 9:5a0c4c6e39c7 79 lcd.setAddress(0,3);
mehatfie 9:5a0c4c6e39c7 80 lcd.printf("Line Number: %d", lineNumber);
mehatfie 9:5a0c4c6e39c7 81 }
mehatfie 3:078e9a1e8be3 82
mehatfie 3:078e9a1e8be3 83 /******************************************************************************/
mehatfie 3:078e9a1e8be3 84 /*** <Parent Device Class Initializations> ***/
mehatfie 3:078e9a1e8be3 85 /******************************************************************************/
mehatfie 3:078e9a1e8be3 86
mehatfie 3:078e9a1e8be3 87 int numDevices = sizeof(DeviceNames)/sizeof(DeviceNames[0]);
mehatfie 3:078e9a1e8be3 88 int currNumDevices = 0;
mehatfie 3:078e9a1e8be3 89
mehatfie 9:5a0c4c6e39c7 90 vector<Device*> devices; //create a vector to hold all of the devices