Proj 324 Final

Fork of ELEC351_Group_T by Plymouth ELEC351 Group T

Committer:
chills
Date:
Wed Jan 03 15:38:40 2018 +0000
Revision:
26:78f5e454e59f
Parent:
25:36699ed589ab
Child:
28:09b5c46c8afd
2018_01_03 15:35; Read All, Stop, Delete and Delete All working.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
thomasmorris 25:36699ed589ab 1 #ifndef _SETUP_HPP_ //Known as header guards
thomasmorris 25:36699ed589ab 2 #define _SETUP_HPP_
thomasmorris 25:36699ed589ab 3
thomasmorris 25:36699ed589ab 4 #include "sample_hardware.hpp"
thomasmorris 25:36699ed589ab 5 #include "Networkbits.hpp"
thomasmorris 25:36699ed589ab 6 #include "rtos.h"
thomasmorris 25:36699ed589ab 7 #include "LED.hpp"
thomasmorris 25:36699ed589ab 8 #include "DATA.hpp"
thomasmorris 25:36699ed589ab 9 #include "LCD.hpp"
thomasmorris 25:36699ed589ab 10 #include "SERIAL.hpp"
thomasmorris 25:36699ed589ab 11 #define SamplingTime 1
thomasmorris 25:36699ed589ab 12 #define NotSamplingTime 0
thomasmorris 25:36699ed589ab 13 #define Print_Time_to_LCD 1
thomasmorris 25:36699ed589ab 14 #define Dont_Print_Time_to_LCD 0
thomasmorris 25:36699ed589ab 15 #define TimerInterval 2 //This is in seconds
thomasmorris 25:36699ed589ab 16 #define EDGE_RISEN 1
thomasmorris 25:36699ed589ab 17 #define EDGE_FALLEN 0
thomasmorris 25:36699ed589ab 18 #define mailsize 5
thomasmorris 25:36699ed589ab 19 #include <iostream>
thomasmorris 25:36699ed589ab 20 Serial pc(USBTX, USBRX);
thomasmorris 25:36699ed589ab 21 //SW1+SW2 are declared as interrupt ins in sample hardware.cpp
thomasmorris 25:36699ed589ab 22 //Forward Declarations
thomasmorris 25:36699ed589ab 23
thomasmorris 25:36699ed589ab 24 void Serial_Comms();
chills 26:78f5e454e59f 25 void Sample_signal_set();
chills 26:78f5e454e59f 26 void Console_Output_ISR();
thomasmorris 25:36699ed589ab 27
thomasmorris 25:36699ed589ab 28 float Sample_Rate;
thomasmorris 25:36699ed589ab 29 //Thread IDs
thomasmorris 25:36699ed589ab 30 osThreadId idMain;
thomasmorris 25:36699ed589ab 31 osThreadId id1;
thomasmorris 25:36699ed589ab 32 osThreadId id2;
thomasmorris 25:36699ed589ab 33 osThreadId id3;
thomasmorris 25:36699ed589ab 34 osThreadId id4;
thomasmorris 25:36699ed589ab 35 osThreadId id5;
thomasmorris 25:36699ed589ab 36
thomasmorris 25:36699ed589ab 37
thomasmorris 25:36699ed589ab 38 Timeout sw1TimeOut;//Used to prevent switch bounce
thomasmorris 25:36699ed589ab 39
thomasmorris 25:36699ed589ab 40 LED Red_led(PE_15);
thomasmorris 25:36699ed589ab 41 LED Yellow_led(PB_10);
thomasmorris 25:36699ed589ab 42 LED Green_led(PB_11);
thomasmorris 25:36699ed589ab 43
thomasmorris 25:36699ed589ab 44 LCD LCD(D8,D9,D4,A0,A1,A2,A3,D7,D6,D3,D1);
thomasmorris 25:36699ed589ab 45 char LCD_buffer [50];
thomasmorris 25:36699ed589ab 46 int LCD_sprintf;
thomasmorris 25:36699ed589ab 47
thomasmorris 25:36699ed589ab 48 //Tickers
thomasmorris 25:36699ed589ab 49
chills 26:78f5e454e59f 50 Ticker Sampling_Timer;
chills 26:78f5e454e59f 51 Ticker Console_Output_Timer;
thomasmorris 25:36699ed589ab 52
thomasmorris 25:36699ed589ab 53 //Threads
thomasmorris 25:36699ed589ab 54 Thread t1;
thomasmorris 25:36699ed589ab 55 Thread t2;
thomasmorris 25:36699ed589ab 56 Thread t3;
thomasmorris 25:36699ed589ab 57 Thread t4;
thomasmorris 25:36699ed589ab 58 Thread t5;
thomasmorris 25:36699ed589ab 59
thomasmorris 25:36699ed589ab 60 double temp = 0;
thomasmorris 25:36699ed589ab 61 double pressure = 0;
thomasmorris 25:36699ed589ab 62 double lux = 0;
thomasmorris 25:36699ed589ab 63 string buffer_time = 0;
thomasmorris 25:36699ed589ab 64
thomasmorris 25:36699ed589ab 65 char buffer[32];
thomasmorris 25:36699ed589ab 66 char scom_time_buffer[32];
thomasmorris 25:36699ed589ab 67 char msel_time_buffer[32];
thomasmorris 25:36699ed589ab 68
thomasmorris 25:36699ed589ab 69 void SW1FallingEdge();
thomasmorris 25:36699ed589ab 70 void SW1TimeOutHandler();
chills 26:78f5e454e59f 71 void Sampling_ISR();
chills 26:78f5e454e59f 72 void Console_Output_ISR();
thomasmorris 25:36699ed589ab 73
thomasmorris 25:36699ed589ab 74
thomasmorris 25:36699ed589ab 75 using namespace std;
thomasmorris 25:36699ed589ab 76
thomasmorris 25:36699ed589ab 77 int mode = 0;
thomasmorris 25:36699ed589ab 78
thomasmorris 25:36699ed589ab 79 Mail<DATA, mailsize> mail_box; //Mail Queue, Type DATA, Capacity mailsize(defined above), name mail_box
thomasmorris 25:36699ed589ab 80
thomasmorris 25:36699ed589ab 81 #endif