This program allows user to measure distance with SRF02 distance sensor and display the result on a Nokia LCD Display

Dependencies:   N5110 PowerControl SRF02 mbed

main.h

Committer:
el13a2w
Date:
2015-05-10
Revision:
5:c18bd289bc88
Parent:
3:012cdc8e0f75

File content as of revision 5:c18bd289bc88:

/**
@file main.h
@brief Project: Ultrasonic Sensor
@author Adrian Wong
@date   April 2015
*/

#ifndef MAIN_H
#define MAIN_H

#define PI 3.14159265359

#include "mbed.h"

/**  
@namespace lcd
@brief Nokia LCD screen showing sensor measurements
@brief vcc, sce, rst, dc, mosi, clk, led backlight
*/ 
N5110 lcd(p7,p8,p9,p10,p11,p13,p26);
/**  
@namespace leds
@brief GPIO output for status onboard LEDs
*/ 
BusOut leds(LED4,LED3,LED2,LED1); 
/**  
@namespace sensor
@brief SRF02 sensor input
@brief sda, scl
*/ 
SRF02 sensor(p28,p27);
/**  
@namespace serial
@brief serial USB transmission line
*/ 
Serial serial(USBTX,USBRX);
/**  
@namespace timer1
@brief 1st ticker timer
*/ 
Ticker timer1; 
/**  
@namespace timer2
@brief 2nd ticker timer
*/ 
Ticker timer2; 
/**  
@namespace timer3
@brief 3rd ticker timer
*/ 
Ticker timer3; 
/**  
@namespace timer4
@brief 4th ticker timer
*/ 
Ticker timer4; 
/**  
@namespace timer5
@brief 5th ticker timer
*/ 
Ticker timer5; 
/**  
@namespace unit
@brief unit interrupt button
*/ 
InterruptIn unit(p16); 
/**  
@namespace display
@brief LCD display interrupt button
*/ 
InterruptIn display(p17); // input interrupt button
/**  
@namespace led1
@brief output showing on/off status
*/ 
DigitalOut led1(p24); 
/**  
@namespace led2
@brief warning LED
*/ 
DigitalOut led2(p23); // warning LED
/**  
@namespace buzzer
@brief warning buzzer
*/ 
PwmOut buzzer(p21); 
/**  
@namespace pot
@brief volume control for buzzer
*/ 
AnalogIn pot(p20);
/**  
@namespace local
@brief create local filesystem
*/ 
LocalFileSystem local("local"); 

/**
ISR that is called when serial data is received
@param buffer - input maximum stored information
@param setTimeFlag - integer to add
@returns setTimeFlag value and stored serial information
*/
void serialISR(); 
/**
function to set the UNIX time
@param time - atoi() converts a string to an integer
@returns updated time
*/
void setTime();
/**
buffer to store received string
@param setting buffer size
@returns stored string
*/
char rxString[16];
/**
function to action of unit button
@returns toggled unit button value
*/
void uPressed(); 
/**
function to action of display button
@returns toggled display button value
*/
void dPressed(); 
/**
function to action when timer1 triggers
@returns timer1Flag value
*/
void timer1Expired(); 
/**
function to action when timer2 triggers
@returns timer2Flag value
*/
void timer2Expired(); 
/**
function to action when timer3 triggers
@returns timer3Flag value
*/
void timer3Expired();
/**
function to action when timer4 triggers
@returns timer4Flag value
*/ 
void timer4Expired(); 
/**
function to action when timer5 triggers
@returns timer5Flag value
*/
void timer5Expired(); 
/**
warning function
@param vol = potentiometer reading divided by 5
@param buzzer = value of vol + 0.8
@param led2 = inverts led2 value
@returns buzzer and led2 value
*/
void warning(); 
/**
function to write data to file
@param buffer - set characters to be saved
@param distance - set distance value to be saved
@returns buffer and distance
*/
void writeDataToFile(char* buffer, float distance); 
/**
function to get distance
@param d1 to d10 - distance measured by sensor in cm
@param dt - average distance measured 
@returns dt
*/
float measureDistance(); // function to get distance

int timer1Flag = 0; /*!< timer1 flag set in ISR */
int timer2Flag = 0; /*!< timer2 flag set in ISR */
int timer3Flag = 0; /*!< timer3 flag set in ISR */
int timer4Flag = 0; /*!< timer4 flag set in ISR */
int timer5Flag = 0; /*!< timer5 flag set in ISR */
int uFlag = 0; /*!< unit button flag set in ISR */
int dFlag = 0; /*!< display button flag set in ISR */
int setTimeFlag = 0; /*!< setTime flag set in ISR */
int x = 84; /*!< size of set horizontal (x-axis) */
int y = 48; /*!< size of set vertically (y-axis) */

#endif