First Draft, serial print change based on distance

Committer:
liam94
Date:
Fri Jan 28 13:01:19 2022 +0000
Revision:
8:7e48229d678c
Parent:
7:7464fbb0f3e1
Child:
9:ada61082bbaa
improved commenting on main.cpp and .h files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liam94 8:7e48229d678c 1 #ifndef main_H
liam94 8:7e48229d678c 2 #define main_H
liam94 5:98845ccaaacd 3
liam94 8:7e48229d678c 4 /***************************************************************************//**
liam94 8:7e48229d678c 5 *
liam94 8:7e48229d678c 6 * @author Liam Cox
liam94 8:7e48229d678c 7 * @date January 2022
liam94 8:7e48229d678c 8 *
liam94 8:7e48229d678c 9 * @brief This is the header section for my main code, it includes all the inputs,
liam94 8:7e48229d678c 10 * outputs and member functions that will be used in the main source code
liam94 8:7e48229d678c 11 * file
liam94 8:7e48229d678c 12 *
liam94 8:7e48229d678c 13 *******************************************************************************/
liam94 8:7e48229d678c 14
liam94 5:98845ccaaacd 15 #include "mbed.h"
liam94 5:98845ccaaacd 16 #include "N5110.h"
liam94 8:7e48229d678c 17 #include "Joystick.h"
liam94 8:7e48229d678c 18 #include "ultrasonic.h"
liam94 5:98845ccaaacd 19
liam94 8:7e48229d678c 20 /***************************************************************************//**
liam94 8:7e48229d678c 21 *
liam94 8:7e48229d678c 22 * below I have defined the inputs and outputs on the PCB, this includes all the
liam94 8:7e48229d678c 23 * push buttons that have been defined as interrupts, the LEDs that have been
liam94 8:7e48229d678c 24 * defined in a Bus output for ease of use, the LCD output pins VCC,SCE,RST,D/C,
liam94 8:7e48229d678c 25 * MOSI,SCLK,LED and the joystick y-coordinate x-coordinate and button.
liam94 8:7e48229d678c 26 *
liam94 8:7e48229d678c 27 *******************************************************************************/
liam94 8:7e48229d678c 28
liam94 5:98845ccaaacd 29 InterruptIn L(PTB18);
liam94 5:98845ccaaacd 30 InterruptIn R(PTB3);
liam94 5:98845ccaaacd 31 InterruptIn Start(PTC5);
liam94 5:98845ccaaacd 32 InterruptIn Back(PTB19);
liam94 5:98845ccaaacd 33
liam94 5:98845ccaaacd 34 BusOut output(PTA1,PTA2,PTC2,PTC3,PTC4,PTD3);
liam94 5:98845ccaaacd 35
liam94 8:7e48229d678c 36 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
liam94 5:98845ccaaacd 37
liam94 5:98845ccaaacd 38 Joystick joystick(PTB10,PTB11,PTC16);
liam94 5:98845ccaaacd 39
liam94 8:7e48229d678c 40 /***************************************************************************//**
liam94 8:7e48229d678c 41 *
liam94 8:7e48229d678c 42 * below is array of states for the LEDs in the FSM, states have been defined in
liam94 8:7e48229d678c 43 * binary for ease of use, 0 is LED on, 1 is LED off so only one LED is on in any
liam94 8:7e48229d678c 44 * state. the member functions that are to be used in the main source code file
liam94 8:7e48229d678c 45 * have also been defined and the ultrasonice sensor trigger and echo pin have
liam94 8:7e48229d678c 46 * been defined, it updates every .5 seconds and a timeout after 1 second and call
liam94 8:7e48229d678c 47 * the function dist when the distance changes.
liam94 8:7e48229d678c 48 *
liam94 8:7e48229d678c 49 *******************************************************************************/
liam94 5:98845ccaaacd 50
liam94 6:18a4dd77057e 51 int fsm[6] = {0b111110, 0b111101, 0b111011, 0b110111, 0b101111, 0b011111};
liam94 5:98845ccaaacd 52
liam94 8:7e48229d678c 53 volatile int Start_flag, Back_flag;
liam94 8:7e48229d678c 54
liam94 5:98845ccaaacd 55 void init_display();
liam94 5:98845ccaaacd 56
liam94 5:98845ccaaacd 57 void main_menu();
liam94 5:98845ccaaacd 58
liam94 5:98845ccaaacd 59 void sense_object();
liam94 5:98845ccaaacd 60
liam94 5:98845ccaaacd 61 void Start_isr();
liam94 5:98845ccaaacd 62
liam94 5:98845ccaaacd 63 void Back_isr();
liam94 5:98845ccaaacd 64
liam94 6:18a4dd77057e 65 void calibrate_object();
liam94 6:18a4dd77057e 66
liam94 7:7464fbb0f3e1 67 void dist(int distance);
liam94 7:7464fbb0f3e1 68
liam94 8:7e48229d678c 69 ultrasonic mu(PTD0, PTC12, .5, 1, &dist);
liam94 8:7e48229d678c 70
liam94 8:7e48229d678c 71 #endif