Orla Gilson / Mbed 2 deprecated WeatherLogger

Dependencies:   BMP180 N5110 mbed

main.h

Committer:
orlagilson
Date:
2015-05-07
Revision:
5:3246c4b8362c
Child:
6:1b5603fd1a9c

File content as of revision 5:3246c4b8362c:

/**
@file main.h
@brief header file containing functions and variables
@brief Revision 1.0
@author Orla Gilson
@date May 2015
*/

#ifndef MAIN_H
#define MAIN_H
#include "mbed.h"

/**
@namespace lcd
@brief bus output for Nokia 5110 LCD screen
*/
N5110 lcd(p7,p8,p9,p10,p11,p13,p26);

/**
@namespace bmp180
@brief serial input for BMP180 sensor
*/
BMP180 bmp180(p28,p27);

/**
@namespace buttonleft
@brief interrupt in function for the left hand button
*/
InterruptIn buttonleft(p15);

/**
@namespace BUT2
@brief analog in function for the right hand button
*/
AnalogIn BUT2(p16);

/**
@namespace POT
@brief analog in function for the potentiometer
*/
AnalogIn POT(p20);

/**
@namespace led
@brief GPIO output for error LED
*/
DigitalOut led(p25);

/**
Sets x axis of screen
@param nx - length of x axis
*/
int nx=84;

/**
Sets y axis of screen
@param ny - length of y axis
*/
int ny=48;

/**
Coordinates of a pixel
@param i - x value of coordinate (0-83)
@param j - y value of coordinate (0-47
*/
int i,j;


float temperature;
float pressure;
int buttonFlag=0;
Timeout callT;
Timeout callP;
Ticker timerT;
Ticker timerP;
Ticker timerE;
int timerTFlag = 0;
int timerPFlag = 0;
int timerEFlag = 0;


/** Expire Timer T; 
* timer associated with temperature; 
* sets timerTFlag to one
*/
void timerTExpired();

/** Expire Timer P; 
* timer associated with pressure; 
* sets timerPFlag to one
*/
void timerPExpired();

/** Expire Timer E; 
* timer associated with error LED; 
* sets timerEFlag to one
*/
void timerEExpired();

/** Press Button; 
* interrupt associated with left button; 
* sets buttonFlag to one
*/
void buttonPressed();

/** Error Function; 
* function supplies error function; 
* LED lights up every 2 seconds; 
* buzzer goes off simultaneously with the LED
*/
void error();

/** Calls Temperature; 
* function reads the temperature from the sensor; 
* prints the current temperature to the screen
*/
void callTemp();

/** Calls Pressure; 
* function reads the pressure from the sensor; 
* prints the current pressure to the screen
*/
void callPress();

/** Read Temperature; 
* calls callTemp after 0.1 seconds; 
* reads temperature every 60 seconds; 
* prints temperature to screen; 
* updates screen every 60 seconds with new temperature
*/
void readTemp();

/** Read Pressure; 
* calls callPress after 0.1 seconds; 
* reads pressure every 30 minutes/1800 seconds; 
* prints pressure to screen; 
* updates screen every 30 minutes with new pressure
*/
void readPress();

/** Measurement; 
* read measurement from sensor; 
* set temperature; 
* set pressure
*/
void measurement();

/** Temperature Graph; 
* read temperature every 2 seconds; 
* create temporary array; 
* read temperature values into array; 
* scale temperature array; 
* plot array
*/
void tempGraph();

/** Pressure Graph; 
* read pressure every 2 seconds; 
* create temporary array; 
* read pressure values into array; 
* scale pressure array;
* plot array
*/
void pressGraph();

/** Menu; 
* print temperature screen if potentiometer is greater than 2/3; 
* print pressure screen if potentiometer is between 1/3 and 2/3; 
* print light screen if potentiometer is less than 1/3; 
*/
void menu();

/** Clear Cells; 
* cycle through pixels and set to zero
*/
void clearCells();