Engine control program with 3 engines Needs to make a case for each simultaneous engine setting, because of the WAIT after each number of bits have been sent.

Dependencies:   mbed-rtos mbed PinDetect

Fork of FinalMotorControl by Robot Bachelor

Committer:
mjhaugsdal
Date:
Tue May 03 12:27:31 2016 +0000
Revision:
19:79600d3509d7
Parent:
18:ef02a9014491
Child:
20:d90bd1718078
Testing for prototype. Streamlined keys to fit the keypad on the keyboard.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rlanghbv 0:bd78e433db61 1 #include "mbed.h"
mjhaugsdal 1:a3287196a9b3 2 #include "rtos.h"
rlanghbv 0:bd78e433db61 3
rlanghbv 2:25bcc26f7a5b 4 Serial pc(USBTX, USBRX); // tx, rx
rlanghbv 0:bd78e433db61 5
mjhaugsdal 1:a3287196a9b3 6 //Analog Pins
mjhaugsdal 5:fdc7a779d525 7 //First engine
mjhaugsdal 5:fdc7a779d525 8 DigitalOut IN1(A0);
mjhaugsdal 5:fdc7a779d525 9 DigitalOut IN2(A1);
mjhaugsdal 5:fdc7a779d525 10 DigitalOut IN3(A2);
mjhaugsdal 5:fdc7a779d525 11 DigitalOut IN4(A3);
mjhaugsdal 5:fdc7a779d525 12 //Second engine
mjhaugsdal 6:ac5d277bd497 13 DigitalOut IN5(D3);
mjhaugsdal 6:ac5d277bd497 14 DigitalOut IN6(D4);
mjhaugsdal 6:ac5d277bd497 15 DigitalOut IN7(D5);
mjhaugsdal 6:ac5d277bd497 16 DigitalOut IN8(D6);
mjhaugsdal 16:a3555918c025 17 //Third Engine
mjhaugsdal 16:a3555918c025 18 DigitalOut IN9(D8);
mjhaugsdal 16:a3555918c025 19 DigitalOut IN10(D9);
mjhaugsdal 16:a3555918c025 20 DigitalOut IN11(D10);
mjhaugsdal 16:a3555918c025 21 DigitalOut IN12(D11);
mjhaugsdal 5:fdc7a779d525 22
rlanghbv 0:bd78e433db61 23
mjhaugsdal 1:a3287196a9b3 24 static int fart = 1000;
mjhaugsdal 3:15be78948724 25 static char m_cmd = 'x';
rlanghbv 0:bd78e433db61 26
rlanghbv 0:bd78e433db61 27
mjhaugsdal 5:fdc7a779d525 28
mjhaugsdal 17:ff0021c4dcdc 29 void stepAllRight()
rlanghbv 0:bd78e433db61 30 {
mjhaugsdal 6:ac5d277bd497 31 //engine 1
rlanghbv 0:bd78e433db61 32 IN1=0;
rlanghbv 0:bd78e433db61 33 IN2=1;
rlanghbv 0:bd78e433db61 34 IN3=0;
rlanghbv 0:bd78e433db61 35 IN4=1;
mjhaugsdal 6:ac5d277bd497 36 //engine 2
mjhaugsdal 6:ac5d277bd497 37 IN5=0;
mjhaugsdal 6:ac5d277bd497 38 IN6=1;
mjhaugsdal 6:ac5d277bd497 39 IN7=0;
mjhaugsdal 6:ac5d277bd497 40 IN8=1;
mjhaugsdal 17:ff0021c4dcdc 41 //engine 3
mjhaugsdal 17:ff0021c4dcdc 42 IN9=0;
mjhaugsdal 17:ff0021c4dcdc 43 IN10=1;
mjhaugsdal 17:ff0021c4dcdc 44 IN11=0;
mjhaugsdal 17:ff0021c4dcdc 45 IN12=1;
mjhaugsdal 1:a3287196a9b3 46 wait_us(fart); //legg som global variabel "fart"
mjhaugsdal 6:ac5d277bd497 47 //engine 1
rlanghbv 0:bd78e433db61 48 IN1=0;
rlanghbv 0:bd78e433db61 49 IN2=1;
rlanghbv 0:bd78e433db61 50 IN3=1;
rlanghbv 0:bd78e433db61 51 IN4=0;
mjhaugsdal 6:ac5d277bd497 52 //engine 2
mjhaugsdal 6:ac5d277bd497 53 IN5=0;
mjhaugsdal 6:ac5d277bd497 54 IN6=1;
mjhaugsdal 6:ac5d277bd497 55 IN7=1;
mjhaugsdal 6:ac5d277bd497 56 IN8=0;
mjhaugsdal 17:ff0021c4dcdc 57 //engine 3
mjhaugsdal 17:ff0021c4dcdc 58 IN9=0;
mjhaugsdal 17:ff0021c4dcdc 59 IN10=1;
mjhaugsdal 17:ff0021c4dcdc 60 IN11=1;
mjhaugsdal 17:ff0021c4dcdc 61 IN12=0;
mjhaugsdal 1:a3287196a9b3 62 wait_us(fart);
mjhaugsdal 6:ac5d277bd497 63 //engine 1
rlanghbv 0:bd78e433db61 64 IN1=1;
rlanghbv 0:bd78e433db61 65 IN2=0;
rlanghbv 0:bd78e433db61 66 IN3=1;
rlanghbv 0:bd78e433db61 67 IN4=0;
mjhaugsdal 6:ac5d277bd497 68 //engine 2
mjhaugsdal 6:ac5d277bd497 69 IN5=1;
mjhaugsdal 6:ac5d277bd497 70 IN6=0;
mjhaugsdal 6:ac5d277bd497 71 IN7=1;
mjhaugsdal 6:ac5d277bd497 72 IN8=0;
mjhaugsdal 17:ff0021c4dcdc 73 //engine 3
mjhaugsdal 17:ff0021c4dcdc 74 IN9=1;
mjhaugsdal 17:ff0021c4dcdc 75 IN10=0;
mjhaugsdal 17:ff0021c4dcdc 76 IN11=1;
mjhaugsdal 17:ff0021c4dcdc 77 IN12=0;
mjhaugsdal 1:a3287196a9b3 78 wait_us(fart);
mjhaugsdal 6:ac5d277bd497 79 //engine 1
rlanghbv 0:bd78e433db61 80 IN1=1;
rlanghbv 0:bd78e433db61 81 IN2=0;
rlanghbv 0:bd78e433db61 82 IN3=0;
rlanghbv 0:bd78e433db61 83 IN4=1;
mjhaugsdal 6:ac5d277bd497 84 //engine 2
mjhaugsdal 6:ac5d277bd497 85 IN5=1;
mjhaugsdal 6:ac5d277bd497 86 IN6=0;
mjhaugsdal 6:ac5d277bd497 87 IN7=0;
mjhaugsdal 6:ac5d277bd497 88 IN8=1;
mjhaugsdal 17:ff0021c4dcdc 89 //engine 3
mjhaugsdal 17:ff0021c4dcdc 90 IN9=1;
mjhaugsdal 17:ff0021c4dcdc 91 IN10=0;
mjhaugsdal 17:ff0021c4dcdc 92 IN11=0;
mjhaugsdal 17:ff0021c4dcdc 93 IN12=1;
mjhaugsdal 1:a3287196a9b3 94 wait_us(fart);
rlanghbv 0:bd78e433db61 95 }
mjhaugsdal 17:ff0021c4dcdc 96 void stepAllLeft()
rlanghbv 0:bd78e433db61 97 {
mjhaugsdal 6:ac5d277bd497 98 //engine 1
rlanghbv 0:bd78e433db61 99 IN1=1;
rlanghbv 0:bd78e433db61 100 IN2=0;
rlanghbv 0:bd78e433db61 101 IN3=0;
rlanghbv 0:bd78e433db61 102 IN4=1;
mjhaugsdal 6:ac5d277bd497 103 //engine 2
mjhaugsdal 6:ac5d277bd497 104 IN5=1;
mjhaugsdal 6:ac5d277bd497 105 IN6=0;
mjhaugsdal 6:ac5d277bd497 106 IN7=0;
mjhaugsdal 6:ac5d277bd497 107 IN8=1;
mjhaugsdal 17:ff0021c4dcdc 108 //engine 3
mjhaugsdal 17:ff0021c4dcdc 109 IN9=1;
mjhaugsdal 17:ff0021c4dcdc 110 IN10=0;
mjhaugsdal 17:ff0021c4dcdc 111 IN11=0;
mjhaugsdal 17:ff0021c4dcdc 112 IN12=1;
mjhaugsdal 1:a3287196a9b3 113 wait_us(fart);
mjhaugsdal 6:ac5d277bd497 114 //engine 1
rlanghbv 0:bd78e433db61 115 IN1=1;
rlanghbv 0:bd78e433db61 116 IN2=0;
rlanghbv 0:bd78e433db61 117 IN3=1;
rlanghbv 0:bd78e433db61 118 IN4=0;
mjhaugsdal 6:ac5d277bd497 119 //engine 2
mjhaugsdal 6:ac5d277bd497 120 IN5=1;
mjhaugsdal 6:ac5d277bd497 121 IN6=0;
mjhaugsdal 6:ac5d277bd497 122 IN7=1;
mjhaugsdal 6:ac5d277bd497 123 IN8=0;
mjhaugsdal 17:ff0021c4dcdc 124 //engine 3
mjhaugsdal 17:ff0021c4dcdc 125 IN9=1;
mjhaugsdal 17:ff0021c4dcdc 126 IN10=0;
mjhaugsdal 17:ff0021c4dcdc 127 IN11=1;
mjhaugsdal 17:ff0021c4dcdc 128 IN12=0;
mjhaugsdal 1:a3287196a9b3 129 wait_us(fart);
mjhaugsdal 6:ac5d277bd497 130 //engine 1
rlanghbv 0:bd78e433db61 131 IN1=0;
rlanghbv 0:bd78e433db61 132 IN2=1;
rlanghbv 0:bd78e433db61 133 IN3=1;
rlanghbv 0:bd78e433db61 134 IN4=0;
mjhaugsdal 6:ac5d277bd497 135 //engine 2
mjhaugsdal 6:ac5d277bd497 136 IN5=0;
mjhaugsdal 6:ac5d277bd497 137 IN6=1;
mjhaugsdal 6:ac5d277bd497 138 IN7=1;
mjhaugsdal 6:ac5d277bd497 139 IN8=0;
mjhaugsdal 17:ff0021c4dcdc 140 //engine 3
mjhaugsdal 17:ff0021c4dcdc 141 IN9=0;
mjhaugsdal 17:ff0021c4dcdc 142 IN10=1;
mjhaugsdal 17:ff0021c4dcdc 143 IN11=1;
mjhaugsdal 17:ff0021c4dcdc 144 IN12=0;
mjhaugsdal 1:a3287196a9b3 145 wait_us(fart);
mjhaugsdal 6:ac5d277bd497 146 //engine 1
rlanghbv 0:bd78e433db61 147 IN1=0;
rlanghbv 0:bd78e433db61 148 IN2=1;
rlanghbv 0:bd78e433db61 149 IN3=0;
rlanghbv 0:bd78e433db61 150 IN4=1;
mjhaugsdal 6:ac5d277bd497 151 //engine 2
mjhaugsdal 6:ac5d277bd497 152 IN5=0;
mjhaugsdal 6:ac5d277bd497 153 IN6=1;
mjhaugsdal 6:ac5d277bd497 154 IN7=0;
mjhaugsdal 6:ac5d277bd497 155 IN8=1;
mjhaugsdal 17:ff0021c4dcdc 156 //engine 3
mjhaugsdal 17:ff0021c4dcdc 157 IN9=0;
mjhaugsdal 17:ff0021c4dcdc 158 IN10=1;
mjhaugsdal 17:ff0021c4dcdc 159 IN11=0;
mjhaugsdal 17:ff0021c4dcdc 160 IN12=1;
mjhaugsdal 17:ff0021c4dcdc 161 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 162 }
mjhaugsdal 17:ff0021c4dcdc 163
mjhaugsdal 17:ff0021c4dcdc 164 void stepEngine1Left()
mjhaugsdal 17:ff0021c4dcdc 165 {
mjhaugsdal 17:ff0021c4dcdc 166 //engine 1
mjhaugsdal 17:ff0021c4dcdc 167 IN1=1;
mjhaugsdal 17:ff0021c4dcdc 168 IN2=0;
mjhaugsdal 17:ff0021c4dcdc 169 IN3=0;
mjhaugsdal 17:ff0021c4dcdc 170 IN4=1;
mjhaugsdal 17:ff0021c4dcdc 171 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 172 IN1=1;
mjhaugsdal 17:ff0021c4dcdc 173 IN2=0;
mjhaugsdal 17:ff0021c4dcdc 174 IN3=1;
mjhaugsdal 17:ff0021c4dcdc 175 IN4=0;
mjhaugsdal 17:ff0021c4dcdc 176 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 177 IN1=0;
mjhaugsdal 17:ff0021c4dcdc 178 IN2=1;
mjhaugsdal 17:ff0021c4dcdc 179 IN3=1;
mjhaugsdal 17:ff0021c4dcdc 180 IN4=0;
mjhaugsdal 17:ff0021c4dcdc 181 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 182 IN1=0;
mjhaugsdal 17:ff0021c4dcdc 183 IN2=1;
mjhaugsdal 17:ff0021c4dcdc 184 IN3=0;
mjhaugsdal 17:ff0021c4dcdc 185 IN4=1;
mjhaugsdal 1:a3287196a9b3 186 wait_us(fart);
rlanghbv 0:bd78e433db61 187 }
rlanghbv 0:bd78e433db61 188
mjhaugsdal 17:ff0021c4dcdc 189 void stepEngine1Right()
mjhaugsdal 17:ff0021c4dcdc 190 {
mjhaugsdal 17:ff0021c4dcdc 191 //engine 1
mjhaugsdal 17:ff0021c4dcdc 192 IN1=0;
mjhaugsdal 17:ff0021c4dcdc 193 IN2=1;
mjhaugsdal 17:ff0021c4dcdc 194 IN3=0;
mjhaugsdal 17:ff0021c4dcdc 195 IN4=1;
mjhaugsdal 17:ff0021c4dcdc 196 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 197 IN1=0;
mjhaugsdal 17:ff0021c4dcdc 198 IN2=1;
mjhaugsdal 17:ff0021c4dcdc 199 IN3=1;
mjhaugsdal 17:ff0021c4dcdc 200 IN4=0;
mjhaugsdal 17:ff0021c4dcdc 201 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 202 IN1=1;
mjhaugsdal 17:ff0021c4dcdc 203 IN2=0;
mjhaugsdal 17:ff0021c4dcdc 204 IN3=1;
mjhaugsdal 17:ff0021c4dcdc 205 IN4=0;
mjhaugsdal 17:ff0021c4dcdc 206 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 207 IN1=1;
mjhaugsdal 17:ff0021c4dcdc 208 IN2=0;
mjhaugsdal 17:ff0021c4dcdc 209 IN3=0;
mjhaugsdal 17:ff0021c4dcdc 210 IN4=1;
mjhaugsdal 17:ff0021c4dcdc 211 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 212 }
mjhaugsdal 17:ff0021c4dcdc 213
mjhaugsdal 17:ff0021c4dcdc 214 void stepEngine2Right()
mjhaugsdal 17:ff0021c4dcdc 215 {
mjhaugsdal 17:ff0021c4dcdc 216 //engine 1
mjhaugsdal 17:ff0021c4dcdc 217 IN5=0;
mjhaugsdal 17:ff0021c4dcdc 218 IN6=1;
mjhaugsdal 17:ff0021c4dcdc 219 IN7=0;
mjhaugsdal 17:ff0021c4dcdc 220 IN8=1;
mjhaugsdal 17:ff0021c4dcdc 221 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 222 IN5=0;
mjhaugsdal 17:ff0021c4dcdc 223 IN6=1;
mjhaugsdal 17:ff0021c4dcdc 224 IN7=1;
mjhaugsdal 17:ff0021c4dcdc 225 IN8=0;
mjhaugsdal 17:ff0021c4dcdc 226 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 227 IN5=1;
mjhaugsdal 17:ff0021c4dcdc 228 IN6=0;
mjhaugsdal 17:ff0021c4dcdc 229 IN7=1;
mjhaugsdal 17:ff0021c4dcdc 230 IN8=0;
mjhaugsdal 17:ff0021c4dcdc 231 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 232 IN5=1;
mjhaugsdal 17:ff0021c4dcdc 233 IN6=0;
mjhaugsdal 17:ff0021c4dcdc 234 IN7=0;
mjhaugsdal 17:ff0021c4dcdc 235 IN8=1;
mjhaugsdal 17:ff0021c4dcdc 236 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 237 }
mjhaugsdal 17:ff0021c4dcdc 238
mjhaugsdal 17:ff0021c4dcdc 239 void stepEngine2Left()
mjhaugsdal 17:ff0021c4dcdc 240 {
mjhaugsdal 17:ff0021c4dcdc 241 //engine 1
mjhaugsdal 17:ff0021c4dcdc 242 IN5=1;
mjhaugsdal 17:ff0021c4dcdc 243 IN6=0;
mjhaugsdal 17:ff0021c4dcdc 244 IN7=0;
mjhaugsdal 17:ff0021c4dcdc 245 IN8=1;
mjhaugsdal 17:ff0021c4dcdc 246 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 247 IN5=1;
mjhaugsdal 17:ff0021c4dcdc 248 IN6=0;
mjhaugsdal 17:ff0021c4dcdc 249 IN7=1;
mjhaugsdal 17:ff0021c4dcdc 250 IN8=0;
mjhaugsdal 17:ff0021c4dcdc 251 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 252 IN5=0;
mjhaugsdal 17:ff0021c4dcdc 253 IN6=1;
mjhaugsdal 17:ff0021c4dcdc 254 IN7=1;
mjhaugsdal 17:ff0021c4dcdc 255 IN8=0;
mjhaugsdal 17:ff0021c4dcdc 256 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 257 IN5=0;
mjhaugsdal 17:ff0021c4dcdc 258 IN6=1;
mjhaugsdal 17:ff0021c4dcdc 259 IN7=0;
mjhaugsdal 17:ff0021c4dcdc 260 IN8=1;
mjhaugsdal 17:ff0021c4dcdc 261 wait_us(fart);
mjhaugsdal 17:ff0021c4dcdc 262 }
mjhaugsdal 17:ff0021c4dcdc 263
mjhaugsdal 19:79600d3509d7 264 void stepEngine3Right()
mjhaugsdal 19:79600d3509d7 265 {
mjhaugsdal 19:79600d3509d7 266 //engine 1
mjhaugsdal 19:79600d3509d7 267 IN9=0;
mjhaugsdal 19:79600d3509d7 268 IN10=1;
mjhaugsdal 19:79600d3509d7 269 IN11=0;
mjhaugsdal 19:79600d3509d7 270 IN12=1;
mjhaugsdal 19:79600d3509d7 271 wait_us(fart);
mjhaugsdal 19:79600d3509d7 272 IN9=0;
mjhaugsdal 19:79600d3509d7 273 IN10=1;
mjhaugsdal 19:79600d3509d7 274 IN11=1;
mjhaugsdal 19:79600d3509d7 275 IN12=0;
mjhaugsdal 19:79600d3509d7 276 wait_us(fart);
mjhaugsdal 19:79600d3509d7 277 IN9=1;
mjhaugsdal 19:79600d3509d7 278 IN10=0;
mjhaugsdal 19:79600d3509d7 279 IN11=1;
mjhaugsdal 19:79600d3509d7 280 IN12=0;
mjhaugsdal 19:79600d3509d7 281 wait_us(fart);
mjhaugsdal 19:79600d3509d7 282 IN9=1;
mjhaugsdal 19:79600d3509d7 283 IN10=0;
mjhaugsdal 19:79600d3509d7 284 IN11=0;
mjhaugsdal 19:79600d3509d7 285 IN12=1;
mjhaugsdal 19:79600d3509d7 286 wait_us(fart);
mjhaugsdal 19:79600d3509d7 287 }
mjhaugsdal 19:79600d3509d7 288
mjhaugsdal 19:79600d3509d7 289 void stepEngine3Left()
mjhaugsdal 19:79600d3509d7 290 {
mjhaugsdal 19:79600d3509d7 291 //engine 1
mjhaugsdal 19:79600d3509d7 292 IN9=1;
mjhaugsdal 19:79600d3509d7 293 IN10=0;
mjhaugsdal 19:79600d3509d7 294 IN11=0;
mjhaugsdal 19:79600d3509d7 295 IN12=1;
mjhaugsdal 19:79600d3509d7 296 wait_us(fart);
mjhaugsdal 19:79600d3509d7 297 IN9=1;
mjhaugsdal 19:79600d3509d7 298 IN10=0;
mjhaugsdal 19:79600d3509d7 299 IN11=1;
mjhaugsdal 19:79600d3509d7 300 IN12=0;
mjhaugsdal 19:79600d3509d7 301 wait_us(fart);
mjhaugsdal 19:79600d3509d7 302 IN9=0;
mjhaugsdal 19:79600d3509d7 303 IN10=1;
mjhaugsdal 19:79600d3509d7 304 IN11=1;
mjhaugsdal 19:79600d3509d7 305 IN12=0;
mjhaugsdal 19:79600d3509d7 306 wait_us(fart);
mjhaugsdal 19:79600d3509d7 307 IN9=0;
mjhaugsdal 19:79600d3509d7 308 IN10=1;
mjhaugsdal 19:79600d3509d7 309 IN11=0;
mjhaugsdal 19:79600d3509d7 310 IN12=1;
mjhaugsdal 19:79600d3509d7 311 wait_us(fart);
mjhaugsdal 19:79600d3509d7 312 }
mjhaugsdal 19:79600d3509d7 313
mjhaugsdal 18:ef02a9014491 314 void stopAll()
mjhaugsdal 18:ef02a9014491 315 {
mjhaugsdal 18:ef02a9014491 316 IN1=0;
mjhaugsdal 18:ef02a9014491 317 IN2=0;
mjhaugsdal 18:ef02a9014491 318 IN3=0;
mjhaugsdal 18:ef02a9014491 319 IN4=0;
mjhaugsdal 18:ef02a9014491 320 IN5=0;
mjhaugsdal 18:ef02a9014491 321 IN6=0;
mjhaugsdal 18:ef02a9014491 322 IN7=0;
mjhaugsdal 18:ef02a9014491 323 IN8=0;
mjhaugsdal 18:ef02a9014491 324 IN9=0;
mjhaugsdal 18:ef02a9014491 325 IN10=0;
mjhaugsdal 18:ef02a9014491 326 IN11=0;
mjhaugsdal 18:ef02a9014491 327 IN12=0;
mjhaugsdal 18:ef02a9014491 328 }
mjhaugsdal 18:ef02a9014491 329
mjhaugsdal 17:ff0021c4dcdc 330
mjhaugsdal 17:ff0021c4dcdc 331
mjhaugsdal 19:79600d3509d7 332
mjhaugsdal 19:79600d3509d7 333
mjhaugsdal 1:a3287196a9b3 334 void input(void const *args)
mjhaugsdal 1:a3287196a9b3 335 {
mjhaugsdal 1:a3287196a9b3 336 while(true)
mjhaugsdal 1:a3287196a9b3 337 {
mjhaugsdal 3:15be78948724 338
rlanghbv 2:25bcc26f7a5b 339 if(pc.readable())
mjhaugsdal 3:15be78948724 340 { m_cmd=pc.getc();
mjhaugsdal 3:15be78948724 341
mjhaugsdal 17:ff0021c4dcdc 342 }
mjhaugsdal 17:ff0021c4dcdc 343
rlanghbv 2:25bcc26f7a5b 344 Thread::wait(10);
mjhaugsdal 5:fdc7a779d525 345 //pc.printf("%d", steps);
mjhaugsdal 1:a3287196a9b3 346 }
mjhaugsdal 1:a3287196a9b3 347 }
rlanghbv 0:bd78e433db61 348
rlanghbv 0:bd78e433db61 349 int main()
rlanghbv 0:bd78e433db61 350 {
mjhaugsdal 1:a3287196a9b3 351 //Thread 1 has constant feed from usb
rlanghbv 2:25bcc26f7a5b 352 Thread t1(input);
mjhaugsdal 3:15be78948724 353 static char global_direction;
mjhaugsdal 3:15be78948724 354 printf("Started");
mjhaugsdal 3:15be78948724 355
mjhaugsdal 5:fdc7a779d525 356
mjhaugsdal 1:a3287196a9b3 357 while (true)
mjhaugsdal 1:a3287196a9b3 358 {
mjhaugsdal 4:4d655fdae399 359 //Thread::wait(5);
mjhaugsdal 3:15be78948724 360
mjhaugsdal 19:79600d3509d7 361 /*
mjhaugsdal 19:79600d3509d7 362
mjhaugsdal 19:79600d3509d7 363
mjhaugsdal 4:4d655fdae399 364
mjhaugsdal 19:79600d3509d7 365
mjhaugsdal 5:fdc7a779d525 366 else if (m_cmd == 'k')
mjhaugsdal 1:a3287196a9b3 367 {
mjhaugsdal 6:ac5d277bd497 368 int steps = 242;
mjhaugsdal 5:fdc7a779d525 369
mjhaugsdal 5:fdc7a779d525 370
mjhaugsdal 6:ac5d277bd497 371 //Steps = 242 gives a 60' rotation to the left.
mjhaugsdal 5:fdc7a779d525 372 while (steps >= 0)
mjhaugsdal 5:fdc7a779d525 373 {
mjhaugsdal 17:ff0021c4dcdc 374 stepAllLeft();
mjhaugsdal 5:fdc7a779d525 375 steps--;
mjhaugsdal 5:fdc7a779d525 376 }
mjhaugsdal 5:fdc7a779d525 377 m_cmd = 'x';
mjhaugsdal 3:15be78948724 378 }
mjhaugsdal 5:fdc7a779d525 379 else if (m_cmd == 'l')
mjhaugsdal 5:fdc7a779d525 380 {
mjhaugsdal 6:ac5d277bd497 381 int steps = 242;
mjhaugsdal 6:ac5d277bd497 382 //Steps = 242 gives a 60' rotation to the right.
mjhaugsdal 5:fdc7a779d525 383 while (steps >= 0)
mjhaugsdal 5:fdc7a779d525 384 {
mjhaugsdal 17:ff0021c4dcdc 385 stepAllRight();
mjhaugsdal 5:fdc7a779d525 386 steps--;
mjhaugsdal 5:fdc7a779d525 387 }
mjhaugsdal 5:fdc7a779d525 388 m_cmd = 'x';
mjhaugsdal 5:fdc7a779d525 389
mjhaugsdal 19:79600d3509d7 390 }*/
mjhaugsdal 18:ef02a9014491 391 if (m_cmd == 'z')
mjhaugsdal 18:ef02a9014491 392 {
mjhaugsdal 18:ef02a9014491 393 stopAll();
mjhaugsdal 19:79600d3509d7 394 }
mjhaugsdal 19:79600d3509d7 395
mjhaugsdal 19:79600d3509d7 396 if (m_cmd == 'x')
mjhaugsdal 19:79600d3509d7 397 {
mjhaugsdal 19:79600d3509d7 398 Thread::wait(5);
mjhaugsdal 18:ef02a9014491 399 }
mjhaugsdal 19:79600d3509d7 400
mjhaugsdal 19:79600d3509d7 401 //ENGINE 1
mjhaugsdal 19:79600d3509d7 402 if(m_cmd == '7')
mjhaugsdal 19:79600d3509d7 403 {
mjhaugsdal 19:79600d3509d7 404 //fart = 1200;
mjhaugsdal 19:79600d3509d7 405 stepEngine1Left();
mjhaugsdal 19:79600d3509d7 406 }
mjhaugsdal 19:79600d3509d7 407 else if (m_cmd == '9')
mjhaugsdal 19:79600d3509d7 408 {
mjhaugsdal 19:79600d3509d7 409 //fart = 1200;
mjhaugsdal 19:79600d3509d7 410 stepEngine1Right();
mjhaugsdal 19:79600d3509d7 411 }
mjhaugsdal 19:79600d3509d7 412 //ENGINE 2
mjhaugsdal 19:79600d3509d7 413 else if (m_cmd == '4')
mjhaugsdal 19:79600d3509d7 414 {
mjhaugsdal 19:79600d3509d7 415 //fart = 1200;
mjhaugsdal 19:79600d3509d7 416 stepEngine2Left();
mjhaugsdal 19:79600d3509d7 417 }
mjhaugsdal 19:79600d3509d7 418 else if (m_cmd == '6')
mjhaugsdal 19:79600d3509d7 419 {
mjhaugsdal 19:79600d3509d7 420 //fart = 1200;
mjhaugsdal 19:79600d3509d7 421 stepEngine2Right();
mjhaugsdal 19:79600d3509d7 422 }
mjhaugsdal 19:79600d3509d7 423 //ENGINE 3
mjhaugsdal 19:79600d3509d7 424 else if (m_cmd == '1')
mjhaugsdal 19:79600d3509d7 425 {
mjhaugsdal 19:79600d3509d7 426 //fart = 1200;
mjhaugsdal 19:79600d3509d7 427 stepEngine3Left();
mjhaugsdal 19:79600d3509d7 428 }
mjhaugsdal 19:79600d3509d7 429 else if (m_cmd == '3')
mjhaugsdal 19:79600d3509d7 430 {
mjhaugsdal 19:79600d3509d7 431 //fart = 1200;
mjhaugsdal 19:79600d3509d7 432 stepEngine3Right();
mjhaugsdal 19:79600d3509d7 433 }
mjhaugsdal 5:fdc7a779d525 434
mjhaugsdal 5:fdc7a779d525 435
mjhaugsdal 4:4d655fdae399 436
mjhaugsdal 1:a3287196a9b3 437 }
mjhaugsdal 1:a3287196a9b3 438
mjhaugsdal 3:15be78948724 439 } //END Main