![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
See graph
Dependencies: MCP23017 SDFileSystem WattBob_TextLCD mbed
Fork of Embedded_Software_Assignment_2 by
main.cpp
- Committer:
- sk398
- Date:
- 2016-02-29
- Revision:
- 6:ceda53939eb8
- Parent:
- 5:250f51c80ac1
- Child:
- 7:2973bf297f3d
File content as of revision 6:ceda53939eb8:
/* ##################################################################### main.cpp --------- Embedded Software - Assignment 2 -------------------------------- Written by: Steven Kay Date: February 2016 Function: This Version: 1.0 Version History --------------- 1.1 rgdfgdfgdfggdfgdg 1.0 gdgddfdddgd ##################################################################### */ #include "mbed.h" #include "Tasks.h" #include "MCP23017.h" #include "WattBob_TextLCD.h" #define BACK_LIGHT_ON(INTERFACE) INTERFACE->write_bit(1,BL_BIT) #define BACK_LIGHT_OFF(INTERFACE) INTERFACE->write_bit(0,BL_BIT) DigitalOut myled(LED1); Task1 task1(p11); // Square wave Measurement Task2 task2_switch1(p12); // Read digital Output Task3 task3(p13); // Watchdog Pulse Task4 task4(p15,p16); // Read analog Inputs Task5 task5(p9,p10,0x40); // Output to LCD Display Task6 task6; // Logical checks Task7 task7(p5,p6,p7,p8,"SD","/SD/A2"); // SD Card Write int main() { volatile int task1Frequency; volatile int task2SwitchState; volatile float task4AnalogChannels[2]; volatile int errorState; char logData[50]; task1Frequency = task1.ReadFrequency(); // printf("Task 1 Frequency %d Hz\r\n",task1Frequency); task2SwitchState = task2_switch1.digitalInState(); // printf("Switch 1 State: %d\r\n",task2SwitchState); task3.OutputWatchdogPulse(); float *analogReading = task4.returnAnalogReadings(); task4AnalogChannels[0] = *(analogReading); task4AnalogChannels[1]= *(analogReading+1); // printf("Analog Readings:\r\nChannel 1-%f\r\nChannel 2-%f\r\n",task4AnalogChannels[0],task4AnalogChannels[1]); errorState = task6.updateErrorCode( task2SwitchState, task4AnalogChannels[0], task4AnalogChannels[1] ); task5.updateDisplay(task1Frequency, task2SwitchState, errorState, task4AnalogChannels[0], task4AnalogChannels[1] ); if(task7.openFile("/SD/A2/test.csv","a")) { printf("File not opened"); } else { int a = sprintf(logData,"Freq=%d,SW1=%d,A1=%1.3f,A2=%1.3f\n",task1Frequency, task2SwitchState,task4AnalogChannels[0],task4AnalogChannels[1]); task7.writeData(logData); task7.closeFile(); } while(1) { myled = 1; wait(0.2); myled = 0; wait(0.2); } }