Mouse code for the MacroRat
main.h@11:8fc2b703086b, 2017-05-07 (annotated)
- Committer:
- vanshg
- Date:
- Sun May 07 01:13:42 2017 +0000
- Revision:
- 11:8fc2b703086b
- Parent:
- 10:810d1849da9d
- Child:
- 15:b80555a4a8b9
Counting cells somewhat properly now
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kyleliangus | 4:b5b7836ca2b0 | 1 | #ifndef MAIN_H |
kyleliangus | 4:b5b7836ca2b0 | 2 | #define MAIN_H |
kyleliangus | 4:b5b7836ca2b0 | 3 | |
kyleliangus | 4:b5b7836ca2b0 | 4 | #include "mbed.h" |
kyleliangus | 4:b5b7836ca2b0 | 5 | #include "ITG3200.h" |
kyleliangus | 9:1d8e4da058cd | 6 | #include "motor.h" |
vanshg | 11:8fc2b703086b | 7 | #include "QEI.h" |
vanshg | 11:8fc2b703086b | 8 | #define PULSES 3520 |
vanshg | 11:8fc2b703086b | 9 | #define SAMPLE_NUM 100 |
kyleliangus | 4:b5b7836ca2b0 | 10 | |
kyleliangus | 4:b5b7836ca2b0 | 11 | // Motors |
kyleliangus | 8:a0760acdc59e | 12 | /* |
kyleliangus | 4:b5b7836ca2b0 | 13 | PwmOut left1(PB_7); |
kyleliangus | 4:b5b7836ca2b0 | 14 | PwmOut left2(PB_8); |
kyleliangus | 4:b5b7836ca2b0 | 15 | PwmOut right1(PA_10); |
kyleliangus | 4:b5b7836ca2b0 | 16 | PwmOut right2(PA_11); |
kyleliangus | 4:b5b7836ca2b0 | 17 | |
sahilmgandhi | 7:6f5cb6377bd4 | 18 | DigitalOut enableLeftMotor(PB_4); |
sahilmgandhi | 7:6f5cb6377bd4 | 19 | DigitalOut enableRightMotor(PB_5); |
kyleliangus | 8:a0760acdc59e | 20 | */ |
sahilmgandhi | 7:6f5cb6377bd4 | 21 | |
kyleliangus | 4:b5b7836ca2b0 | 22 | // RGB LED |
kyleliangus | 4:b5b7836ca2b0 | 23 | DigitalOut redLed(PC_0); |
kyleliangus | 4:b5b7836ca2b0 | 24 | DigitalOut blueLed(PC_1); |
kyleliangus | 4:b5b7836ca2b0 | 25 | DigitalOut greenLed(PC_2); |
kyleliangus | 4:b5b7836ca2b0 | 26 | |
kyleliangus | 9:1d8e4da058cd | 27 | // IRPairs |
kyleliangus | 9:1d8e4da058cd | 28 | IRPair IRP_4( PB_1, PC_5 ); |
kyleliangus | 9:1d8e4da058cd | 29 | IRPair IRP_3( PB_13, PC_4 ); |
kyleliangus | 9:1d8e4da058cd | 30 | IRPair IRP_2( PB_0, PA_6 ); |
kyleliangus | 9:1d8e4da058cd | 31 | IRPair IRP_1( PB_14, PA_7 ); |
kyleliangus | 9:1d8e4da058cd | 32 | |
kyleliangus | 9:1d8e4da058cd | 33 | Motor left_motor( PB_7, PB_8, PB_4 ); |
kyleliangus | 9:1d8e4da058cd | 34 | Motor right_motor( PA_10, PA_11, PB_5 ); |
kyleliangus | 9:1d8e4da058cd | 35 | |
kyleliangus | 9:1d8e4da058cd | 36 | /* |
kyleliangus | 4:b5b7836ca2b0 | 37 | DigitalOut IR_1(PB_1); |
kyleliangus | 4:b5b7836ca2b0 | 38 | DigitalOut IR_2(PB_13); |
kyleliangus | 4:b5b7836ca2b0 | 39 | DigitalOut IR_3(PB_0); |
kyleliangus | 4:b5b7836ca2b0 | 40 | DigitalOut IR_4(PB_14); |
kyleliangus | 4:b5b7836ca2b0 | 41 | // Receivers |
kyleliangus | 4:b5b7836ca2b0 | 42 | AnalogIn Rec_1(PC_5); |
kyleliangus | 4:b5b7836ca2b0 | 43 | AnalogIn Rec_2(PC_4); |
kyleliangus | 4:b5b7836ca2b0 | 44 | AnalogIn Rec_3(PA_6); |
kyleliangus | 4:b5b7836ca2b0 | 45 | AnalogIn Rec_4(PA_7); |
kyleliangus | 9:1d8e4da058cd | 46 | */ |
kyleliangus | 4:b5b7836ca2b0 | 47 | |
kyleliangus | 4:b5b7836ca2b0 | 48 | // Doing DEBUGGING |
kyleliangus | 4:b5b7836ca2b0 | 49 | #define DEBUGGING 1 |
kyleliangus | 4:b5b7836ca2b0 | 50 | Serial serial(PC_6, PC_7); |
kyleliangus | 4:b5b7836ca2b0 | 51 | |
kyleliangus | 4:b5b7836ca2b0 | 52 | // Gyro |
kyleliangus | 4:b5b7836ca2b0 | 53 | ITG3200 gyro(PC_9, PA_8); |
kyleliangus | 4:b5b7836ca2b0 | 54 | |
kyleliangus | 4:b5b7836ca2b0 | 55 | volatile double reading = 0; |
kyleliangus | 4:b5b7836ca2b0 | 56 | |
kyleliangus | 4:b5b7836ca2b0 | 57 | int gyroX = 0; |
kyleliangus | 4:b5b7836ca2b0 | 58 | int gyroY = 0; |
kyleliangus | 4:b5b7836ca2b0 | 59 | int gyroZ = 0; |
kyleliangus | 4:b5b7836ca2b0 | 60 | |
vanshg | 10:810d1849da9d | 61 | InterruptIn dipButton1(PB_15); |
vanshg | 10:810d1849da9d | 62 | InterruptIn dipButton2(PB_10); |
vanshg | 10:810d1849da9d | 63 | InterruptIn dipButton3(PB_9); |
vanshg | 10:810d1849da9d | 64 | InterruptIn dipButton4(PB_12); |
vanshg | 10:810d1849da9d | 65 | |
vanshg | 10:810d1849da9d | 66 | void enableButton1(); |
vanshg | 10:810d1849da9d | 67 | void enableButton2(); |
vanshg | 10:810d1849da9d | 68 | void enableButton3(); |
vanshg | 10:810d1849da9d | 69 | void enableButton4(); |
vanshg | 10:810d1849da9d | 70 | void disableButton1(); |
vanshg | 10:810d1849da9d | 71 | void disableButton2(); |
vanshg | 10:810d1849da9d | 72 | void disableButton3(); |
vanshg | 10:810d1849da9d | 73 | void disableButton4(); |
vanshg | 10:810d1849da9d | 74 | |
vanshg | 10:810d1849da9d | 75 | int dipFlags = 0; |
vanshg | 11:8fc2b703086b | 76 | #define BUTTON1_FLAG 0x1 |
vanshg | 11:8fc2b703086b | 77 | #define BUTTON2_FLAG 0x2 |
vanshg | 11:8fc2b703086b | 78 | #define BUTTON3_FLAG 0x4 |
vanshg | 11:8fc2b703086b | 79 | #define BUTTON4_FLAG 0x8 |
vanshg | 11:8fc2b703086b | 80 | |
vanshg | 11:8fc2b703086b | 81 | QEI encoder0( PA_5, PB_3, NC, PULSES, QEI::X4_ENCODING ); |
vanshg | 11:8fc2b703086b | 82 | QEI encoder1( PA_1, PA_0, NC, PULSES, QEI::X4_ENCODING ); |
vanshg | 10:810d1849da9d | 83 | |
kyleliangus | 4:b5b7836ca2b0 | 84 | #endif |