Moon Buggy Data Centre Code

Dependencies:   TextLCD mbed

Committer:
JamieGibson
Date:
Thu Dec 10 15:11:15 2015 +0000
Revision:
0:ae0ffaee1fc0
Moon Buggy Data Centre Code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JamieGibson 0:ae0ffaee1fc0 1 #include "mbed.h" //MASTER
JamieGibson 0:ae0ffaee1fc0 2 #include "TextLCD.h"
JamieGibson 0:ae0ffaee1fc0 3
JamieGibson 0:ae0ffaee1fc0 4 TextLCD lcd(p19, p20, p21, p22, p23, p24, TextLCD::LCD20x4); // rs, e, d4-d7
JamieGibson 0:ae0ffaee1fc0 5 I2C i2c_port(p28, p27); // Configure a serial port, pins 9 and 10 are sda,scl
JamieGibson 0:ae0ffaee1fc0 6 Serial async_port(p9, p10); //set up TX and RX on pins 13 and 14
JamieGibson 0:ae0ffaee1fc0 7 SPISlave ser_port(p5, p6, p7, p8); // mosi, miso, sclk
JamieGibson 0:ae0ffaee1fc0 8 DigitalOut Front(LED1);
JamieGibson 0:ae0ffaee1fc0 9 DigitalOut Right(LED2);
JamieGibson 0:ae0ffaee1fc0 10 DigitalOut Back(LED3);
JamieGibson 0:ae0ffaee1fc0 11 DigitalOut Left(LED4);
JamieGibson 0:ae0ffaee1fc0 12
JamieGibson 0:ae0ffaee1fc0 13 char switch_word; //word we will send
JamieGibson 0:ae0ffaee1fc0 14 char recd_val; //value from async
JamieGibson 0:ae0ffaee1fc0 15 char recd_val1; //value from from Obstacle sensing
JamieGibson 0:ae0ffaee1fc0 16 const int addr = 0x52; // define the I2C slave address, an arbitrary even number
JamieGibson 0:ae0ffaee1fc0 17 int Ob_R;
JamieGibson 0:ae0ffaee1fc0 18 int Ob_L;
JamieGibson 0:ae0ffaee1fc0 19 int Ob_F;
JamieGibson 0:ae0ffaee1fc0 20 int Ob_All;
JamieGibson 0:ae0ffaee1fc0 21 int Ob_None;
JamieGibson 0:ae0ffaee1fc0 22 int Ob_FR;
JamieGibson 0:ae0ffaee1fc0 23 int Ob_FL;
JamieGibson 0:ae0ffaee1fc0 24 int Light_Full;
JamieGibson 0:ae0ffaee1fc0 25 int Light_None;
JamieGibson 0:ae0ffaee1fc0 26 int Light_F;
JamieGibson 0:ae0ffaee1fc0 27 int Light_FR;
JamieGibson 0:ae0ffaee1fc0 28 int Light_R;
JamieGibson 0:ae0ffaee1fc0 29 int Light_BR;
JamieGibson 0:ae0ffaee1fc0 30 int Light_B;
JamieGibson 0:ae0ffaee1fc0 31 int Light_BL;
JamieGibson 0:ae0ffaee1fc0 32 int Light_L;
JamieGibson 0:ae0ffaee1fc0 33 int Light_FL;
JamieGibson 0:ae0ffaee1fc0 34
JamieGibson 0:ae0ffaee1fc0 35 int main()
JamieGibson 0:ae0ffaee1fc0 36 {
JamieGibson 0:ae0ffaee1fc0 37 lcd.cls();
JamieGibson 0:ae0ffaee1fc0 38 lcd.locate(2,0);
JamieGibson 0:ae0ffaee1fc0 39 lcd.printf("Moon Buggy!");
JamieGibson 0:ae0ffaee1fc0 40
JamieGibson 0:ae0ffaee1fc0 41 async_port.baud(9600); //set baud rate to 9600 (ie default)
JamieGibson 0:ae0ffaee1fc0 42
JamieGibson 0:ae0ffaee1fc0 43 ser_port.format(8,0);
JamieGibson 0:ae0ffaee1fc0 44 ser_port.frequency(4000000);
JamieGibson 0:ae0ffaee1fc0 45
JamieGibson 0:ae0ffaee1fc0 46 while(1)
JamieGibson 0:ae0ffaee1fc0 47 {
JamieGibson 0:ae0ffaee1fc0 48 Front=0; //preset both to 0
JamieGibson 0:ae0ffaee1fc0 49 Right=0;
JamieGibson 0:ae0ffaee1fc0 50 Back=0;
JamieGibson 0:ae0ffaee1fc0 51 Left=0;
JamieGibson 0:ae0ffaee1fc0 52 Ob_FR=0;
JamieGibson 0:ae0ffaee1fc0 53 Ob_FL=0;
JamieGibson 0:ae0ffaee1fc0 54 Ob_F=0;
JamieGibson 0:ae0ffaee1fc0 55 Ob_R=0;
JamieGibson 0:ae0ffaee1fc0 56 Ob_L=0;
JamieGibson 0:ae0ffaee1fc0 57 Ob_All=0;
JamieGibson 0:ae0ffaee1fc0 58 Ob_None=0;
JamieGibson 0:ae0ffaee1fc0 59 Light_Full=0;
JamieGibson 0:ae0ffaee1fc0 60 Light_None=0;
JamieGibson 0:ae0ffaee1fc0 61 Light_F=0;
JamieGibson 0:ae0ffaee1fc0 62 Light_FR=0;
JamieGibson 0:ae0ffaee1fc0 63 Light_R=0;
JamieGibson 0:ae0ffaee1fc0 64 Light_BR=0;
JamieGibson 0:ae0ffaee1fc0 65 Light_B=0;
JamieGibson 0:ae0ffaee1fc0 66 Light_BL=0;
JamieGibson 0:ae0ffaee1fc0 67 Light_L=0;
JamieGibson 0:ae0ffaee1fc0 68 Light_FL=0;
JamieGibson 0:ae0ffaee1fc0 69
JamieGibson 0:ae0ffaee1fc0 70 //Block 1 Receive Obstacle Data and Set Flags
JamieGibson 0:ae0ffaee1fc0 71
JamieGibson 0:ae0ffaee1fc0 72 if(ser_port.receive()) //test if data transfer has occurred
JamieGibson 0:ae0ffaee1fc0 73 recd_val1 = ser_port.read(); // Read byte from master
JamieGibson 0:ae0ffaee1fc0 74 recd_val1=recd_val1&0x0F;
JamieGibson 0:ae0ffaee1fc0 75
JamieGibson 0:ae0ffaee1fc0 76 if (recd_val1==1)
JamieGibson 0:ae0ffaee1fc0 77 {
JamieGibson 0:ae0ffaee1fc0 78 Ob_F=1;
JamieGibson 0:ae0ffaee1fc0 79 lcd.locate(-4,3);
JamieGibson 0:ae0ffaee1fc0 80 lcd.printf("Obstacle Ahead");
JamieGibson 0:ae0ffaee1fc0 81 }
JamieGibson 0:ae0ffaee1fc0 82 if (recd_val1==2)
JamieGibson 0:ae0ffaee1fc0 83 {
JamieGibson 0:ae0ffaee1fc0 84 Ob_R=1;
JamieGibson 0:ae0ffaee1fc0 85 lcd.locate(-4,3);
JamieGibson 0:ae0ffaee1fc0 86 lcd.printf("Obstacle Right");
JamieGibson 0:ae0ffaee1fc0 87 }
JamieGibson 0:ae0ffaee1fc0 88 if (recd_val1==3)
JamieGibson 0:ae0ffaee1fc0 89 {
JamieGibson 0:ae0ffaee1fc0 90 Ob_L=1;
JamieGibson 0:ae0ffaee1fc0 91 lcd.locate(-4,3);
JamieGibson 0:ae0ffaee1fc0 92 lcd.printf("Obstacle Left ");
JamieGibson 0:ae0ffaee1fc0 93 }
JamieGibson 0:ae0ffaee1fc0 94 if (recd_val1==4)
JamieGibson 0:ae0ffaee1fc0 95 {
JamieGibson 0:ae0ffaee1fc0 96 Ob_All=1;
JamieGibson 0:ae0ffaee1fc0 97 lcd.locate(-4,3);
JamieGibson 0:ae0ffaee1fc0 98 lcd.printf("All Obstacles ");
JamieGibson 0:ae0ffaee1fc0 99 }
JamieGibson 0:ae0ffaee1fc0 100 if (recd_val1==5)
JamieGibson 0:ae0ffaee1fc0 101 {
JamieGibson 0:ae0ffaee1fc0 102 Ob_FR=1;
JamieGibson 0:ae0ffaee1fc0 103 lcd.locate(-4,3);
JamieGibson 0:ae0ffaee1fc0 104 lcd.printf("Obstacles FR ");
JamieGibson 0:ae0ffaee1fc0 105 }
JamieGibson 0:ae0ffaee1fc0 106 if (recd_val1==6)
JamieGibson 0:ae0ffaee1fc0 107 {
JamieGibson 0:ae0ffaee1fc0 108 Ob_FL=1;
JamieGibson 0:ae0ffaee1fc0 109 lcd.locate(-4,3);
JamieGibson 0:ae0ffaee1fc0 110 lcd.printf("Obstacles FL ");
JamieGibson 0:ae0ffaee1fc0 111 }
JamieGibson 0:ae0ffaee1fc0 112 if (recd_val1==0)
JamieGibson 0:ae0ffaee1fc0 113 {
JamieGibson 0:ae0ffaee1fc0 114 Ob_None=1;
JamieGibson 0:ae0ffaee1fc0 115 lcd.locate(-4,3);
JamieGibson 0:ae0ffaee1fc0 116 lcd.printf("No Obstacle ");
JamieGibson 0:ae0ffaee1fc0 117 }
JamieGibson 0:ae0ffaee1fc0 118
JamieGibson 0:ae0ffaee1fc0 119 //Block 2 Receive Light Data and Set Flags
JamieGibson 0:ae0ffaee1fc0 120 if(async_port.readable()==1) //is there a character to be read?
JamieGibson 0:ae0ffaee1fc0 121 recd_val=async_port.getc(); //if yes, then read it
JamieGibson 0:ae0ffaee1fc0 122 recd_val=recd_val&0x0f; //AND out unwanted bits
JamieGibson 0:ae0ffaee1fc0 123
JamieGibson 0:ae0ffaee1fc0 124 if(recd_val==0)
JamieGibson 0:ae0ffaee1fc0 125 {
JamieGibson 0:ae0ffaee1fc0 126 Front=0;
JamieGibson 0:ae0ffaee1fc0 127 Right=0;
JamieGibson 0:ae0ffaee1fc0 128 Back=0;
JamieGibson 0:ae0ffaee1fc0 129 Left=0;
JamieGibson 0:ae0ffaee1fc0 130 Light_None=1;
JamieGibson 0:ae0ffaee1fc0 131 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 132 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 133 lcd.printf("No Light ");
JamieGibson 0:ae0ffaee1fc0 134 }
JamieGibson 0:ae0ffaee1fc0 135 if(recd_val==9)
JamieGibson 0:ae0ffaee1fc0 136 {
JamieGibson 0:ae0ffaee1fc0 137 Front=1;
JamieGibson 0:ae0ffaee1fc0 138 Right=1;
JamieGibson 0:ae0ffaee1fc0 139 Back=1;
JamieGibson 0:ae0ffaee1fc0 140 Left=1;
JamieGibson 0:ae0ffaee1fc0 141 Light_Full=1;
JamieGibson 0:ae0ffaee1fc0 142 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 143 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 144 lcd.printf("Full Light ");
JamieGibson 0:ae0ffaee1fc0 145 }
JamieGibson 0:ae0ffaee1fc0 146 if(recd_val==1)
JamieGibson 0:ae0ffaee1fc0 147 {
JamieGibson 0:ae0ffaee1fc0 148 Front=1;
JamieGibson 0:ae0ffaee1fc0 149 Light_F=1;
JamieGibson 0:ae0ffaee1fc0 150 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 151 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 152 lcd.printf("Light Detected");
JamieGibson 0:ae0ffaee1fc0 153 lcd.locate(0,2);
JamieGibson 0:ae0ffaee1fc0 154 lcd.printf(" Front ");
JamieGibson 0:ae0ffaee1fc0 155 }
JamieGibson 0:ae0ffaee1fc0 156 if(recd_val==2)
JamieGibson 0:ae0ffaee1fc0 157 {
JamieGibson 0:ae0ffaee1fc0 158 Front=1;
JamieGibson 0:ae0ffaee1fc0 159 Right=1;
JamieGibson 0:ae0ffaee1fc0 160 Light_FR=1;
JamieGibson 0:ae0ffaee1fc0 161 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 162 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 163 lcd.printf("Light Detected");
JamieGibson 0:ae0ffaee1fc0 164 lcd.locate(0,2);
JamieGibson 0:ae0ffaee1fc0 165 lcd.printf("Front-Right");
JamieGibson 0:ae0ffaee1fc0 166 }
JamieGibson 0:ae0ffaee1fc0 167 if(recd_val==3)
JamieGibson 0:ae0ffaee1fc0 168 {
JamieGibson 0:ae0ffaee1fc0 169 Right=1;
JamieGibson 0:ae0ffaee1fc0 170 Light_R=1;
JamieGibson 0:ae0ffaee1fc0 171 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 172 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 173 lcd.printf("Light Detected");
JamieGibson 0:ae0ffaee1fc0 174 lcd.locate(0,2);
JamieGibson 0:ae0ffaee1fc0 175 lcd.printf(" Right ");
JamieGibson 0:ae0ffaee1fc0 176 }
JamieGibson 0:ae0ffaee1fc0 177 if(recd_val==4)
JamieGibson 0:ae0ffaee1fc0 178 {
JamieGibson 0:ae0ffaee1fc0 179 Back=1;
JamieGibson 0:ae0ffaee1fc0 180 Right=1;
JamieGibson 0:ae0ffaee1fc0 181 Light_BR=1;
JamieGibson 0:ae0ffaee1fc0 182 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 183 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 184 lcd.printf("Light Detected");
JamieGibson 0:ae0ffaee1fc0 185 lcd.locate(0,2);
JamieGibson 0:ae0ffaee1fc0 186 lcd.printf("Back-Right");
JamieGibson 0:ae0ffaee1fc0 187 }
JamieGibson 0:ae0ffaee1fc0 188 if(recd_val==5)
JamieGibson 0:ae0ffaee1fc0 189 {
JamieGibson 0:ae0ffaee1fc0 190 Back=1;
JamieGibson 0:ae0ffaee1fc0 191 Light_B=1;
JamieGibson 0:ae0ffaee1fc0 192 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 193 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 194 lcd.printf("Light Detected");
JamieGibson 0:ae0ffaee1fc0 195 lcd.locate(0,2);
JamieGibson 0:ae0ffaee1fc0 196 lcd.printf(" Back ");
JamieGibson 0:ae0ffaee1fc0 197 }
JamieGibson 0:ae0ffaee1fc0 198 if(recd_val==6)
JamieGibson 0:ae0ffaee1fc0 199 {
JamieGibson 0:ae0ffaee1fc0 200 Back=1;
JamieGibson 0:ae0ffaee1fc0 201 Left=1;
JamieGibson 0:ae0ffaee1fc0 202 Light_BL=1;
JamieGibson 0:ae0ffaee1fc0 203 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 204 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 205 lcd.printf("Light Detected");
JamieGibson 0:ae0ffaee1fc0 206 lcd.locate(0,2);
JamieGibson 0:ae0ffaee1fc0 207 lcd.printf("Back-Left");
JamieGibson 0:ae0ffaee1fc0 208 }
JamieGibson 0:ae0ffaee1fc0 209 if(recd_val==7)
JamieGibson 0:ae0ffaee1fc0 210 {
JamieGibson 0:ae0ffaee1fc0 211 Left=1;
JamieGibson 0:ae0ffaee1fc0 212 Light_L=1;
JamieGibson 0:ae0ffaee1fc0 213 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 214 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 215 lcd.printf("Light Detected");
JamieGibson 0:ae0ffaee1fc0 216 lcd.locate(0,2);
JamieGibson 0:ae0ffaee1fc0 217 lcd.printf(" Left ");
JamieGibson 0:ae0ffaee1fc0 218 }
JamieGibson 0:ae0ffaee1fc0 219 if(recd_val==8)
JamieGibson 0:ae0ffaee1fc0 220 {
JamieGibson 0:ae0ffaee1fc0 221 Front=1;
JamieGibson 0:ae0ffaee1fc0 222 Left=1;
JamieGibson 0:ae0ffaee1fc0 223 Light_FL=1;
JamieGibson 0:ae0ffaee1fc0 224 //wait(0.5);
JamieGibson 0:ae0ffaee1fc0 225 lcd.locate(0,1);
JamieGibson 0:ae0ffaee1fc0 226 lcd.printf("Light Detected");
JamieGibson 0:ae0ffaee1fc0 227 lcd.locate(0,2);
JamieGibson 0:ae0ffaee1fc0 228 lcd.printf("Front-Left");
JamieGibson 0:ae0ffaee1fc0 229 }
JamieGibson 0:ae0ffaee1fc0 230
JamieGibson 0:ae0ffaee1fc0 231 //Block 3 Compare Flags and Set Command
JamieGibson 0:ae0ffaee1fc0 232 switch_word=0xf0;
JamieGibson 0:ae0ffaee1fc0 233 if(Light_F==1)
JamieGibson 0:ae0ffaee1fc0 234 {
JamieGibson 0:ae0ffaee1fc0 235 if(Ob_FR==1 || Ob_F==1)
JamieGibson 0:ae0ffaee1fc0 236 {
JamieGibson 0:ae0ffaee1fc0 237 //Go Left
JamieGibson 0:ae0ffaee1fc0 238 switch_word=switch_word|0x07;
JamieGibson 0:ae0ffaee1fc0 239 }
JamieGibson 0:ae0ffaee1fc0 240 if(Ob_FL==1)
JamieGibson 0:ae0ffaee1fc0 241 {
JamieGibson 0:ae0ffaee1fc0 242 //Go Right
JamieGibson 0:ae0ffaee1fc0 243 switch_word=switch_word|0x03;
JamieGibson 0:ae0ffaee1fc0 244 }
JamieGibson 0:ae0ffaee1fc0 245 if(Ob_All==1)
JamieGibson 0:ae0ffaee1fc0 246 {
JamieGibson 0:ae0ffaee1fc0 247 //Go Back
JamieGibson 0:ae0ffaee1fc0 248 switch_word=switch_word|0x05;
JamieGibson 0:ae0ffaee1fc0 249 }
JamieGibson 0:ae0ffaee1fc0 250 if(Ob_None==1 || Ob_R==1 || Ob_L==1)
JamieGibson 0:ae0ffaee1fc0 251 {
JamieGibson 0:ae0ffaee1fc0 252 //Go Front
JamieGibson 0:ae0ffaee1fc0 253 switch_word=switch_word|0x01;
JamieGibson 0:ae0ffaee1fc0 254 }
JamieGibson 0:ae0ffaee1fc0 255 }
JamieGibson 0:ae0ffaee1fc0 256 if(Light_R==1)
JamieGibson 0:ae0ffaee1fc0 257 {
JamieGibson 0:ae0ffaee1fc0 258 if(Ob_R==1)
JamieGibson 0:ae0ffaee1fc0 259 {
JamieGibson 0:ae0ffaee1fc0 260 //Go Front
JamieGibson 0:ae0ffaee1fc0 261 switch_word=switch_word|0x01;
JamieGibson 0:ae0ffaee1fc0 262 }
JamieGibson 0:ae0ffaee1fc0 263 if(Ob_FR==1)
JamieGibson 0:ae0ffaee1fc0 264 {
JamieGibson 0:ae0ffaee1fc0 265 //Go Left
JamieGibson 0:ae0ffaee1fc0 266 switch_word=switch_word|0x07;
JamieGibson 0:ae0ffaee1fc0 267 }
JamieGibson 0:ae0ffaee1fc0 268 if(Ob_All==1)
JamieGibson 0:ae0ffaee1fc0 269 {
JamieGibson 0:ae0ffaee1fc0 270 //Go Back
JamieGibson 0:ae0ffaee1fc0 271 switch_word=switch_word|0x05;
JamieGibson 0:ae0ffaee1fc0 272 }
JamieGibson 0:ae0ffaee1fc0 273 if(Ob_None==1 || Ob_L==1 || Ob_F==1 ||Ob_FL==1)
JamieGibson 0:ae0ffaee1fc0 274 {
JamieGibson 0:ae0ffaee1fc0 275 //Go Right
JamieGibson 0:ae0ffaee1fc0 276 switch_word=switch_word|0x03;
JamieGibson 0:ae0ffaee1fc0 277 }
JamieGibson 0:ae0ffaee1fc0 278 }
JamieGibson 0:ae0ffaee1fc0 279 if(Light_L==1)
JamieGibson 0:ae0ffaee1fc0 280 {
JamieGibson 0:ae0ffaee1fc0 281 if(Ob_L==1)
JamieGibson 0:ae0ffaee1fc0 282 {
JamieGibson 0:ae0ffaee1fc0 283 //Go Front
JamieGibson 0:ae0ffaee1fc0 284 switch_word=switch_word|0x01;
JamieGibson 0:ae0ffaee1fc0 285 }
JamieGibson 0:ae0ffaee1fc0 286 if(Ob_FL==1)
JamieGibson 0:ae0ffaee1fc0 287 {
JamieGibson 0:ae0ffaee1fc0 288 //Go Right
JamieGibson 0:ae0ffaee1fc0 289 switch_word=switch_word|0x03;
JamieGibson 0:ae0ffaee1fc0 290 }
JamieGibson 0:ae0ffaee1fc0 291 if(Ob_All==1)
JamieGibson 0:ae0ffaee1fc0 292 {
JamieGibson 0:ae0ffaee1fc0 293 //Go Back
JamieGibson 0:ae0ffaee1fc0 294 switch_word=switch_word|0x05;
JamieGibson 0:ae0ffaee1fc0 295 }
JamieGibson 0:ae0ffaee1fc0 296 if(Ob_None==1 || Ob_R==1 || Ob_F==1 ||Ob_FR==1)
JamieGibson 0:ae0ffaee1fc0 297 {
JamieGibson 0:ae0ffaee1fc0 298 //Go Left
JamieGibson 0:ae0ffaee1fc0 299 switch_word=switch_word|0x07;
JamieGibson 0:ae0ffaee1fc0 300 }
JamieGibson 0:ae0ffaee1fc0 301 }
JamieGibson 0:ae0ffaee1fc0 302 if(Light_B==1)
JamieGibson 0:ae0ffaee1fc0 303 {
JamieGibson 0:ae0ffaee1fc0 304 //Go Back
JamieGibson 0:ae0ffaee1fc0 305 switch_word=switch_word|0x05;
JamieGibson 0:ae0ffaee1fc0 306 }
JamieGibson 0:ae0ffaee1fc0 307 if(Light_Full==1)
JamieGibson 0:ae0ffaee1fc0 308 {
JamieGibson 0:ae0ffaee1fc0 309 //Stop
JamieGibson 0:ae0ffaee1fc0 310 switch_word=switch_word|0x09;
JamieGibson 0:ae0ffaee1fc0 311 }
JamieGibson 0:ae0ffaee1fc0 312 if(Light_None==1)
JamieGibson 0:ae0ffaee1fc0 313 {
JamieGibson 0:ae0ffaee1fc0 314 //Stop
JamieGibson 0:ae0ffaee1fc0 315 switch_word=switch_word|0x00;
JamieGibson 0:ae0ffaee1fc0 316 }
JamieGibson 0:ae0ffaee1fc0 317
JamieGibson 0:ae0ffaee1fc0 318 //Block 4 Send Command to Locomotion
JamieGibson 0:ae0ffaee1fc0 319 i2c_port.start(); //force a start condition
JamieGibson 0:ae0ffaee1fc0 320 i2c_port.write(addr); //send the address
JamieGibson 0:ae0ffaee1fc0 321 i2c_port.write(switch_word); //send one byte of data, ie recd_val
JamieGibson 0:ae0ffaee1fc0 322 i2c_port.stop(); //force a stop condition
JamieGibson 0:ae0ffaee1fc0 323 wait(0.00000002);
JamieGibson 0:ae0ffaee1fc0 324 }
JamieGibson 0:ae0ffaee1fc0 325 }