Mouse code for the MacroRat
irpair.cpp@32:69acb14778ea, 2017-05-26 (annotated)
- Committer:
- kyleliangus
- Date:
- Fri May 26 03:46:03 2017 +0000
- Revision:
- 32:69acb14778ea
- Parent:
- 29:ec2c5a69acd6
- Child:
- 33:68ce1f74ab5f
PID values still wonky. IR PID vs Encoder PID also wonky
Who changed what in which revision?
User | Revision | Line number | New 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 | //Ticker toggleIr; |
kyleliangus | 32:69acb14778ea | 5 | |
kyleliangus | 32:69acb14778ea | 6 | #define dark_samples 10 |
kyleliangus | 32:69acb14778ea | 7 | #define busy_wait 10 |
sahilmgandhi | 29:ec2c5a69acd6 | 8 | |
kyleliangus | 6:3d68fedd6fd9 | 9 | void IRPair::calibrateSensor() { |
kyleliangus | 4:b5b7836ca2b0 | 10 | |
kyleliangus | 9:1d8e4da058cd | 11 | ir.write( 1 ); |
kyleliangus | 32:69acb14778ea | 12 | wait_us(55); |
kyleliangus | 9:1d8e4da058cd | 13 | |
kyleliangus | 4:b5b7836ca2b0 | 14 | for (int i = 0; i < samplesToTake; ++i) |
kyleliangus | 5:7e1e4cc19044 | 15 | sensorAvg += recv.read(); |
kyleliangus | 4:b5b7836ca2b0 | 16 | |
kyleliangus | 9:1d8e4da058cd | 17 | ir.write( 0 ); |
kyleliangus | 4:b5b7836ca2b0 | 18 | sensorAvg /= samplesToTake; |
kyleliangus | 32:69acb14778ea | 19 | wait_us(5); |
kyleliangus | 4:b5b7836ca2b0 | 20 | } |
kyleliangus | 4:b5b7836ca2b0 | 21 | |
kyleliangus | 32:69acb14778ea | 22 | double IRPair::getSamples( int samples ) |
kyleliangus | 4:b5b7836ca2b0 | 23 | { |
kyleliangus | 32:69acb14778ea | 24 | double z = 0; |
kyleliangus | 32:69acb14778ea | 25 | |
kyleliangus | 32:69acb14778ea | 26 | ir.write( 0 ); |
kyleliangus | 32:69acb14778ea | 27 | //for( int i = 0; i < dark_samples; i++ ) |
kyleliangus | 32:69acb14778ea | 28 | // z1 += recv.read(); |
kyleliangus | 32:69acb14778ea | 29 | |
kyleliangus | 5:7e1e4cc19044 | 30 | ir.write( 1 ); |
kyleliangus | 32:69acb14778ea | 31 | wait_us(55); |
sahilmgandhi | 29:ec2c5a69acd6 | 32 | |
kyleliangus | 4:b5b7836ca2b0 | 33 | for( int i = 0; i < samples; ++i ) |
kyleliangus | 5:7e1e4cc19044 | 34 | z += recv.read(); |
kyleliangus | 5:7e1e4cc19044 | 35 | ir.write( 0 ); |
kyleliangus | 32:69acb14778ea | 36 | wait_us(5); |
kyleliangus | 4:b5b7836ca2b0 | 37 | return z / samples; |
kyleliangus | 15:b80555a4a8b9 | 38 | } |