Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
sahilmgandhi
Date:
Sat May 27 03:37:24 2017 +0000
Revision:
37:3dcc95e9321c
Parent:
33:68ce1f74ab5f
Child:
38:fe05f93009a2
Need to get centered more before turns (so after moving forward). Also fix when both walls are missing!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kyleliangus 6:3d68fedd6fd9 1 #include "irpair.h"
kyleliangus 4:b5b7836ca2b0 2 #include "mbed.h"
kyleliangus 4:b5b7836ca2b0 3
kyleliangus 32:69acb14778ea 4 #define dark_samples 10
kyleliangus 32:69acb14778ea 5 #define busy_wait 10
sahilmgandhi 29:ec2c5a69acd6 6
kyleliangus 6:3d68fedd6fd9 7 void IRPair::calibrateSensor() {
kyleliangus 4:b5b7836ca2b0 8
kyleliangus 9:1d8e4da058cd 9 ir.write( 1 );
kyleliangus 32:69acb14778ea 10 wait_us(55);
kyleliangus 9:1d8e4da058cd 11
kyleliangus 4:b5b7836ca2b0 12 for (int i = 0; i < samplesToTake; ++i)
kyleliangus 5:7e1e4cc19044 13 sensorAvg += recv.read();
kyleliangus 4:b5b7836ca2b0 14
kyleliangus 9:1d8e4da058cd 15 ir.write( 0 );
kyleliangus 4:b5b7836ca2b0 16 sensorAvg /= samplesToTake;
kyleliangus 32:69acb14778ea 17 wait_us(5);
kyleliangus 4:b5b7836ca2b0 18 }
kyleliangus 4:b5b7836ca2b0 19
kyleliangus 32:69acb14778ea 20 double IRPair::getSamples( int samples )
kyleliangus 4:b5b7836ca2b0 21 {
kyleliangus 32:69acb14778ea 22 double z = 0;
kyleliangus 32:69acb14778ea 23
kyleliangus 32:69acb14778ea 24 ir.write( 0 );
kyleliangus 32:69acb14778ea 25 //for( int i = 0; i < dark_samples; i++ )
kyleliangus 32:69acb14778ea 26 // z1 += recv.read();
kyleliangus 32:69acb14778ea 27
kyleliangus 5:7e1e4cc19044 28 ir.write( 1 );
kyleliangus 32:69acb14778ea 29 wait_us(55);
sahilmgandhi 29:ec2c5a69acd6 30
kyleliangus 4:b5b7836ca2b0 31 for( int i = 0; i < samples; ++i )
kyleliangus 5:7e1e4cc19044 32 z += recv.read();
kyleliangus 5:7e1e4cc19044 33 ir.write( 0 );
kyleliangus 32:69acb14778ea 34 wait_us(5);
kyleliangus 4:b5b7836ca2b0 35 return z / samples;
kyleliangus 15:b80555a4a8b9 36 }