
test
Dependents: MouseHybridSenseCode
funcdef.h@5:dfea493f7a12, 2018-03-11 (annotated)
- Committer:
- JamieBignell
- Date:
- Sun Mar 11 13:15:34 2018 +0000
- Revision:
- 5:dfea493f7a12
- Parent:
- 4:f1670eec4681
- Child:
- 6:a652deaae134
11/03/18 First final version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JamieBignell | 5:dfea493f7a12 | 1 | //Define the file once, in the C and C++ programming languages, an #include guard,is a particular construct used to |
JamieBignell | 5:dfea493f7a12 | 2 | //avoid the problem of double inclusion when dealing with the include directive. The addition of #include guards to a header file is one way to make that file idempotent. |
JamieBignell | 3:7f44ab64e96b | 3 | #ifndef FUNCDEF_H |
JamieBignell | 3:7f44ab64e96b | 4 | #define FUNCDEF_H |
JamieBignell | 0:c0c329729a7a | 5 | |
JamieBignell | 4:f1670eec4681 | 6 | //Import Modules |
JamieBignell | 5:dfea493f7a12 | 7 | #include <mbed.h> |
JamieBignell | 4:f1670eec4681 | 8 | |
JamieBignell | 4:f1670eec4681 | 9 | //Set up PC link (comment out when not using), set up 9600 if using plotter |
JamieBignell | 3:7f44ab64e96b | 10 | static Serial pc = Serial(USBTX, USBRX); |
JamieBignell | 3:7f44ab64e96b | 11 | |
JamieBignell | 5:dfea493f7a12 | 12 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
JamieBignell | 4:f1670eec4681 | 13 | //Pin Names |
JamieBignell | 3:7f44ab64e96b | 14 | #define sensor1pin A0 |
JamieBignell | 3:7f44ab64e96b | 15 | #define sensor2pin A1 |
JamieBignell | 3:7f44ab64e96b | 16 | #define sensor3pin A2 |
JamieBignell | 3:7f44ab64e96b | 17 | #define sensor4pin A3 |
JamieBignell | 3:7f44ab64e96b | 18 | #define sensor5pin A4 |
JamieBignell | 3:7f44ab64e96b | 19 | #define sensor6pin A5 |
JamieBignell | 3:7f44ab64e96b | 20 | #define sensor7pin A6 |
JamieBignell | 3:7f44ab64e96b | 21 | #define sensor8pin D3 |
JamieBignell | 3:7f44ab64e96b | 22 | |
JamieBignell | 5:dfea493f7a12 | 23 | #define leftMotorpin D6 |
JamieBignell | 5:dfea493f7a12 | 24 | #define rightMotorpin D1 |
JamieBignell | 5:dfea493f7a12 | 25 | #define beeperPin D10 |
JamieBignell | 5:dfea493f7a12 | 26 | |
JamieBignell | 5:dfea493f7a12 | 27 | #define Kp 50 |
JamieBignell | 5:dfea493f7a12 | 28 | #define Ki 0 |
JamieBignell | 5:dfea493f7a12 | 29 | #define Kd 0 |
JamieBignell | 5:dfea493f7a12 | 30 | #define Ac 10 |
JamieBignell | 3:7f44ab64e96b | 31 | |
JamieBignell | 5:dfea493f7a12 | 32 | #define period_F6 716 |
JamieBignell | 5:dfea493f7a12 | 33 | #define period_E6 758 |
JamieBignell | 5:dfea493f7a12 | 34 | #define period_D6 851 |
JamieBignell | 5:dfea493f7a12 | 35 | #define period_B6 506 |
JamieBignell | 5:dfea493f7a12 | 36 | #define period_A6 568 |
JamieBignell | 5:dfea493f7a12 | 37 | //http://www.sengpielaudio.com/calculator-notenames.htm |
JamieBignell | 5:dfea493f7a12 | 38 | |
JamieBignell | 5:dfea493f7a12 | 39 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
JamieBignell | 4:f1670eec4681 | 40 | //Pin Definitions |
JamieBignell | 3:7f44ab64e96b | 41 | static DigitalOut LEDVal = DigitalOut(LED1); |
JamieBignell | 3:7f44ab64e96b | 42 | |
JamieBignell | 5:dfea493f7a12 | 43 | static PwmOut leftMotorVal=PwmOut(leftMotorpin); |
JamieBignell | 5:dfea493f7a12 | 44 | static PwmOut rightMotorVal=PwmOut(rightMotorpin); |
JamieBignell | 5:dfea493f7a12 | 45 | static PwmOut beeperVal = PwmOut(beeperPin); |
JamieBignell | 3:7f44ab64e96b | 46 | |
JamieBignell | 3:7f44ab64e96b | 47 | static AnalogIn sensorPin[] = {A0,A1,A2,A3,A4,A5,A6,D3}; |
JamieBignell | 3:7f44ab64e96b | 48 | |
JamieBignell | 5:dfea493f7a12 | 49 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
JamieBignell | 5:dfea493f7a12 | 50 | //Global Variable Definitions |
JamieBignell | 5:dfea493f7a12 | 51 | extern int sensorValue[8]; |
JamieBignell | 5:dfea493f7a12 | 52 | |
JamieBignell | 5:dfea493f7a12 | 53 | extern int sensorMinValue[8]; |
JamieBignell | 5:dfea493f7a12 | 54 | extern int sensorMaxValue[8]; |
JamieBignell | 5:dfea493f7a12 | 55 | |
JamieBignell | 5:dfea493f7a12 | 56 | extern int sensorMinValue1[8]; |
JamieBignell | 5:dfea493f7a12 | 57 | extern int sensorMaxValue1[8]; |
JamieBignell | 5:dfea493f7a12 | 58 | |
JamieBignell | 5:dfea493f7a12 | 59 | extern int sensorMinValue2[8]; |
JamieBignell | 5:dfea493f7a12 | 60 | extern int sensorMaxValue2[8]; |
JamieBignell | 5:dfea493f7a12 | 61 | |
JamieBignell | 5:dfea493f7a12 | 62 | extern int sensorThreshold[8]; |
JamieBignell | 5:dfea493f7a12 | 63 | extern int sensorErrors[8]; |
JamieBignell | 5:dfea493f7a12 | 64 | |
JamieBignell | 5:dfea493f7a12 | 65 | extern int Prop; |
JamieBignell | 5:dfea493f7a12 | 66 | //extern int Inte; |
JamieBignell | 5:dfea493f7a12 | 67 | //extern int Dere; |
JamieBignell | 5:dfea493f7a12 | 68 | extern int errorVar; |
JamieBignell | 5:dfea493f7a12 | 69 | extern int previousError; |
JamieBignell | 5:dfea493f7a12 | 70 | extern int PIDs; |
JamieBignell | 5:dfea493f7a12 | 71 | extern int accumulator; |
JamieBignell | 5:dfea493f7a12 | 72 | extern int counter; |
JamieBignell | 5:dfea493f7a12 | 73 | extern int delayBetweenPulses_ms; |
JamieBignell | 5:dfea493f7a12 | 74 | extern int note; |
JamieBignell | 5:dfea493f7a12 | 75 | extern int initialMotorspeed; |
JamieBignell | 5:dfea493f7a12 | 76 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
JamieBignell | 3:7f44ab64e96b | 77 | //Function Definitions |
JamieBignell | 5:dfea493f7a12 | 78 | |
JamieBignell | 3:7f44ab64e96b | 79 | void CalibrateFunc(void); |
JamieBignell | 5:dfea493f7a12 | 80 | void printCalibrateValues(void); |
JamieBignell | 4:f1670eec4681 | 81 | void beep(int); |
JamieBignell | 5:dfea493f7a12 | 82 | void senseFunc(void); |
JamieBignell | 5:dfea493f7a12 | 83 | void calculateFunc(void); |
JamieBignell | 5:dfea493f7a12 | 84 | void driveFunc(void); |
JamieBignell | 5:dfea493f7a12 | 85 | void findLineFunc(void); |
JamieBignell | 5:dfea493f7a12 | 86 | void errorAccumulate(void); |
JamieBignell | 0:c0c329729a7a | 87 | |
JamieBignell | 3:7f44ab64e96b | 88 | #endif // FUNCDEF_H |