chad

Dependencies:   MCP23017 WattBob_TextLCD mbed-rtos mbed

Revision:
18:bda795e28ed7
Parent:
17:bc25d5f47bab
Child:
19:1fecb6fa14a2
--- a/main.cpp	Mon Mar 13 14:51:55 2017 +0000
+++ b/main.cpp	Mon Mar 13 20:50:18 2017 +0000
@@ -1,117 +0,0 @@
-// Paramater Allocation
-// Paramater: 17
-// Log Option: 1 (uSD)
-// Watchdog Pulse Length: 6ms
-// Watchdog Repetion Rate: 0.5
-// Error Display: 1 (LCD)
-// Execution time display: Task5 (LDC display)
-
-#include "main.h"
-
-// Pointers to LCD Screen
-MCP23017            *par_port;  // pointer to 16-bit parallel I/O chip
-WattBob_TextLCD     *lcd;       // pointer to 2*16 character LCD object
-FILE                *fp;        // pointer to uSD object
-
-SDFileSystem sd(p5, p6, p7, p8, "sd");    //uSD pinout
-
-// Digital I/O p11 to p20
-DigitalIn Fq(p14);              // Digital frequency in for measurement
-DigitalIn DS(p12);              // Digital switch input
-DigitalIn DS_s(p13);            // Digital shutdown switch
-DigitalOut WD_pulse(p11);       // Watchdog Pulse
-DigitalOut led1(LED1);
-DigitalOut led2(LED2);
-
-// Analogue I/O p15 to p20
-AnalogIn A1_(p15);              // Analogue input to be filtered
-AnalogIn A2_(p16);              // Analogue input to be filtered
-
-// Timer objects
-Ticker ticker;                  // Ticker for CycExec
-Timer timer;                    // Frequency Timer
-Timer T5;                       // Timer for idle states
-
-// Constant Declaration
-const int WD = 6000;            // Watchdog pulse length
-
-// Variable Declaration
-int tck = 0;                    // Used to define what task is called (CycExec)
-
-float freq;                     // Frequency read variable
-
-int switch_state;               // Output switch 1
-
-float A1_In;                    // Analogue 1 Input
-float A2_In;                    // Analogue 2 Input
-float A1_val;                   // Analogue 1 return variable (Analogue In)
-float A2_val;                   // Analogue 2 return variable (Analogue In)
-
-int error_code;                 // Error code variable
-
-int logcount;                   // Keep track of log number
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Main Program
-//
-
-void CycExec()
-{
-
-    if(tck % 20 == 0) {         // Every 1 sec          freq
-        Task1();
-    } else if(tck % 6 == 1) {   // Every 1/3 sec        Dig In
-        Task2();
-    } else if(tck % 40 == 2) {  // Every 2 sec          WD
-        Task3();
-    } else if(tck % 10 == 3) {  // Every 1/2 sec        Ana In
-        Task4();
-    } else if(tck % 40 == 4) {  // Every 2 sec          LCD
-        Task5a();
-    } else if(tck % 40 == 5) {  // Every 1/2 sec        LCD
-        Task5b();
-    } else if(tck % 10 == 6) {  // Every 0.5 sec        Error
-        Task6();
-    } else if(tck % 10 == 7) {  // Every 1/2 sec        Log
-        Task7();
-    } else if(tck % 10 == 8) {  // Every 1/2 sec        Shutdown
-        Task8();
-    }
-
-    led2 = !led2;               // Shows CycExec running
-
-    tck++;                      // Increment tck register every cycle. Starts tasks.
-}
-
-
-int main()
-{
-    // LCD Init
-    par_port = new MCP23017(p9, p10, 0x40); // initialise 16-bit I/O chip
-    par_port->config(0x0F00, 0x0F00, 0x0F00);
-
-    lcd = new WattBob_TextLCD(par_port);    // initialise 2*26 char display
-    par_port->write_bit(1,BL_BIT);          // turn LCD backlight ON
-
-    lcd->cls(); // clear display
-
-    // Create .txt file on uSD
-    mkdir("/sd/logs", 0777);
-    fp = fopen ("/sd/logs/log.txt", "w");   // Pointer to log file on uSD
-    fprintf(fp, "Log of Frazer Legge's Embedded Software Assignment 2\n\n");
-    fprintf(fp, "Log,Frequency,DigitalIn,Analogue1,Analogue2\n\n");
-
-    ticker.attach(&CycExec, 0.05);          // Period set to 50ms
-
-    while(1) {                              // Indicator to show CycExec was started 
-        led1 = !led1;
-        wait(0.2);
-    }
-}
-
-
-
-