Rev 1.6 - Sample Period Work in progress

Dependencies:   mbed Bitmap N5110 TMP102 Joystick

Committer:
louismarr
Date:
Sun Jan 16 15:29:11 2022 +0000
Revision:
13:70f02d5e56f5
Parent:
12:1c821d6d50f9
Child:
14:fa5f83f26ed7
V1.9.1;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
louismarr 5:138a91e25e1c 1 /*
louismarr 5:138a91e25e1c 2
louismarr 7:ef1dab708752 3 Acknowledgements to (c) Craig A. Evans, University of Leeds, Feb 2016 for Temp Library
louismarr 7:ef1dab708752 4 Acknowledgements to (c) Dr. Edmond Nurellari, University of Lincoln, Dec 2021 for Classes used
louismarr 5:138a91e25e1c 5
louismarr 7:ef1dab708752 6 Using Various Libraries & Functions in order to create a
louismarr 7:ef1dab708752 7 Temperature Based Health Assistive Smart Device
louismarr 0:f8a8c6a8a5c3 8 */
louismarr 0:f8a8c6a8a5c3 9
louismarr 7:ef1dab708752 10 /*
louismarr 7:ef1dab708752 11 ======================== Library Imports =======================================
louismarr 7:ef1dab708752 12 Importing the Header Files from the Class Libraries into the main.cpp
louismarr 7:ef1dab708752 13 */
louismarr 7:ef1dab708752 14 #include "mbed.h" // Mbed OS Library
louismarr 7:ef1dab708752 15 #include "TMP102.h" // TMP102 Header File
louismarr 7:ef1dab708752 16 #include "N5110.h" // N5110 Header File
louismarr 7:ef1dab708752 17 #include "Bitmap.h" // Bitmap Header File
louismarr 12:1c821d6d50f9 18 #include "Joystick.h" // Joystick Header File
louismarr 0:f8a8c6a8a5c3 19
louismarr 7:ef1dab708752 20 /*
louismarr 7:ef1dab708752 21 ========================== Vairable Setup ======================================
louismarr 7:ef1dab708752 22 Pre-Determining the various Variable names to hardware pins on the K64F Board
louismarr 7:ef1dab708752 23 */
louismarr 0:f8a8c6a8a5c3 24
louismarr 7:ef1dab708752 25 TMP102 tmp102(I2C_SDA,I2C_SCL); // Create TMP102 object
louismarr 7:ef1dab708752 26 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); // Create lcd objec
louismarr 7:ef1dab708752 27 Serial serial(USBTX,USBRX); // CoolTerm TX, RX Comms Setup for Debug
louismarr 7:ef1dab708752 28 AnalogIn SP(PTB2); // Potentiometer for Setpoint
louismarr 12:1c821d6d50f9 29 Joystick Joystick(PTB10,PTB11,PTC16); // Create Joystick (PTB10 = Up/Down) (PTB11 = L/R) (PTB16 = Button)
louismarr 12:1c821d6d50f9 30
louismarr 9:77a6ea988e01 31 //Timer timer(); // USE FOR LOGGING BETWEEN 0-10s
louismarr 13:70f02d5e56f5 32 Ticker joystickDelay;
louismarr 7:ef1dab708752 33
louismarr 7:ef1dab708752 34 DigitalOut RED_led(LED_RED); // On-board K64F LED'S
louismarr 7:ef1dab708752 35 DigitalOut GRN_led(LED_GREEN);
louismarr 7:ef1dab708752 36 DigitalOut BLU_led(LED_BLUE);
louismarr 7:ef1dab708752 37
louismarr 7:ef1dab708752 38 InterruptIn sw2(SW2); // On-board K64F Switches
louismarr 5:138a91e25e1c 39 InterruptIn sw3(SW3);
louismarr 9:77a6ea988e01 40 InterruptIn R(PTB3); // Right Bumper Button
louismarr 9:77a6ea988e01 41 InterruptIn L(PTB18); // Left Bumper Button
louismarr 13:70f02d5e56f5 42 InterruptIn A(PTB9); // Right Bumper Button
louismarr 13:70f02d5e56f5 43 InterruptIn Y(PTC12); // Left Bumper Button
louismarr 0:f8a8c6a8a5c3 44
louismarr 9:77a6ea988e01 45 volatile int g_R_flag = 0; // g_ in order to show it is a global variable.
louismarr 9:77a6ea988e01 46 volatile int g_L_flag = 0; // volatile flag as it will change within the isr
louismarr 13:70f02d5e56f5 47 volatile int g_A_flag = 0; // g_ in order to show it is a global variable.
louismarr 13:70f02d5e56f5 48 volatile int g_Y_flag = 0;
louismarr 7:ef1dab708752 49 /*======================= Void Declaration ===================================*/
louismarr 7:ef1dab708752 50 void error(); // Error Hang Code Function
louismarr 7:ef1dab708752 51 void init_serial(); // Setup serial port Function
louismarr 7:ef1dab708752 52 void init_K64F(); // K64F Disabling Onboard Components Function
louismarr 9:77a6ea988e01 53 void R_isr();
louismarr 9:77a6ea988e01 54 void L_isr();
louismarr 13:70f02d5e56f5 55 void A_isr();
louismarr 13:70f02d5e56f5 56 void Y_isr();
louismarr 10:d98b2dd7ba09 57 void info();
louismarr 12:1c821d6d50f9 58 void temp_SP();
louismarr 13:70f02d5e56f5 59 void Menu();
louismarr 13:70f02d5e56f5 60 void Page1();
louismarr 13:70f02d5e56f5 61 void Page2();
louismarr 1:5cdfc8d78097 62
louismarr 7:ef1dab708752 63 /*======================== Main Function =====================================*/
louismarr 0:f8a8c6a8a5c3 64 int main()
louismarr 0:f8a8c6a8a5c3 65 {
louismarr 6:117edd5dc0a0 66
louismarr 7:ef1dab708752 67 init_K64F(); // Initialise K64F Board
louismarr 7:ef1dab708752 68 init_serial(); // Initialise Serial Port
louismarr 7:ef1dab708752 69 tmp102.init(); // Initialise Temp Sensor
louismarr 7:ef1dab708752 70 lcd.init(); // Initialise LCD
louismarr 12:1c821d6d50f9 71 Joystick.init();
louismarr 13:70f02d5e56f5 72
louismarr 13:70f02d5e56f5 73
louismarr 13:70f02d5e56f5 74
louismarr 9:77a6ea988e01 75 lcd.setContrast(0.4); // Setup the contrast for the LCD Screen
louismarr 9:77a6ea988e01 76 R.fall(&R_isr);
louismarr 9:77a6ea988e01 77 R.mode(PullDown);
louismarr 9:77a6ea988e01 78
louismarr 9:77a6ea988e01 79 L.fall(&L_isr);
louismarr 9:77a6ea988e01 80 L.mode(PullDown);
louismarr 0:f8a8c6a8a5c3 81
louismarr 13:70f02d5e56f5 82 A.fall(&A_isr);
louismarr 13:70f02d5e56f5 83 A.mode(PullDown);
louismarr 13:70f02d5e56f5 84
louismarr 13:70f02d5e56f5 85 Y.fall(&Y_isr);
louismarr 13:70f02d5e56f5 86 Y.mode(PullDown);
louismarr 13:70f02d5e56f5 87
louismarr 12:1c821d6d50f9 88 while (1) {
louismarr 8:9c5ef970de26 89 //timer.start();
louismarr 8:9c5ef970de26 90 //for(i = 0; i < 10; i++){
louismarr 5:138a91e25e1c 91 // read temperature and print over serial port
louismarr 13:70f02d5e56f5 92
louismarr 13:70f02d5e56f5 93
louismarr 13:70f02d5e56f5 94 Menu(); // Call the info function
louismarr 13:70f02d5e56f5 95 Page1();
louismarr 13:70f02d5e56f5 96 Page2();
louismarr 13:70f02d5e56f5 97 temp_SP();
louismarr 13:70f02d5e56f5 98
louismarr 12:1c821d6d50f9 99
louismarr 0:f8a8c6a8a5c3 100 }
louismarr 13:70f02d5e56f5 101
louismarr 9:77a6ea988e01 102 }
louismarr 13:70f02d5e56f5 103
louismarr 5:138a91e25e1c 104
louismarr 7:ef1dab708752 105 /*
louismarr 7:ef1dab708752 106 =========================== Void Setup =========================================
louismarr 7:ef1dab708752 107 Custom Function's are called Void's, which are called upon inside the of the
louismarr 7:ef1dab708752 108 Main Function Code
louismarr 7:ef1dab708752 109 */
louismarr 0:f8a8c6a8a5c3 110
louismarr 0:f8a8c6a8a5c3 111 void init_serial() {
louismarr 9:77a6ea988e01 112 // Baud Rate Communication for CoolTerm Debugging
louismarr 7:ef1dab708752 113 serial.baud(9600);
louismarr 0:f8a8c6a8a5c3 114 }
louismarr 0:f8a8c6a8a5c3 115
louismarr 5:138a91e25e1c 116 void init_K64F()
louismarr 0:f8a8c6a8a5c3 117 {
louismarr 7:ef1dab708752 118 // on-board LEDs are active when 0, so setting the pin to 1 turns them off.
louismarr 7:ef1dab708752 119 RED_led = 1;
louismarr 7:ef1dab708752 120 GRN_led = 1;
louismarr 9:77a6ea988e01 121 BLU_led = 1;
louismarr 9:77a6ea988e01 122 /* since the on-board switches have external pull-ups, disable the
louismarr 9:77a6ea988e01 123 * internal pull-down resistors that are enabled by default using
louismarr 9:77a6ea988e01 124 * the InterruptIn Command */
louismarr 5:138a91e25e1c 125 sw2.mode(PullNone);
louismarr 5:138a91e25e1c 126 sw3.mode(PullNone);
louismarr 9:77a6ea988e01 127 }
louismarr 0:f8a8c6a8a5c3 128
louismarr 9:77a6ea988e01 129 void R_isr() // Right Bumper Interrupt Service
louismarr 9:77a6ea988e01 130 {
louismarr 9:77a6ea988e01 131 g_R_flag = 1; // set flag in ISR
louismarr 0:f8a8c6a8a5c3 132 }
louismarr 9:77a6ea988e01 133
louismarr 9:77a6ea988e01 134 void L_isr() // Left Bumper Interrupt Service
louismarr 9:77a6ea988e01 135 {
louismarr 9:77a6ea988e01 136 g_L_flag = 1; // set flag in ISR
louismarr 9:77a6ea988e01 137 }
louismarr 13:70f02d5e56f5 138 void A_isr() // Left Bumper Interrupt Service
louismarr 13:70f02d5e56f5 139 {
louismarr 13:70f02d5e56f5 140 g_A_flag = 1; // set flag in ISR
louismarr 13:70f02d5e56f5 141 }
louismarr 13:70f02d5e56f5 142 void Y_isr() // Left Bumper Interrupt Service
louismarr 13:70f02d5e56f5 143 {
louismarr 13:70f02d5e56f5 144 g_Y_flag = 1; // set flag in ISR
louismarr 13:70f02d5e56f5 145 }
louismarr 10:d98b2dd7ba09 146 void info()
louismarr 10:d98b2dd7ba09 147 {
louismarr 13:70f02d5e56f5 148 if (g_R_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 149 g_R_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 150 R.rise(&R_isr);
louismarr 10:d98b2dd7ba09 151 serial.printf(" Information Page Selected "); // Debugging Print
louismarr 10:d98b2dd7ba09 152 lcd.clear(); // Clear Screen
louismarr 10:d98b2dd7ba09 153 lcd.printString("Info Page",0,0); // Print Information Screen
louismarr 10:d98b2dd7ba09 154 lcd.printString("Author:",0,1);
louismarr 10:d98b2dd7ba09 155 lcd.printString("Louis M",0,2);
louismarr 10:d98b2dd7ba09 156 lcd.printString("18689006",0,3);
louismarr 13:70f02d5e56f5 157 lcd.printString("Version 1.9.1",0,4);
louismarr 13:70f02d5e56f5 158 }
louismarr 12:1c821d6d50f9 159 }
louismarr 12:1c821d6d50f9 160 void Page1()
louismarr 7:ef1dab708752 161 {
louismarr 13:70f02d5e56f5 162 if (g_Y_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 163 g_Y_flag = 0;
louismarr 13:70f02d5e56f5 164 Y.fall(&Y_isr);{
louismarr 13:70f02d5e56f5 165
louismarr 12:1c821d6d50f9 166 serial.printf(" Page 1 "); // Debugging Print
louismarr 12:1c821d6d50f9 167 lcd.clear(); // Clear Screen
louismarr 12:1c821d6d50f9 168 lcd.printString(" Page 1 ",0,0); // Print Information Screen
louismarr 12:1c821d6d50f9 169 lcd.printString("Temperature",0,1);
louismarr 12:1c821d6d50f9 170 lcd.printString("Logging",0,2);
louismarr 13:70f02d5e56f5 171 lcd.printString("Press L",0,3);
louismarr 13:70f02d5e56f5 172 lcd.printString("Page Down A",0,5);
louismarr 13:70f02d5e56f5 173 lcd.refresh();
louismarr 13:70f02d5e56f5 174 wait(1);
louismarr 13:70f02d5e56f5 175 }
louismarr 13:70f02d5e56f5 176 }
louismarr 9:77a6ea988e01 177 }
louismarr 12:1c821d6d50f9 178 void Page2()
louismarr 12:1c821d6d50f9 179 {
louismarr 13:70f02d5e56f5 180 if (g_A_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 181 g_A_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 182 A.rise(&A_isr);
louismarr 13:70f02d5e56f5 183
louismarr 13:70f02d5e56f5 184
louismarr 12:1c821d6d50f9 185 serial.printf(" Page 2 "); // Debugging Print
louismarr 12:1c821d6d50f9 186 lcd.clear(); // Clear Screen
louismarr 12:1c821d6d50f9 187 lcd.printString(" Page 2 ",0,1); // Print Information Screen
louismarr 12:1c821d6d50f9 188 lcd.printString("Blood Pressure",0,2);
louismarr 12:1c821d6d50f9 189 lcd.printString("Logging",0,3);
louismarr 12:1c821d6d50f9 190 lcd.printString("Press A",0,5);
louismarr 13:70f02d5e56f5 191 lcd.printString("Page Up Y",0,0);
louismarr 13:70f02d5e56f5 192 lcd.refresh();
louismarr 13:70f02d5e56f5 193 wait(1);}
louismarr 12:1c821d6d50f9 194
louismarr 12:1c821d6d50f9 195 }
louismarr 12:1c821d6d50f9 196 void temp_SP()
louismarr 12:1c821d6d50f9 197 {
louismarr 13:70f02d5e56f5 198
louismarr 12:1c821d6d50f9 199 float T = tmp102.get_temperature(); // Reading Temperature as a floating variable
louismarr 12:1c821d6d50f9 200 float Set = SP * 100; // Reading Potentiometer as a floating variable. Multiplied by 100 to give larger range
louismarr 12:1c821d6d50f9 201
louismarr 12:1c821d6d50f9 202 //serial.printf("%2.2fs: %3.1f deg C\n\r", timer.read(), T);
louismarr 13:70f02d5e56f5 203 if (g_L_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 204 g_L_flag = 0;
louismarr 13:70f02d5e56f5 205 L.fall(&L_isr);
louismarr 12:1c821d6d50f9 206 //if (T > Set){
louismarr 12:1c821d6d50f9 207 lcd.clear(); // clearing the LCD buffer at the begining of the loop
louismarr 12:1c821d6d50f9 208 lcd.printString("Temperature",0,0); // Can also pre-determine the co-ordinates of the ',0,0' (must be less than 84 pixels to fit on display)
louismarr 12:1c821d6d50f9 209 char buffer[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14 Max amound of Characters)
louismarr 13:70f02d5e56f5 210 Direction d = Joystick.get_direction();
louismarr 13:70f02d5e56f5 211 float B = 0;
louismarr 13:70f02d5e56f5 212 if (1){
louismarr 13:70f02d5e56f5 213 float BP = B + 1;
louismarr 13:70f02d5e56f5 214 serial.printf("BP = i%",BP);
louismarr 13:70f02d5e56f5 215 } // Therefor strings csn not exceed the 14 Character Limit
louismarr 12:1c821d6d50f9 216
louismarr 12:1c821d6d50f9 217 int length = sprintf(buffer,"T=%.2F 'C",T); // print the temperature from the float variable T
louismarr 12:1c821d6d50f9 218 if (length <= 14) // Ensuring string will fit on the screen (Printing at x=0)
louismarr 12:1c821d6d50f9 219 lcd.printString(buffer,0,1); // display on screen
louismarr 12:1c821d6d50f9 220 serial.printf("T = %f C\n",T); // Printing the Temperature over Serial Port
louismarr 12:1c821d6d50f9 221
louismarr 12:1c821d6d50f9 222 length = sprintf(buffer,"SP=%.2F 'C",Set); // Print the Setpoint from the Float Variable Set
louismarr 12:1c821d6d50f9 223 if (length <= 14) // Ensuring string will fit on the screen (Printing at x=0)
louismarr 12:1c821d6d50f9 224 lcd.printString(buffer,0,2); // display on screen
louismarr 12:1c821d6d50f9 225 serial.printf(" SP = %f", Set); //
louismarr 13:70f02d5e56f5 226 lcd.refresh();
louismarr 13:70f02d5e56f5 227 wait(1);
louismarr 12:1c821d6d50f9 228 if (Set < T){ // Condition to change over into new loop
louismarr 12:1c821d6d50f9 229 lcd.clear(); // clearing the LCD buffer at the begining of the loop
louismarr 12:1c821d6d50f9 230 lcd.printString("Over Heating",3,2); // Print New Message
louismarr 12:1c821d6d50f9 231 serial.printf("OverTemp"); // Debugging Print
louismarr 13:70f02d5e56f5 232 lcd.refresh();
louismarr 13:70f02d5e56f5 233 wait(1);
louismarr 13:70f02d5e56f5 234 }
louismarr 12:1c821d6d50f9 235 }
louismarr 12:1c821d6d50f9 236 }
louismarr 13:70f02d5e56f5 237 /*void Menu()
louismarr 13:70f02d5e56f5 238 {
louismarr 13:70f02d5e56f5 239 while (1){
louismarr 13:70f02d5e56f5 240
louismarr 12:1c821d6d50f9 241 Direction d = Joystick.get_direction();
louismarr 13:70f02d5e56f5 242 //serial.printf("Direction = %i ",d);
louismarr 13:70f02d5e56f5 243 joystickDelay.attach(d,0.10);
louismarr 12:1c821d6d50f9 244 int select = 0;
louismarr 13:70f02d5e56f5 245 //while (1) {
louismarr 12:1c821d6d50f9 246 switch(select) {
louismarr 12:1c821d6d50f9 247 case 0:
louismarr 12:1c821d6d50f9 248 switch(d) {
louismarr 13:70f02d5e56f5 249 case 1:
louismarr 12:1c821d6d50f9 250 select = 1;
louismarr 12:1c821d6d50f9 251 serial.printf("UP");
louismarr 12:1c821d6d50f9 252 break;
louismarr 13:70f02d5e56f5 253 case 5:
louismarr 12:1c821d6d50f9 254 select = 2;
louismarr 12:1c821d6d50f9 255 serial.printf("DOWN");
louismarr 12:1c821d6d50f9 256 break;
louismarr 12:1c821d6d50f9 257 }
louismarr 13:70f02d5e56f5 258 //break;
louismarr 12:1c821d6d50f9 259 case 1:
louismarr 12:1c821d6d50f9 260 switch(d) {
louismarr 13:70f02d5e56f5 261 case 1:
louismarr 12:1c821d6d50f9 262 select = 2;
louismarr 12:1c821d6d50f9 263 serial.printf("UP");
louismarr 12:1c821d6d50f9 264 break;
louismarr 13:70f02d5e56f5 265 case 5:
louismarr 12:1c821d6d50f9 266 select = 0;
louismarr 12:1c821d6d50f9 267 serial.printf("DOWN");
louismarr 12:1c821d6d50f9 268 break;
louismarr 12:1c821d6d50f9 269 case 2:
louismarr 12:1c821d6d50f9 270 switch(d) {
louismarr 13:70f02d5e56f5 271 case 1:
louismarr 12:1c821d6d50f9 272 select = 0;
louismarr 12:1c821d6d50f9 273 serial.printf("UP");
louismarr 12:1c821d6d50f9 274 break;
louismarr 13:70f02d5e56f5 275 case 5:
louismarr 12:1c821d6d50f9 276 select = 1;
louismarr 12:1c821d6d50f9 277 serial.printf("DOWN");
louismarr 12:1c821d6d50f9 278 break;
louismarr 12:1c821d6d50f9 279 }
louismarr 12:1c821d6d50f9 280 wait(1);
louismarr 12:1c821d6d50f9 281
louismarr 12:1c821d6d50f9 282 if (select == 0){
louismarr 12:1c821d6d50f9 283 lcd.clear(); // Clear Screen
louismarr 12:1c821d6d50f9 284 serial.printf("Welcome");
louismarr 12:1c821d6d50f9 285 lcd.printString(" Welcome ",0,1); // Print Information Screen
louismarr 12:1c821d6d50f9 286 lcd.printString("Main Menu",0,3);
louismarr 12:1c821d6d50f9 287 lcd.printString("Page Down",0,5);
louismarr 12:1c821d6d50f9 288 }
louismarr 13:70f02d5e56f5 289 if (g_A_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 290 g_A_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 291 A.rise(&A_isr);
louismarr 13:70f02d5e56f5 292 serial.printf("A Pressed");
louismarr 12:1c821d6d50f9 293 }
louismarr 12:1c821d6d50f9 294 else if (select == 1){
louismarr 12:1c821d6d50f9 295 serial.printf("Page1");
louismarr 12:1c821d6d50f9 296 Page1();
louismarr 13:70f02d5e56f5 297 if (g_A_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 298 g_A_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 299 A.rise(&A_isr);
louismarr 13:70f02d5e56f5 300 serial.printf("A Pressed");
louismarr 12:1c821d6d50f9 301 }
louismarr 13:70f02d5e56f5 302
louismarr 12:1c821d6d50f9 303 else if (select == 2){
louismarr 12:1c821d6d50f9 304 serial.printf("Page2");
louismarr 12:1c821d6d50f9 305 Page2();
louismarr 13:70f02d5e56f5 306 if (g_A_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 307 g_A_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 308 A.rise(&A_isr);
louismarr 13:70f02d5e56f5 309 serial.printf("A Pressed");
louismarr 12:1c821d6d50f9 310 }
louismarr 12:1c821d6d50f9 311
louismarr 12:1c821d6d50f9 312 }
louismarr 12:1c821d6d50f9 313 }
louismarr 12:1c821d6d50f9 314 }
louismarr 13:70f02d5e56f5 315 }
louismarr 13:70f02d5e56f5 316 */
louismarr 13:70f02d5e56f5 317 void Menu()
louismarr 13:70f02d5e56f5 318 {
louismarr 13:70f02d5e56f5 319 if (g_R_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 320 g_R_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 321 R.rise(&R_isr);
louismarr 13:70f02d5e56f5 322
louismarr 13:70f02d5e56f5 323 lcd.clear(); // Clear Screen
louismarr 13:70f02d5e56f5 324 serial.printf("Welcome");
louismarr 13:70f02d5e56f5 325 lcd.printString(" Welcome ",0,1); // Print Information Screen
louismarr 13:70f02d5e56f5 326 lcd.printString("Main Menu",0,3);
louismarr 13:70f02d5e56f5 327 lcd.printString("Page Down",0,5);
louismarr 13:70f02d5e56f5 328 lcd.refresh();
louismarr 13:70f02d5e56f5 329 wait(1);
louismarr 13:70f02d5e56f5 330 }
louismarr 13:70f02d5e56f5 331 }
louismarr 13:70f02d5e56f5 332 /*void BP()
louismarr 13:70f02d5e56f5 333 {
louismarr 13:70f02d5e56f5 334 Direction d = Joystick.get_direction();
louismarr 13:70f02d5e56f5 335 float BP = 0;
louismarr 13:70f02d5e56f5 336 if (d = 1){
louismarr 13:70f02d5e56f5 337 BP + 1;
louismarr 13:70f02d5e56f5 338 serial.printf("BP = i%",BP);
louismarr 13:70f02d5e56f5 339 }
louismarr 13:70f02d5e56f5 340 */