Rev 1.6 - Sample Period Work in progress

Dependencies:   mbed Bitmap N5110 TMP102 Joystick

Committer:
louismarr
Date:
Sun Jan 16 17:29:18 2022 +0000
Revision:
14:fa5f83f26ed7
Parent:
13:70f02d5e56f5
Child:
15:73383333229d
Child:
16:648f9012c47a
Rev 2.0

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 14:fa5f83f26ed7 59 void MenuNav();
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 14:fa5f83f26ed7 94 MenuNav(); // 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 14:fa5f83f26ed7 148
louismarr 10:d98b2dd7ba09 149 serial.printf(" Information Page Selected "); // Debugging Print
louismarr 10:d98b2dd7ba09 150 lcd.clear(); // Clear Screen
louismarr 10:d98b2dd7ba09 151 lcd.printString("Info Page",0,0); // Print Information Screen
louismarr 10:d98b2dd7ba09 152 lcd.printString("Author:",0,1);
louismarr 10:d98b2dd7ba09 153 lcd.printString("Louis M",0,2);
louismarr 10:d98b2dd7ba09 154 lcd.printString("18689006",0,3);
louismarr 13:70f02d5e56f5 155 lcd.printString("Version 1.9.1",0,4);
louismarr 14:fa5f83f26ed7 156 lcd.refresh();
louismarr 14:fa5f83f26ed7 157 wait(1);
louismarr 12:1c821d6d50f9 158 }
louismarr 12:1c821d6d50f9 159 void Page1()
louismarr 7:ef1dab708752 160 {
louismarr 12:1c821d6d50f9 161 serial.printf(" Page 1 "); // Debugging Print
louismarr 12:1c821d6d50f9 162 lcd.clear(); // Clear Screen
louismarr 14:fa5f83f26ed7 163 lcd.printString("< Page 1 >",0,0); // Print Information Screen
louismarr 12:1c821d6d50f9 164 lcd.printString("Temperature",0,1);
louismarr 12:1c821d6d50f9 165 lcd.printString("Logging",0,2);
louismarr 14:fa5f83f26ed7 166 lcd.printString("Press A",0,3);
louismarr 14:fa5f83f26ed7 167
louismarr 13:70f02d5e56f5 168 lcd.refresh();
louismarr 14:fa5f83f26ed7 169 wait(1);
louismarr 9:77a6ea988e01 170 }
louismarr 12:1c821d6d50f9 171 void Page2()
louismarr 14:fa5f83f26ed7 172 {
louismarr 12:1c821d6d50f9 173 serial.printf(" Page 2 "); // Debugging Print
louismarr 12:1c821d6d50f9 174 lcd.clear(); // Clear Screen
louismarr 14:fa5f83f26ed7 175 lcd.printString("< Page 2 ",0,0); // Print Information Screen
louismarr 14:fa5f83f26ed7 176 lcd.printString("Blood Pressure",0,1);
louismarr 14:fa5f83f26ed7 177 lcd.printString("Logging",0,2);
louismarr 14:fa5f83f26ed7 178 lcd.printString("Press A",0,3);
louismarr 14:fa5f83f26ed7 179
louismarr 13:70f02d5e56f5 180 lcd.refresh();
louismarr 14:fa5f83f26ed7 181 wait(1);
louismarr 14:fa5f83f26ed7 182 }
louismarr 12:1c821d6d50f9 183 void temp_SP()
louismarr 12:1c821d6d50f9 184 {
louismarr 13:70f02d5e56f5 185
louismarr 12:1c821d6d50f9 186 float T = tmp102.get_temperature(); // Reading Temperature as a floating variable
louismarr 12:1c821d6d50f9 187 float Set = SP * 100; // Reading Potentiometer as a floating variable. Multiplied by 100 to give larger range
louismarr 12:1c821d6d50f9 188
louismarr 12:1c821d6d50f9 189 lcd.clear(); // clearing the LCD buffer at the begining of the loop
louismarr 12:1c821d6d50f9 190 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 191 char buffer[14]; // each character is 6 pixels wide, screen is 84 pixels (84/6 = 14 Max amound of Characters)
louismarr 13:70f02d5e56f5 192 Direction d = Joystick.get_direction();
louismarr 13:70f02d5e56f5 193 float B = 0;
louismarr 13:70f02d5e56f5 194 if (1){
louismarr 14:fa5f83f26ed7 195 float BP = d + 1;
louismarr 13:70f02d5e56f5 196 serial.printf("BP = i%",BP);
louismarr 13:70f02d5e56f5 197 } // Therefor strings csn not exceed the 14 Character Limit
louismarr 12:1c821d6d50f9 198
louismarr 12:1c821d6d50f9 199 int length = sprintf(buffer,"T=%.2F 'C",T); // print the temperature from the float variable T
louismarr 12:1c821d6d50f9 200 if (length <= 14) // Ensuring string will fit on the screen (Printing at x=0)
louismarr 12:1c821d6d50f9 201 lcd.printString(buffer,0,1); // display on screen
louismarr 12:1c821d6d50f9 202 serial.printf("T = %f C\n",T); // Printing the Temperature over Serial Port
louismarr 12:1c821d6d50f9 203
louismarr 12:1c821d6d50f9 204 length = sprintf(buffer,"SP=%.2F 'C",Set); // Print the Setpoint from the Float Variable Set
louismarr 12:1c821d6d50f9 205 if (length <= 14) // Ensuring string will fit on the screen (Printing at x=0)
louismarr 12:1c821d6d50f9 206 lcd.printString(buffer,0,2); // display on screen
louismarr 12:1c821d6d50f9 207 serial.printf(" SP = %f", Set); //
louismarr 13:70f02d5e56f5 208 lcd.refresh();
louismarr 13:70f02d5e56f5 209 wait(1);
louismarr 12:1c821d6d50f9 210 if (Set < T){ // Condition to change over into new loop
louismarr 12:1c821d6d50f9 211 lcd.clear(); // clearing the LCD buffer at the begining of the loop
louismarr 12:1c821d6d50f9 212 lcd.printString("Over Heating",3,2); // Print New Message
louismarr 12:1c821d6d50f9 213 serial.printf("OverTemp"); // Debugging Print
louismarr 13:70f02d5e56f5 214 lcd.refresh();
louismarr 13:70f02d5e56f5 215 wait(1);
louismarr 13:70f02d5e56f5 216 }
louismarr 14:fa5f83f26ed7 217
louismarr 12:1c821d6d50f9 218 }
louismarr 14:fa5f83f26ed7 219 void MenuNav()
louismarr 14:fa5f83f26ed7 220 {
louismarr 14:fa5f83f26ed7 221 lcd.clear();
louismarr 14:fa5f83f26ed7 222 lcd.refresh();
louismarr 14:fa5f83f26ed7 223
louismarr 14:fa5f83f26ed7 224 int select = 0;
louismarr 13:70f02d5e56f5 225 while (1){
louismarr 13:70f02d5e56f5 226
louismarr 14:fa5f83f26ed7 227
louismarr 13:70f02d5e56f5 228 //serial.printf("Direction = %i ",d);
louismarr 14:fa5f83f26ed7 229 Direction d = Joystick.get_direction();
louismarr 14:fa5f83f26ed7 230
louismarr 13:70f02d5e56f5 231 //while (1) {
louismarr 12:1c821d6d50f9 232 switch(select) {
louismarr 12:1c821d6d50f9 233 case 0:
louismarr 12:1c821d6d50f9 234 switch(d) {
louismarr 14:fa5f83f26ed7 235 case W:
louismarr 14:fa5f83f26ed7 236 wait(0.5);
louismarr 14:fa5f83f26ed7 237 select = 0;
louismarr 14:fa5f83f26ed7 238 serial.printf("LEFT.0");
louismarr 12:1c821d6d50f9 239 break;
louismarr 14:fa5f83f26ed7 240 case E:
louismarr 14:fa5f83f26ed7 241 wait(0.5);
louismarr 14:fa5f83f26ed7 242 select = 1;
louismarr 14:fa5f83f26ed7 243 serial.printf("RIGHT.0");
louismarr 12:1c821d6d50f9 244 break;
louismarr 12:1c821d6d50f9 245 }
louismarr 14:fa5f83f26ed7 246 break;
louismarr 12:1c821d6d50f9 247 case 1:
louismarr 12:1c821d6d50f9 248 switch(d) {
louismarr 14:fa5f83f26ed7 249 case W:
louismarr 14:fa5f83f26ed7 250 wait(0.5);
louismarr 14:fa5f83f26ed7 251 select = 0;
louismarr 14:fa5f83f26ed7 252 serial.printf("LEFT.1");
louismarr 12:1c821d6d50f9 253 break;
louismarr 14:fa5f83f26ed7 254 case E:
louismarr 14:fa5f83f26ed7 255 wait(0.5);
louismarr 14:fa5f83f26ed7 256 select = 2;
louismarr 14:fa5f83f26ed7 257 serial.printf("RIGHT.1");
louismarr 12:1c821d6d50f9 258 break;
louismarr 14:fa5f83f26ed7 259 }
louismarr 14:fa5f83f26ed7 260 break;
louismarr 12:1c821d6d50f9 261 case 2:
louismarr 12:1c821d6d50f9 262 switch(d) {
louismarr 14:fa5f83f26ed7 263 case W:
louismarr 14:fa5f83f26ed7 264 wait(0.5);
louismarr 14:fa5f83f26ed7 265 select = 1;
louismarr 14:fa5f83f26ed7 266 serial.printf("LEFT.2");
louismarr 12:1c821d6d50f9 267 break;
louismarr 14:fa5f83f26ed7 268 case E:
louismarr 14:fa5f83f26ed7 269 wait(0.5);
louismarr 14:fa5f83f26ed7 270 select = 2;
louismarr 14:fa5f83f26ed7 271 serial.printf("RIGHT.2");
louismarr 12:1c821d6d50f9 272 break;
louismarr 14:fa5f83f26ed7 273 }
louismarr 14:fa5f83f26ed7 274 break;
louismarr 12:1c821d6d50f9 275 }
louismarr 14:fa5f83f26ed7 276 wait(0.1);
louismarr 12:1c821d6d50f9 277
louismarr 12:1c821d6d50f9 278 if (select == 0){
louismarr 12:1c821d6d50f9 279 lcd.clear(); // Clear Screen
louismarr 14:fa5f83f26ed7 280 serial.printf("WelcomeMENU");
louismarr 14:fa5f83f26ed7 281 lcd.printString(" Navigate >",0,0);
louismarr 14:fa5f83f26ed7 282 lcd.printString(" Welcome ",0,2); // Print Information Screen
louismarr 14:fa5f83f26ed7 283 lcd.printString(" Main ",0,3);
louismarr 14:fa5f83f26ed7 284 lcd.printString(" Menu ",0,4);
louismarr 14:fa5f83f26ed7 285 lcd.printString(" Y for Info ",0,5);
louismarr 14:fa5f83f26ed7 286 lcd.refresh();
louismarr 14:fa5f83f26ed7 287 wait(1);
louismarr 14:fa5f83f26ed7 288 }
louismarr 14:fa5f83f26ed7 289 if (g_Y_flag){ // Condition to change over into new loop
louismarr 14:fa5f83f26ed7 290 g_Y_flag = 0; // When the R Flag has been pressed
louismarr 14:fa5f83f26ed7 291 Y.rise(&Y_isr);
louismarr 14:fa5f83f26ed7 292 serial.printf("Y Pressed");
louismarr 14:fa5f83f26ed7 293 info();
louismarr 12:1c821d6d50f9 294 }
louismarr 14:fa5f83f26ed7 295
louismarr 14:fa5f83f26ed7 296 if (select == 1){
louismarr 12:1c821d6d50f9 297 Page1();
louismarr 14:fa5f83f26ed7 298 if (g_A_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 299 g_A_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 300 A.rise(&A_isr);
louismarr 13:70f02d5e56f5 301 serial.printf("A Pressed");
louismarr 14:fa5f83f26ed7 302 temp_SP();
louismarr 12:1c821d6d50f9 303 }
louismarr 14:fa5f83f26ed7 304 }
louismarr 14:fa5f83f26ed7 305
louismarr 14:fa5f83f26ed7 306 if (select == 2){
louismarr 12:1c821d6d50f9 307 Page2();
louismarr 14:fa5f83f26ed7 308 if (g_A_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 309 g_A_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 310 A.rise(&A_isr);
louismarr 14:fa5f83f26ed7 311 serial.printf("Y Pressed");
louismarr 14:fa5f83f26ed7 312 info();
louismarr 14:fa5f83f26ed7 313 }
louismarr 12:1c821d6d50f9 314 }
louismarr 12:1c821d6d50f9 315 }
louismarr 14:fa5f83f26ed7 316 }
louismarr 14:fa5f83f26ed7 317
louismarr 13:70f02d5e56f5 318 void Menu()
louismarr 13:70f02d5e56f5 319 {
louismarr 13:70f02d5e56f5 320 if (g_R_flag){ // Condition to change over into new loop
louismarr 13:70f02d5e56f5 321 g_R_flag = 0; // When the R Flag has been pressed
louismarr 13:70f02d5e56f5 322 R.rise(&R_isr);
louismarr 13:70f02d5e56f5 323
louismarr 13:70f02d5e56f5 324 lcd.clear(); // Clear Screen
louismarr 13:70f02d5e56f5 325 serial.printf("Welcome");
louismarr 13:70f02d5e56f5 326 lcd.printString(" Welcome ",0,1); // Print Information Screen
louismarr 13:70f02d5e56f5 327 lcd.printString("Main Menu",0,3);
louismarr 13:70f02d5e56f5 328 lcd.printString("Page Down",0,5);
louismarr 13:70f02d5e56f5 329 lcd.refresh();
louismarr 13:70f02d5e56f5 330 wait(1);
louismarr 13:70f02d5e56f5 331 }
louismarr 13:70f02d5e56f5 332 }
louismarr 13:70f02d5e56f5 333 /*void BP()
louismarr 13:70f02d5e56f5 334 {
louismarr 13:70f02d5e56f5 335 Direction d = Joystick.get_direction();
louismarr 13:70f02d5e56f5 336 float BP = 0;
louismarr 13:70f02d5e56f5 337 if (d = 1){
louismarr 13:70f02d5e56f5 338 BP + 1;
louismarr 13:70f02d5e56f5 339 serial.printf("BP = i%",BP);
louismarr 13:70f02d5e56f5 340 }
louismarr 14:fa5f83f26ed7 341 */