First Draft, serial print change based on distance

Committer:
liam94
Date:
Mon Jan 24 22:35:08 2022 +0000
Revision:
6:18a4dd77057e
Parent:
5:98845ccaaacd
Child:
7:7464fbb0f3e1
added in calibration screen and back buttons for menu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liam94 5:98845ccaaacd 1 /**
liam94 5:98845ccaaacd 2 @file main.h
liam94 5:98845ccaaacd 3 @brief Header file containing functions prototypes, defines and global variables.
liam94 5:98845ccaaacd 4 @brief Revision 1.0.
liam94 5:98845ccaaacd 5 @author Wu Chyi Woon
liam94 5:98845ccaaacd 6 @date May 2015
liam94 5:98845ccaaacd 7 */
liam94 5:98845ccaaacd 8
liam94 5:98845ccaaacd 9 #include "mbed.h"
liam94 5:98845ccaaacd 10 #include "N5110.h"
liam94 5:98845ccaaacd 11
liam94 5:98845ccaaacd 12 // added R and L buttons presses in so that the user has to press when they are ready to rotate object and in which direction
liam94 5:98845ccaaacd 13 InterruptIn L(PTB18);
liam94 5:98845ccaaacd 14 InterruptIn R(PTB3);
liam94 5:98845ccaaacd 15 InterruptIn Start(PTC5);
liam94 5:98845ccaaacd 16 InterruptIn Back(PTB19);
liam94 5:98845ccaaacd 17
liam94 5:98845ccaaacd 18 // LEDs on PCB to be connected (1 to 6) - active-low 0 = on and 1 = off
liam94 5:98845ccaaacd 19 BusOut output(PTA1,PTA2,PTC2,PTC3,PTC4,PTD3);
liam94 5:98845ccaaacd 20
liam94 5:98845ccaaacd 21 // VCC,SCE,RST,D/C,MOSI,SCLK,LED
liam94 5:98845ccaaacd 22 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); // K64F - pwr from 3V3
liam94 5:98845ccaaacd 23
liam94 5:98845ccaaacd 24 // y x button
liam94 5:98845ccaaacd 25 Joystick joystick(PTB10,PTB11,PTC16);
liam94 5:98845ccaaacd 26
liam94 5:98845ccaaacd 27 volatile int Start_flag, Back_flag; /*!< Button flags */
liam94 5:98845ccaaacd 28
liam94 5:98845ccaaacd 29 // array of states in the FSM, each element is the output of the counter
liam94 5:98845ccaaacd 30 // set the output in binary to make it easier, 0 is LED on, 1 is LED off
liam94 6:18a4dd77057e 31 int fsm[6] = {0b111110, 0b111101, 0b111011, 0b110111, 0b101111, 0b011111};
liam94 5:98845ccaaacd 32
liam94 5:98845ccaaacd 33 void dist(int distance);
liam94 5:98845ccaaacd 34
liam94 5:98845ccaaacd 35 void init_display();
liam94 5:98845ccaaacd 36
liam94 5:98845ccaaacd 37 void main_menu();
liam94 5:98845ccaaacd 38
liam94 5:98845ccaaacd 39 void sense_object();
liam94 5:98845ccaaacd 40
liam94 5:98845ccaaacd 41 void Start_isr();
liam94 5:98845ccaaacd 42
liam94 5:98845ccaaacd 43 void Back_isr();
liam94 5:98845ccaaacd 44
liam94 6:18a4dd77057e 45 void calibrate_object();
liam94 6:18a4dd77057e 46
liam94 5:98845ccaaacd 47 ultrasonic mu(PTD0, PTC12, .5, 1, &dist); //Set the trigger pin to PTD0 and the echo pin to PTC12
liam94 5:98845ccaaacd 48 //have updates every .5 seconds and a timeout after 1
liam94 5:98845ccaaacd 49 //second, and call dist when the distance changes