A program designed to get the distance from an SRF02 distance sensor and create an audible and visual indication of that distance with data logging capabilities.
Dependencies: N5110 PowerControl SRF02 mbed
Diff: main.h
- Revision:
- 7:65bdd2d0d6ad
- Parent:
- 6:d6afc4026a1d
- Child:
- 10:b61013738793
--- a/main.h Thu Apr 09 11:32:48 2015 +0000 +++ b/main.h Sat Apr 11 15:55:42 2015 +0000 @@ -1,42 +1,99 @@ -// Distance Sensor Project -// Header File "main.h" -// Designed By Sam Russell (200773195) -// Date: 07/04/2015 || Version: 0.1 +/** +* @file main.h +* @brief Distance Sensor Project +* @brief Header file containing functions, definitions and global variables. +* @brief Version: 0.6 +* @author Sam Russell +* @date March 2015 +*/ + +/********************************************//** + * Libraries and Definitions + ***********************************************/ #include "mbed.h" #include "SRF02.h" #include "N5110.h" #include "PowerControl/PowerControl.h" #include "PowerControl/EthernetPowerControl.h" +#define USR_POWERDOWN (0x104) +LocalFileSystem local("local"); /*!<Creates local filesystem */ +Ticker timer; /*!<defines the timer */ -//Inputs -SRF02 SRF02(p28,p27); // SDA, SCL -AnalogIn Switch(p16); //Power Control Switch -InterruptIn Button(p17); //Logging Data? (Saving to mbed) +/********************************************//** + * Inputs + ***********************************************/ +/** +* @namespace SRF02 +* @brief Data (SDA) and clock (SCL) for the sensor. +*/ +SRF02 SRF02(p28,p27); +/** +* @namespace Switch +* @brief On/Off (BOOLEAN) states, OFF: Does not log data to file ON: Dos Log Data to file. +*/ +AnalogIn Switch(p16); +/** +* @namespace Button +* @brief Three states, Toggles between Normal, Quiet and Power Saving modes. +*/ +InterruptIn Button(p17); -//Outputs -AnalogOut logLED(p18); // Logging To Disk Indicator -// vcc,sce,rst,dc,mosi,clk,led +/********************************************//** + * Outputs + ***********************************************/ +/** +* @namespace log LED +* @brief Indicates if the data recorded is being logged to file or not. +*/ +AnalogOut logLED(p18); +/** +* @namespace Display +* @brief Defines the Nokia N5110 as the output display and all the corresponding pins. +*/ +/// vcc,sce,rst,dc,mosi,clk,led N5110 display(p7,p8,p9,p10,p11,p13,p26); -PwmOut buzzer(p21); //Alert Buzzer -PwmOut backlight(p26); //Backlight output pin. +/** +* @namespace Buzzer +* @brief defines the buzzer pulse width modulation output. +*/ +PwmOut buzzer(p21); +/** +* @namespace Baclight +* @brief defines the baclight of the display pulse width modulation output. +*/ +PwmOut backlight(p26); +/** +* @namespace LEDs +* @brief Defines the set of on board LEDs. +*/ BusOut leds (LED1,LED2,LED3,LED4); //MBED onboard LEDs. +/** +* @namespace PC +* @brief Used to transmit serial data to the PC via USB. +*/ Serial pc(USBTX,USBRX); -Ticker timer; +/********************************************//** + * Flags/Variables/Buffers + ***********************************************/ -int timerflag = 0; //initialise timer flag to equal 0. -int distance = 0; //initialise distance to equal 0. -int buttonFlag = 0; //initialise buttonFlag to be 0, which defines the state of the data logger. -int setTimeFlag = 0; //initialise setTimeFlag to equal 0. -int mode = 0; //initialise mode to equal 0 (normal mode) -char rxString[16]; // buffer to store received string +int timerflag = 0; /*!<initialise timer flag to equal 0. */ +int distance = 0; /*!<initialise distance to equal 0. */ +int buttonFlag = 0; /*!<initialise buttonFlag to be 0, which defines the state of the data logger. */ +int setTimeFlag = 0; /*!<initialise setTimeFlag to equal 0. */ +int mode = 0; /*!<initialise mode to equal 0 (normal mode). */ + +char rxString[16]; /*!< buffer to store received string */ -LocalFileSystem local("local"); // create local filesystem -void writeDataToFile(char* data, float Distancedata); //Creates the void which takes the two types of data into the function. +/********************************************//** + * Functions + ***********************************************/ -void barChart(); //Function to update the bar chart on the display. -void error(int code); //DEBUG: Error Function -void timerExpired(); //Function for when the timer expires. -float avgDist(); //Function to get the average distance. -void buttonPressed(); //Function to change mode once button is pressed. \ No newline at end of file +void writeDataToFile(char* data, float Distancedata); /*!<Creates the void which takes the two types of data into the function. */ +void welcomeScreen(); /*!<Function that generates and clears the welcome screen */ +void barChart(); /*!<Function to update the bar chart on the display. */ +void error(int code); /*!<DEBUG: Error Function */ +void timerExpired(); /*!<Function for when the timer expires. */ +float avgDist(); /*!<Function to get the average distance. */ +void buttonPressed(); /*!<Function to change mode once button is pressed.*/ \ No newline at end of file