![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Working Menu, additions to be made
Dependencies: mbed
main.cpp
- Committer:
- jackmcgarley
- Date:
- 2022-01-28
- Revision:
- 5:bec67fb2b2f9
- Parent:
- 4:143487eef742
- Child:
- 6:e6e7b99198fd
File content as of revision 5:bec67fb2b2f9:
/* * Author - Jack McGarley - 18689007 * Date - January 2022 * Acknowledgements * Craig A. Evans, University of Leeds, TMP102 Library, Feb 2016 * Dr Edmond Nurellari, University of Lincoln, Joystick & N5110 Libraries */ #include "mbed.h" // include the library header, ensure the library has been imported into the project #include "Joystick.h" #include "TMP102.h" #include "N5110.h" DigitalOut grn_led1(PTA1); // Designating LEDs from left to right DigitalOut grn_led2(PTA2); DigitalOut grn_led3(PTC2); DigitalOut red_led1(PTC3); DigitalOut red_led2(PTC4); DigitalOut red_led3(PTD3); DigitalIn button_A(PTB9); // Designating Buttons DigitalIn button_B(PTD0); DigitalIn button_X(PTC17); DigitalIn button_Y(PTC12); DigitalIn button_L(PTB18); DigitalIn button_R(PTB3); DigitalIn button_back(PTB19); DigitalIn button_start(PTC5); TMP102 tmp102(I2C_SDA,I2C_SCL); // Create TMP102 object N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); //Designating N5110 Display Joystick joystick(PTB10,PTB11,PTC16); //Designating Joystick Serial pc(USBTX,USBRX); // UART connection for PC InterruptIn sw2(SW2); // K64F on-board switches InterruptIn sw3(SW3); DigitalOut r_led(LED_RED); // K64F on-board LEDs DigitalOut g_led(LED_GREEN); DigitalOut b_led(LED_BLUE); // DECLARE VOIDS BEING USED IN CODE void error(); // error function hangs flashing an LED void init_serial(); // Setting up the serial port void init_K64F(); // Setting up the on-board LEDs and switches void init_leds(); //Setting up the LEDs void startup(); int main() { init_K64F(); // Initialising the board, serial port, LED'S and joystick init_serial(); init_leds(); joystick.init(); tmp102.init(); // call the sensor init method using dot syntax lcd.init(); // initialise display lcd.setContrast(0.5); // Sets contrast to 0.5 while (1) { // these are settings that I have adjusted lcd.normalMode(); // normal colour mode lcd.setBrightness(0.75); // put LED backlight on 75% startup(); // USE VOID NOW float T = tmp102.get_temperature(); // read temperature and print over serial port pc.printf("T = %.1f K\n",T); if (T > 37.2f) { red_led1.write(0); // LED 1 will flash when you're in High Temp pc.printf("High Temperature \n"); // Printing to the LCD } else if (T < 36.1f) { red_led2.write(0); // LED 2 will flash when you're in Low Temp printf("Low Temperature \n"); // Printing to the LCD } else if (T > 38) { red_led3.write(0); // LED 3 will flash when you're beyond high temperature printf("Call Your GP \n"); // Printing to the LCD } } } void init_serial() { pc.baud(9600); // set to highest baud - ensure terminal software matches } void init_K64F() { r_led = 1; // on-board LEDs are active-low, so set pin high to turn them off. g_led = 1; b_led = 1; // since the on-board switches have external pull-ups, we should disable the internal pull-down // resistors that are enabled by default using InterruptIn sw2.mode(PullNone); sw3.mode(PullNone); } void init_leds() { red_led1.write(1); // LEDs are common anode (active-low) so writing a 1 will turn them off red_led2.write(1); red_led3.write(1); grn_led1.write(1); grn_led2.write(1); grn_led3.write(0); // LED on to show the board is on } void lcd_sett() { //LCD SET } void startup() // VOID FUNCTION SETUP { // Welcome Screen lcd.clear(); lcd.printString(" Jack McGarley ", 0, 0); lcd.printString(" 1868007 ", 0, 2); lcd.printString(" Schneider ", 0, 3); lcd.printString(" Lincoln Uni", 0, 4); lcd.printString(" January 2022", 0, 5); lcd.refresh(); char d = joystick.get_direction(); }