Mouse code for the MacroRat
irpair.cpp@33:68ce1f74ab5f, 2017-05-26 (annotated)
- Committer:
- sahilmgandhi
- Date:
- Fri May 26 06:23:19 2017 +0000
- Revision:
- 33:68ce1f74ab5f
- Parent:
- 32:69acb14778ea
- Child:
- 38:fe05f93009a2
PID working with the new IRs now ... need to tune it a bit though.
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 | #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 | } |