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

Revision:
2:3e7baa3e3fec
Child:
3:078e9a1e8be3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Initialization.cpp	Thu Sep 18 23:38:11 2014 +0000
@@ -0,0 +1,69 @@
+#include "Initialization.hpp"
+#include "Motor.hpp"
+#include "VoltageDriver.hpp"
+
+//Initializations
+Timer timer;    // general purpose timer
+I2C i2c( P0_10, P0_11 ); // I2C bus (SDA, SCL)
+BridgeDriver bridges(&i2c, 1); // Bridge
+TextLCD_I2C lcd( &i2c, MCP23008_SA0, TextLCD::LCD20x4 ); // LCD
+SDFileSystem sd(P0_18, P0_17, P0_15, P0_16, "sd"); // the pinout on the mbed LPC1768
+
+DigitalIn killSw(KILL);
+
+const int MAX_LINE_LENGTH = 100;
+
+//struct Line lineData;
+
+Device* Device::newDevice(int deviceFound, string _name, Line lineData){
+
+    switch (Device_Map[deviceFound]){
+        case MOTOR:
+            //Device::setName(_name);
+            //Device::setType(MOTOR);
+            return new Motor(lineData); 
+        break;
+        case VOLTAGE_DRIVER:
+            //setName(_name);
+            //setType(MOTOR);
+            return new VoltageDriver(lineData); 
+        break;
+    }
+}
+/*
+void Device::setName(string _name){
+    this->name = _name;    
+}
+void Device::setType(DeviceType _type){
+    this->type = _type;
+}*/
+        
+const char *DeviceNames[] = {"MOTOR", "VOLTAGE_DRIVER"};
+int numDevices = sizeof(DeviceNames)/sizeof(DeviceNames[0]);
+int currNumDevices = 0;
+
+vector<Device*> devices;
+//Device devices[15];
+
+void addDevice(int deviceFound, Line &lineData){
+    
+    devices[currNumDevices] = Device::newDevice(deviceFound, lineData.word[1], lineData);
+    currNumDevices++;
+}
+
+void fullInit() {
+    
+    killSw.mode(PullUp);
+    initLCD();     
+}
+ 
+void initLCD(void) {
+    
+    i2c.frequency(1000000);
+    lcd.setBacklight(TextLCD::LightOn);
+    wait(.6);
+    lcd.cls(); //clear the display
+    lcd.setAddress(0,0);
+    lcd.printf("LCD Initialized");
+}
+