Viele Funktionen

Dependencies:   mbed

Committer:
Prettner67
Date:
Thu Feb 05 12:29:51 2015 +0000
Revision:
0:50d2b4671eac
Viele n?tzliche Funktionen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Prettner67 0:50d2b4671eac 1 #include "mbed.h"
Prettner67 0:50d2b4671eac 2 #include "config.h"
Prettner67 0:50d2b4671eac 3
Prettner67 0:50d2b4671eac 4 void Move()
Prettner67 0:50d2b4671eac 5 {
Prettner67 0:50d2b4671eac 6 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 7 MotorL_FORWARD = MotorR_FORWARD = 1;
Prettner67 0:50d2b4671eac 8 wait_ms(300);
Prettner67 0:50d2b4671eac 9 MotorL_FORWARD = MotorR_FORWARD = 0;
Prettner67 0:50d2b4671eac 10 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 11
Prettner67 0:50d2b4671eac 12 }
Prettner67 0:50d2b4671eac 13
Prettner67 0:50d2b4671eac 14 void Back()
Prettner67 0:50d2b4671eac 15 {
Prettner67 0:50d2b4671eac 16 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 17 MotorL_REVERSE = MotorR_REVERSE = 1;
Prettner67 0:50d2b4671eac 18 wait_ms(300);
Prettner67 0:50d2b4671eac 19 MotorL_REVERSE = MotorR_REVERSE = 0;
Prettner67 0:50d2b4671eac 20 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 21
Prettner67 0:50d2b4671eac 22 }
Prettner67 0:50d2b4671eac 23
Prettner67 0:50d2b4671eac 24 void TurnRight()
Prettner67 0:50d2b4671eac 25 {
Prettner67 0:50d2b4671eac 26 MotorL_EN = 1;
Prettner67 0:50d2b4671eac 27 MotorL_FORWARD = 1;
Prettner67 0:50d2b4671eac 28 wait_ms(100);
Prettner67 0:50d2b4671eac 29 MotorL_FORWARD = 0;
Prettner67 0:50d2b4671eac 30 MotorL_EN = 0;
Prettner67 0:50d2b4671eac 31
Prettner67 0:50d2b4671eac 32 }
Prettner67 0:50d2b4671eac 33
Prettner67 0:50d2b4671eac 34 void TurnLeft()
Prettner67 0:50d2b4671eac 35 {
Prettner67 0:50d2b4671eac 36 MotorR_EN = 1;
Prettner67 0:50d2b4671eac 37 MotorR_FORWARD = 1;
Prettner67 0:50d2b4671eac 38 wait_ms(100);
Prettner67 0:50d2b4671eac 39 MotorR_FORWARD = 0;
Prettner67 0:50d2b4671eac 40 MotorR_EN = 0;
Prettner67 0:50d2b4671eac 41
Prettner67 0:50d2b4671eac 42 }
Prettner67 0:50d2b4671eac 43
Prettner67 0:50d2b4671eac 44 bool WaitUntilButtonPressed()
Prettner67 0:50d2b4671eac 45 {
Prettner67 0:50d2b4671eac 46 char cmd[3];
Prettner67 0:50d2b4671eac 47 int16_t btns;
Prettner67 0:50d2b4671eac 48 bool wert;
Prettner67 0:50d2b4671eac 49
Prettner67 0:50d2b4671eac 50 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 51 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 52 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 53
Prettner67 0:50d2b4671eac 54 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 55 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 56 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 57 btns = cmd[0];
Prettner67 0:50d2b4671eac 58 if( btns & (0xFF))
Prettner67 0:50d2b4671eac 59 wert = false;
Prettner67 0:50d2b4671eac 60 else
Prettner67 0:50d2b4671eac 61 wert = true;
Prettner67 0:50d2b4671eac 62 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 63 return wert;
Prettner67 0:50d2b4671eac 64
Prettner67 0:50d2b4671eac 65 }
Prettner67 0:50d2b4671eac 66
Prettner67 0:50d2b4671eac 67 bool Start()
Prettner67 0:50d2b4671eac 68 {
Prettner67 0:50d2b4671eac 69 DEBUG_PRINT("Debug level: %d", (int) DEBUG);
Prettner67 0:50d2b4671eac 70 i2c.frequency(40000);
Prettner67 0:50d2b4671eac 71
Prettner67 0:50d2b4671eac 72 while(WaitUntilButtonPressed()) { }
Prettner67 0:50d2b4671eac 73 return true;
Prettner67 0:50d2b4671eac 74
Prettner67 0:50d2b4671eac 75 }
Prettner67 0:50d2b4671eac 76
Prettner67 0:50d2b4671eac 77 bool FrontIsClear()
Prettner67 0:50d2b4671eac 78 {
Prettner67 0:50d2b4671eac 79 char cmd[3];
Prettner67 0:50d2b4671eac 80 int16_t btns;
Prettner67 0:50d2b4671eac 81 bool wert;
Prettner67 0:50d2b4671eac 82
Prettner67 0:50d2b4671eac 83 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 84 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 85 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 86
Prettner67 0:50d2b4671eac 87 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 88 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 89 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 90 btns = cmd[0];
Prettner67 0:50d2b4671eac 91 if( btns & (BTN_FLL|BTN_FL|BTN_FM|BTN_FR|BTN_FRR))
Prettner67 0:50d2b4671eac 92 wert = false;
Prettner67 0:50d2b4671eac 93 else
Prettner67 0:50d2b4671eac 94 wert = true;
Prettner67 0:50d2b4671eac 95 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 96 return wert;
Prettner67 0:50d2b4671eac 97
Prettner67 0:50d2b4671eac 98 }
Prettner67 0:50d2b4671eac 99
Prettner67 0:50d2b4671eac 100 void RotateRight()
Prettner67 0:50d2b4671eac 101 {
Prettner67 0:50d2b4671eac 102 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 103 MotorL_FORWARD = MotorR_REVERSE = 1;
Prettner67 0:50d2b4671eac 104 wait_ms(2000);
Prettner67 0:50d2b4671eac 105 MotorL_FORWARD = MotorR_REVERSE = 0;
Prettner67 0:50d2b4671eac 106 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 107
Prettner67 0:50d2b4671eac 108 }
Prettner67 0:50d2b4671eac 109
Prettner67 0:50d2b4671eac 110 void RotateLeft()
Prettner67 0:50d2b4671eac 111 {
Prettner67 0:50d2b4671eac 112 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 113 MotorR_FORWARD = MotorL_REVERSE = 1;
Prettner67 0:50d2b4671eac 114 wait_ms(2000);
Prettner67 0:50d2b4671eac 115 MotorR_FORWARD = MotorL_REVERSE = 0;
Prettner67 0:50d2b4671eac 116 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 117
Prettner67 0:50d2b4671eac 118 }
Prettner67 0:50d2b4671eac 119
Prettner67 0:50d2b4671eac 120 void MoveTime(int c)
Prettner67 0:50d2b4671eac 121 {
Prettner67 0:50d2b4671eac 122 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 123 MotorL_FORWARD = MotorR_FORWARD = 1;
Prettner67 0:50d2b4671eac 124 wait_ms(c);
Prettner67 0:50d2b4671eac 125 MotorL_FORWARD = MotorR_FORWARD = 0;
Prettner67 0:50d2b4671eac 126 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 127
Prettner67 0:50d2b4671eac 128 }
Prettner67 0:50d2b4671eac 129
Prettner67 0:50d2b4671eac 130 void BackTime(int c)
Prettner67 0:50d2b4671eac 131 {
Prettner67 0:50d2b4671eac 132 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 133 MotorL_REVERSE = MotorR_REVERSE = 1;
Prettner67 0:50d2b4671eac 134 wait_ms(c);
Prettner67 0:50d2b4671eac 135 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 136 MotorL_REVERSE = MotorR_REVERSE = 0;
Prettner67 0:50d2b4671eac 137
Prettner67 0:50d2b4671eac 138 }
Prettner67 0:50d2b4671eac 139
Prettner67 0:50d2b4671eac 140 void TurnRightTime(int c)
Prettner67 0:50d2b4671eac 141 {
Prettner67 0:50d2b4671eac 142 MotorL_EN = 1;
Prettner67 0:50d2b4671eac 143 MotorL_FORWARD = 1;
Prettner67 0:50d2b4671eac 144 wait_ms(c);
Prettner67 0:50d2b4671eac 145 MotorL_FORWARD = 0;
Prettner67 0:50d2b4671eac 146 MotorL_EN = 0;
Prettner67 0:50d2b4671eac 147
Prettner67 0:50d2b4671eac 148 }
Prettner67 0:50d2b4671eac 149
Prettner67 0:50d2b4671eac 150 void TrnLeftTime(int c)
Prettner67 0:50d2b4671eac 151 {
Prettner67 0:50d2b4671eac 152 MotorR_EN = 1;
Prettner67 0:50d2b4671eac 153 MotorR_FORWARD = 1;
Prettner67 0:50d2b4671eac 154 wait_ms(c);
Prettner67 0:50d2b4671eac 155 MotorR_FORWARD = 0;
Prettner67 0:50d2b4671eac 156 MotorR_EN = 0;
Prettner67 0:50d2b4671eac 157
Prettner67 0:50d2b4671eac 158 }
Prettner67 0:50d2b4671eac 159
Prettner67 0:50d2b4671eac 160 void RotateRightTime(int c)
Prettner67 0:50d2b4671eac 161 {
Prettner67 0:50d2b4671eac 162 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 163 MotorL_FORWARD = MotorR_REVERSE = 1;
Prettner67 0:50d2b4671eac 164 wait_ms(c);
Prettner67 0:50d2b4671eac 165 MotorL_FORWARD = MotorR_REVERSE = 0;
Prettner67 0:50d2b4671eac 166 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 167
Prettner67 0:50d2b4671eac 168 }
Prettner67 0:50d2b4671eac 169
Prettner67 0:50d2b4671eac 170 void RotateLeftTime(int c)
Prettner67 0:50d2b4671eac 171 {
Prettner67 0:50d2b4671eac 172 MotorR_EN = MotorL_EN = 1;
Prettner67 0:50d2b4671eac 173 MotorR_FORWARD = MotorL_REVERSE = 1;
Prettner67 0:50d2b4671eac 174 wait_ms(c);
Prettner67 0:50d2b4671eac 175 MotorR_FORWARD = MotorL_REVERSE = 0;
Prettner67 0:50d2b4671eac 176 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 177
Prettner67 0:50d2b4671eac 178 }
Prettner67 0:50d2b4671eac 179
Prettner67 0:50d2b4671eac 180 bool BackIsClear()
Prettner67 0:50d2b4671eac 181 {
Prettner67 0:50d2b4671eac 182 char cmd[3];
Prettner67 0:50d2b4671eac 183 int16_t btns;
Prettner67 0:50d2b4671eac 184 bool wert;
Prettner67 0:50d2b4671eac 185
Prettner67 0:50d2b4671eac 186 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 187 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 188 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 189
Prettner67 0:50d2b4671eac 190 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 191 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 192 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 193 btns = cmd[0];
Prettner67 0:50d2b4671eac 194 if( btns & (BTN_BL|BTN_BM|BTN_BR))
Prettner67 0:50d2b4671eac 195 wert = false;
Prettner67 0:50d2b4671eac 196 else
Prettner67 0:50d2b4671eac 197 wert = true;
Prettner67 0:50d2b4671eac 198 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 199 return wert;
Prettner67 0:50d2b4671eac 200
Prettner67 0:50d2b4671eac 201 }
Prettner67 0:50d2b4671eac 202
Prettner67 0:50d2b4671eac 203 bool ButtonBackLeft()
Prettner67 0:50d2b4671eac 204 {
Prettner67 0:50d2b4671eac 205 char cmd[3];
Prettner67 0:50d2b4671eac 206 int16_t btns;
Prettner67 0:50d2b4671eac 207 bool wert;
Prettner67 0:50d2b4671eac 208
Prettner67 0:50d2b4671eac 209 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 210 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 211 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 212
Prettner67 0:50d2b4671eac 213 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 214 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 215 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 216 btns = cmd[0];
Prettner67 0:50d2b4671eac 217 if( btns & (BTN_BL))
Prettner67 0:50d2b4671eac 218 wert = false;
Prettner67 0:50d2b4671eac 219 else
Prettner67 0:50d2b4671eac 220 wert = true;
Prettner67 0:50d2b4671eac 221 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 222 return wert;
Prettner67 0:50d2b4671eac 223
Prettner67 0:50d2b4671eac 224 }
Prettner67 0:50d2b4671eac 225
Prettner67 0:50d2b4671eac 226 bool ButtonBackMid()
Prettner67 0:50d2b4671eac 227 {
Prettner67 0:50d2b4671eac 228 char cmd[3];
Prettner67 0:50d2b4671eac 229 int16_t btns;
Prettner67 0:50d2b4671eac 230 bool wert;
Prettner67 0:50d2b4671eac 231
Prettner67 0:50d2b4671eac 232 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 233 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 234 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 235
Prettner67 0:50d2b4671eac 236 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 237 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 238 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 239 btns = cmd[0];
Prettner67 0:50d2b4671eac 240 if( btns & (BTN_BM))
Prettner67 0:50d2b4671eac 241 wert = false;
Prettner67 0:50d2b4671eac 242 else
Prettner67 0:50d2b4671eac 243 wert = true;
Prettner67 0:50d2b4671eac 244 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 245 return wert;
Prettner67 0:50d2b4671eac 246 }
Prettner67 0:50d2b4671eac 247
Prettner67 0:50d2b4671eac 248 bool ButtonBackRight()
Prettner67 0:50d2b4671eac 249 {
Prettner67 0:50d2b4671eac 250 char cmd[3];
Prettner67 0:50d2b4671eac 251 int16_t btns;
Prettner67 0:50d2b4671eac 252 bool wert;
Prettner67 0:50d2b4671eac 253
Prettner67 0:50d2b4671eac 254 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 255 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 256 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 257
Prettner67 0:50d2b4671eac 258 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 259 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 260 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 261 btns = cmd[0];
Prettner67 0:50d2b4671eac 262 if( btns & (BTN_BR))
Prettner67 0:50d2b4671eac 263 wert = false;
Prettner67 0:50d2b4671eac 264 else
Prettner67 0:50d2b4671eac 265 wert = true;
Prettner67 0:50d2b4671eac 266 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 267 return wert;
Prettner67 0:50d2b4671eac 268 }
Prettner67 0:50d2b4671eac 269
Prettner67 0:50d2b4671eac 270 bool ButtonFrontLeftLeft()
Prettner67 0:50d2b4671eac 271 {
Prettner67 0:50d2b4671eac 272 char cmd[3];
Prettner67 0:50d2b4671eac 273 int16_t btns;
Prettner67 0:50d2b4671eac 274 bool wert;
Prettner67 0:50d2b4671eac 275
Prettner67 0:50d2b4671eac 276 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 277 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 278 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 279
Prettner67 0:50d2b4671eac 280 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 281 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 282 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 283 btns = cmd[0];
Prettner67 0:50d2b4671eac 284 if( btns & (BTN_FLL))
Prettner67 0:50d2b4671eac 285 wert = false;
Prettner67 0:50d2b4671eac 286 else
Prettner67 0:50d2b4671eac 287 wert = true;
Prettner67 0:50d2b4671eac 288 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 289 return wert;
Prettner67 0:50d2b4671eac 290 }
Prettner67 0:50d2b4671eac 291
Prettner67 0:50d2b4671eac 292 bool ButtonFrontLeft()
Prettner67 0:50d2b4671eac 293 {
Prettner67 0:50d2b4671eac 294 char cmd[3];
Prettner67 0:50d2b4671eac 295 int16_t btns;
Prettner67 0:50d2b4671eac 296 bool wert;
Prettner67 0:50d2b4671eac 297
Prettner67 0:50d2b4671eac 298 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 299 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 300 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 301
Prettner67 0:50d2b4671eac 302 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 303 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 304 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 305 btns = cmd[0];
Prettner67 0:50d2b4671eac 306 if( btns & (BTN_FL))
Prettner67 0:50d2b4671eac 307 wert = false;
Prettner67 0:50d2b4671eac 308 else
Prettner67 0:50d2b4671eac 309 wert = true;
Prettner67 0:50d2b4671eac 310 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 311 return wert;
Prettner67 0:50d2b4671eac 312 }
Prettner67 0:50d2b4671eac 313
Prettner67 0:50d2b4671eac 314 bool ButtonFrontMid()
Prettner67 0:50d2b4671eac 315 {
Prettner67 0:50d2b4671eac 316 char cmd[3];
Prettner67 0:50d2b4671eac 317 int16_t btns;
Prettner67 0:50d2b4671eac 318 bool wert;
Prettner67 0:50d2b4671eac 319
Prettner67 0:50d2b4671eac 320 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 321 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 322 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 323
Prettner67 0:50d2b4671eac 324 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 325 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 326 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 327 btns = cmd[0];
Prettner67 0:50d2b4671eac 328 if( btns & (BTN_FM))
Prettner67 0:50d2b4671eac 329 wert = false;
Prettner67 0:50d2b4671eac 330 else
Prettner67 0:50d2b4671eac 331 wert = true;
Prettner67 0:50d2b4671eac 332 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 333 return wert;
Prettner67 0:50d2b4671eac 334 }
Prettner67 0:50d2b4671eac 335
Prettner67 0:50d2b4671eac 336 bool ButtonFrontRight()
Prettner67 0:50d2b4671eac 337 {
Prettner67 0:50d2b4671eac 338 char cmd[3];
Prettner67 0:50d2b4671eac 339 int16_t btns;
Prettner67 0:50d2b4671eac 340 bool wert;
Prettner67 0:50d2b4671eac 341
Prettner67 0:50d2b4671eac 342 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 343 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 344 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 345
Prettner67 0:50d2b4671eac 346 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 347 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 348 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 349 btns = cmd[0];
Prettner67 0:50d2b4671eac 350 if( btns & (BTN_FR))
Prettner67 0:50d2b4671eac 351 wert = false;
Prettner67 0:50d2b4671eac 352 else
Prettner67 0:50d2b4671eac 353 wert = true;
Prettner67 0:50d2b4671eac 354 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 355 return wert;
Prettner67 0:50d2b4671eac 356 }
Prettner67 0:50d2b4671eac 357
Prettner67 0:50d2b4671eac 358 bool ButtonFrontRightRight()
Prettner67 0:50d2b4671eac 359 {
Prettner67 0:50d2b4671eac 360 char cmd[3];
Prettner67 0:50d2b4671eac 361 int16_t btns;
Prettner67 0:50d2b4671eac 362 bool wert;
Prettner67 0:50d2b4671eac 363
Prettner67 0:50d2b4671eac 364 cmd[0] = 0x06;
Prettner67 0:50d2b4671eac 365 cmd[1] = 0x00;
Prettner67 0:50d2b4671eac 366 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 367
Prettner67 0:50d2b4671eac 368 cmd[0]=0x01;
Prettner67 0:50d2b4671eac 369 i2c.write(addr, cmd, 1);
Prettner67 0:50d2b4671eac 370 i2c.read(addr|1, cmd, 1);
Prettner67 0:50d2b4671eac 371 btns = cmd[0];
Prettner67 0:50d2b4671eac 372 if( btns & (BTN_FRR))
Prettner67 0:50d2b4671eac 373 wert = false;
Prettner67 0:50d2b4671eac 374 else
Prettner67 0:50d2b4671eac 375 wert = true;
Prettner67 0:50d2b4671eac 376 DEBUG_PRINT("\right\nWERT: %d \right\n", wert);
Prettner67 0:50d2b4671eac 377 return wert;
Prettner67 0:50d2b4671eac 378 }
Prettner67 0:50d2b4671eac 379
Prettner67 0:50d2b4671eac 380 void TurnLedOn(int16_t led)
Prettner67 0:50d2b4671eac 381 {
Prettner67 0:50d2b4671eac 382 char cmd[3];
Prettner67 0:50d2b4671eac 383
Prettner67 0:50d2b4671eac 384 cmd[0] = 0x02;
Prettner67 0:50d2b4671eac 385 cmd[1] = ~led;
Prettner67 0:50d2b4671eac 386 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 387 wait(0.5);
Prettner67 0:50d2b4671eac 388 }
Prettner67 0:50d2b4671eac 389
Prettner67 0:50d2b4671eac 390 void TurnLedOff(int16_t led)
Prettner67 0:50d2b4671eac 391 {
Prettner67 0:50d2b4671eac 392 char cmd[3];
Prettner67 0:50d2b4671eac 393
Prettner67 0:50d2b4671eac 394 cmd[0] = 0x02;
Prettner67 0:50d2b4671eac 395 cmd[1] = ~led;
Prettner67 0:50d2b4671eac 396 i2c.write(addr, cmd, 2);
Prettner67 0:50d2b4671eac 397 wait(0.5);
Prettner67 0:50d2b4671eac 398 }
Prettner67 0:50d2b4671eac 399
Prettner67 0:50d2b4671eac 400 bool MoveTicks(int c)
Prettner67 0:50d2b4671eac 401 {
Prettner67 0:50d2b4671eac 402 int count = 0, left = 0, right = 0;
Prettner67 0:50d2b4671eac 403
Prettner67 0:50d2b4671eac 404 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 405
Prettner67 0:50d2b4671eac 406 while(c--)
Prettner67 0:50d2b4671eac 407 {
Prettner67 0:50d2b4671eac 408 MotorL_FORWARD = MotorR_FORWARD = 1;
Prettner67 0:50d2b4671eac 409
Prettner67 0:50d2b4671eac 410 if(SensorL == 1)
Prettner67 0:50d2b4671eac 411 left++;
Prettner67 0:50d2b4671eac 412 if(SensorR == 1)
Prettner67 0:50d2b4671eac 413 right++;
Prettner67 0:50d2b4671eac 414
Prettner67 0:50d2b4671eac 415 count++;
Prettner67 0:50d2b4671eac 416 wait_ms(10);
Prettner67 0:50d2b4671eac 417 }
Prettner67 0:50d2b4671eac 418
Prettner67 0:50d2b4671eac 419 MotorL_FORWARD = MotorR_FORWARD = 0;
Prettner67 0:50d2b4671eac 420 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 421
Prettner67 0:50d2b4671eac 422 return true;
Prettner67 0:50d2b4671eac 423
Prettner67 0:50d2b4671eac 424 }
Prettner67 0:50d2b4671eac 425
Prettner67 0:50d2b4671eac 426 bool BackTicks(int c)
Prettner67 0:50d2b4671eac 427 {
Prettner67 0:50d2b4671eac 428 int count = 0, left = 0, right = 0;
Prettner67 0:50d2b4671eac 429
Prettner67 0:50d2b4671eac 430 MotorL_EN = MotorR_EN = 1;
Prettner67 0:50d2b4671eac 431
Prettner67 0:50d2b4671eac 432 while(c--)
Prettner67 0:50d2b4671eac 433 {
Prettner67 0:50d2b4671eac 434 MotorL_REVERSE = MotorR_REVERSE = 1;
Prettner67 0:50d2b4671eac 435
Prettner67 0:50d2b4671eac 436 if(SensorL == 1)
Prettner67 0:50d2b4671eac 437 left++;
Prettner67 0:50d2b4671eac 438 if(SensorR == 1)
Prettner67 0:50d2b4671eac 439 right++;
Prettner67 0:50d2b4671eac 440
Prettner67 0:50d2b4671eac 441 count++;
Prettner67 0:50d2b4671eac 442 wait_ms(10);
Prettner67 0:50d2b4671eac 443 }
Prettner67 0:50d2b4671eac 444
Prettner67 0:50d2b4671eac 445 MotorL_REVERSE = MotorR_REVERSE = 0;
Prettner67 0:50d2b4671eac 446 MotorL_EN = MotorR_EN = 0;
Prettner67 0:50d2b4671eac 447
Prettner67 0:50d2b4671eac 448 return true;
Prettner67 0:50d2b4671eac 449
Prettner67 0:50d2b4671eac 450 }
Prettner67 0:50d2b4671eac 451
Prettner67 0:50d2b4671eac 452 bool MotorRightMoveTicks(int c)
Prettner67 0:50d2b4671eac 453 {
Prettner67 0:50d2b4671eac 454 int count = 0, right = 0;
Prettner67 0:50d2b4671eac 455
Prettner67 0:50d2b4671eac 456 MotorR_EN = 1;
Prettner67 0:50d2b4671eac 457
Prettner67 0:50d2b4671eac 458 while(c--)
Prettner67 0:50d2b4671eac 459 {
Prettner67 0:50d2b4671eac 460 MotorR_FORWARD = 1;
Prettner67 0:50d2b4671eac 461
Prettner67 0:50d2b4671eac 462 if(SensorR == 1)
Prettner67 0:50d2b4671eac 463 right++;
Prettner67 0:50d2b4671eac 464
Prettner67 0:50d2b4671eac 465 count++;
Prettner67 0:50d2b4671eac 466 wait_ms(10);
Prettner67 0:50d2b4671eac 467 }
Prettner67 0:50d2b4671eac 468
Prettner67 0:50d2b4671eac 469 MotorR_FORWARD = 0;
Prettner67 0:50d2b4671eac 470 MotorR_EN = 0;
Prettner67 0:50d2b4671eac 471
Prettner67 0:50d2b4671eac 472 return true;
Prettner67 0:50d2b4671eac 473
Prettner67 0:50d2b4671eac 474 }
Prettner67 0:50d2b4671eac 475
Prettner67 0:50d2b4671eac 476 bool MotorRightBackTicks(int c)
Prettner67 0:50d2b4671eac 477 {
Prettner67 0:50d2b4671eac 478 int count = 0, right = 0;
Prettner67 0:50d2b4671eac 479
Prettner67 0:50d2b4671eac 480 MotorR_EN = 1;
Prettner67 0:50d2b4671eac 481
Prettner67 0:50d2b4671eac 482 while(c--)
Prettner67 0:50d2b4671eac 483 {
Prettner67 0:50d2b4671eac 484 MotorR_REVERSE = 1;
Prettner67 0:50d2b4671eac 485
Prettner67 0:50d2b4671eac 486 if(SensorR == 1)
Prettner67 0:50d2b4671eac 487 right++;
Prettner67 0:50d2b4671eac 488
Prettner67 0:50d2b4671eac 489 count++;
Prettner67 0:50d2b4671eac 490 wait_ms(10);
Prettner67 0:50d2b4671eac 491 }
Prettner67 0:50d2b4671eac 492
Prettner67 0:50d2b4671eac 493 MotorR_REVERSE = 0;
Prettner67 0:50d2b4671eac 494 MotorR_EN = 0;
Prettner67 0:50d2b4671eac 495
Prettner67 0:50d2b4671eac 496 return true;
Prettner67 0:50d2b4671eac 497
Prettner67 0:50d2b4671eac 498 }
Prettner67 0:50d2b4671eac 499
Prettner67 0:50d2b4671eac 500 bool MotorLeftMoveTicks(int c)
Prettner67 0:50d2b4671eac 501 {
Prettner67 0:50d2b4671eac 502 int count = 0, right = 0;
Prettner67 0:50d2b4671eac 503
Prettner67 0:50d2b4671eac 504 MotorL_EN = 1;
Prettner67 0:50d2b4671eac 505
Prettner67 0:50d2b4671eac 506 while(c--)
Prettner67 0:50d2b4671eac 507 {
Prettner67 0:50d2b4671eac 508 MotorL_FORWARD = 1;
Prettner67 0:50d2b4671eac 509
Prettner67 0:50d2b4671eac 510 if(SensorR == 1)
Prettner67 0:50d2b4671eac 511 right++;
Prettner67 0:50d2b4671eac 512
Prettner67 0:50d2b4671eac 513 count++;
Prettner67 0:50d2b4671eac 514 wait_ms(10);
Prettner67 0:50d2b4671eac 515 }
Prettner67 0:50d2b4671eac 516
Prettner67 0:50d2b4671eac 517 MotorL_FORWARD = 0;
Prettner67 0:50d2b4671eac 518 MotorL_EN = 0;
Prettner67 0:50d2b4671eac 519
Prettner67 0:50d2b4671eac 520 return true;
Prettner67 0:50d2b4671eac 521
Prettner67 0:50d2b4671eac 522 }
Prettner67 0:50d2b4671eac 523
Prettner67 0:50d2b4671eac 524 bool MotorLeftBackTicks(int c)
Prettner67 0:50d2b4671eac 525 {
Prettner67 0:50d2b4671eac 526 int count = 0, right = 0;
Prettner67 0:50d2b4671eac 527
Prettner67 0:50d2b4671eac 528 MotorL_EN = 1;
Prettner67 0:50d2b4671eac 529
Prettner67 0:50d2b4671eac 530 while(c--)
Prettner67 0:50d2b4671eac 531 {
Prettner67 0:50d2b4671eac 532 MotorL_REVERSE = 1;
Prettner67 0:50d2b4671eac 533
Prettner67 0:50d2b4671eac 534 if(SensorR == 1)
Prettner67 0:50d2b4671eac 535 right++;
Prettner67 0:50d2b4671eac 536
Prettner67 0:50d2b4671eac 537 count++;
Prettner67 0:50d2b4671eac 538 wait_ms(10);
Prettner67 0:50d2b4671eac 539 }
Prettner67 0:50d2b4671eac 540
Prettner67 0:50d2b4671eac 541 MotorL_REVERSE = 0;
Prettner67 0:50d2b4671eac 542 MotorL_EN = 0;
Prettner67 0:50d2b4671eac 543
Prettner67 0:50d2b4671eac 544 return true;
Prettner67 0:50d2b4671eac 545
Prettner67 0:50d2b4671eac 546 }