Mouse code for the MacroRat
irpair.cpp@9:1d8e4da058cd, 2017-05-06 (annotated)
- Committer:
- kyleliangus
- Date:
- Sat May 06 01:31:44 2017 +0000
- Revision:
- 9:1d8e4da058cd
- Parent:
- 6:3d68fedd6fd9
- Child:
- 15:b80555a4a8b9
IR PID is now implemented
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 | 6:3d68fedd6fd9 | 4 | void IRPair::calibrateSensor() { |
kyleliangus | 4:b5b7836ca2b0 | 5 | |
kyleliangus | 9:1d8e4da058cd | 6 | ir.write( 1 ); |
kyleliangus | 9:1d8e4da058cd | 7 | |
kyleliangus | 4:b5b7836ca2b0 | 8 | for (int i = 0; i < samplesToTake; ++i) |
kyleliangus | 5:7e1e4cc19044 | 9 | sensorAvg += recv.read(); |
kyleliangus | 4:b5b7836ca2b0 | 10 | |
kyleliangus | 9:1d8e4da058cd | 11 | ir.write( 0 ); |
kyleliangus | 4:b5b7836ca2b0 | 12 | sensorAvg /= samplesToTake; |
kyleliangus | 4:b5b7836ca2b0 | 13 | } |
kyleliangus | 4:b5b7836ca2b0 | 14 | |
kyleliangus | 6:3d68fedd6fd9 | 15 | float IRPair::getSamples( int samples ) |
kyleliangus | 4:b5b7836ca2b0 | 16 | { |
kyleliangus | 4:b5b7836ca2b0 | 17 | float z = 0; |
kyleliangus | 5:7e1e4cc19044 | 18 | ir.write( 1 ); |
kyleliangus | 4:b5b7836ca2b0 | 19 | for( int i = 0; i < samples; ++i ) |
kyleliangus | 5:7e1e4cc19044 | 20 | z += recv.read(); |
kyleliangus | 5:7e1e4cc19044 | 21 | ir.write( 0 ); |
kyleliangus | 4:b5b7836ca2b0 | 22 | return z / samples; |
kyleliangus | 4:b5b7836ca2b0 | 23 | } |
kyleliangus | 4:b5b7836ca2b0 | 24 | |
kyleliangus | 4:b5b7836ca2b0 | 25 | /* |
kyleliangus | 4:b5b7836ca2b0 | 26 | inline float IrLED::blinkLED( int i, int samples ) |
kyleliangus | 4:b5b7836ca2b0 | 27 | { |
kyleliangus | 4:b5b7836ca2b0 | 28 | float z = 0; |
kyleliangus | 4:b5b7836ca2b0 | 29 | if( i == 1 ) |
kyleliangus | 4:b5b7836ca2b0 | 30 | { |
kyleliangus | 4:b5b7836ca2b0 | 31 | IR_LED1.write(1); |
kyleliangus | 4:b5b7836ca2b0 | 32 | for( int j = 0; j < samples; j++ ) |
kyleliangus | 4:b5b7836ca2b0 | 33 | z += IR_Sensor1.read(); |
kyleliangus | 4:b5b7836ca2b0 | 34 | IR_LED1.write(0); |
kyleliangus | 4:b5b7836ca2b0 | 35 | } |
kyleliangus | 4:b5b7836ca2b0 | 36 | if( i == 2 ) |
kyleliangus | 4:b5b7836ca2b0 | 37 | { |
kyleliangus | 4:b5b7836ca2b0 | 38 | IR_LED2.write(1); |
kyleliangus | 4:b5b7836ca2b0 | 39 | for( int j = 0; j < samples; j++ ) |
kyleliangus | 4:b5b7836ca2b0 | 40 | z += IR_Sensor2.read(); |
kyleliangus | 4:b5b7836ca2b0 | 41 | IR_LED2.write(0); |
kyleliangus | 4:b5b7836ca2b0 | 42 | } |
kyleliangus | 4:b5b7836ca2b0 | 43 | if( i == 3 ) |
kyleliangus | 4:b5b7836ca2b0 | 44 | { |
kyleliangus | 4:b5b7836ca2b0 | 45 | IR_LED3.write(1); |
kyleliangus | 4:b5b7836ca2b0 | 46 | for( int j = 0; j < samples; j++ ) |
kyleliangus | 4:b5b7836ca2b0 | 47 | z += IR_Sensor3.read(); |
kyleliangus | 4:b5b7836ca2b0 | 48 | IR_LED4.write(0); |
kyleliangus | 4:b5b7836ca2b0 | 49 | } |
kyleliangus | 4:b5b7836ca2b0 | 50 | if( i == 4 ) |
kyleliangus | 4:b5b7836ca2b0 | 51 | { |
kyleliangus | 4:b5b7836ca2b0 | 52 | IR_LED4.write(1); |
kyleliangus | 4:b5b7836ca2b0 | 53 | for( int j = 0; j < samples; j++ ) |
kyleliangus | 4:b5b7836ca2b0 | 54 | z += IR_Sensor4.read(); |
kyleliangus | 4:b5b7836ca2b0 | 55 | IR_LED4.write(0); |
kyleliangus | 4:b5b7836ca2b0 | 56 | } |
kyleliangus | 4:b5b7836ca2b0 | 57 | if( DEBUGGING ) |
kyleliangus | 4:b5b7836ca2b0 | 58 | serial.println( "Sample by IR %d: %f\n", i, z ); |
kyleliangus | 4:b5b7836ca2b0 | 59 | return z / samples; |
kyleliangus | 4:b5b7836ca2b0 | 60 | }*/ |