Proj 324 Final

Fork of ELEC351_Group_T by Plymouth ELEC351 Group T

SETUP.hpp

Committer:
thomasmorris
Date:
2018-01-01
Revision:
25:36699ed589ab
Child:
26:78f5e454e59f

File content as of revision 25:36699ed589ab:

#ifndef _SETUP_HPP_ //Known as header guards
#define _SETUP_HPP_

#include "sample_hardware.hpp"
#include "Networkbits.hpp"
#include "rtos.h"
#include "LED.hpp"
#include "DATA.hpp"
#include "LCD.hpp"
#include "SERIAL.hpp"
#define SamplingTime 1
#define NotSamplingTime 0
#define Print_Time_to_LCD 1
#define Dont_Print_Time_to_LCD 0
#define TimerInterval 2 //This is in seconds
#define EDGE_RISEN 1
#define EDGE_FALLEN 0
#define mailsize 5
#include <iostream>
Serial pc(USBTX, USBRX);
//SW1+SW2 are declared as interrupt ins in sample hardware.cpp
//Forward Declarations

void Serial_Comms();
void Sample_signal_set();    

float Sample_Rate;
//Thread IDs
osThreadId idMain;
osThreadId id1;
osThreadId id2;
osThreadId id3;
osThreadId id4;
osThreadId id5;


Timeout sw1TimeOut;//Used to prevent switch bounce

LED Red_led(PE_15);
LED Yellow_led(PB_10);
LED Green_led(PB_11);

LCD LCD(D8,D9,D4,A0,A1,A2,A3,D7,D6,D3,D1); 
char LCD_buffer [50];
int LCD_sprintf;

//Tickers

Ticker Sample_timer;

//Threads
Thread t1;
Thread t2;
Thread t3;
Thread t4;
Thread t5;

double temp = 0;
double pressure = 0;
double lux = 0;
string buffer_time = 0;

char buffer[32];
char scom_time_buffer[32];
char msel_time_buffer[32];

void SW1FallingEdge();
void SW1TimeOutHandler();



using namespace std;

int mode = 0;

Mail<DATA, mailsize> mail_box;       //Mail Queue, Type DATA, Capacity mailsize(defined above), name mail_box

#endif