Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
vanshg
Date:
Sat May 06 22:49:31 2017 +0000
Revision:
10:810d1849da9d
Parent:
9:1d8e4da058cd
Child:
15:b80555a4a8b9
Added interrupts for dip switch.; Added stm324xxx.h header; Began configuration for Tim2 and Tim5

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 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 }*/