
test
Dependents: MouseHybridSenseCode
funcdef.h@6:a652deaae134, 2018-04-01 (annotated)
- Committer:
- JamieBignell
- Date:
- Sun Apr 01 18:21:50 2018 +0000
- Revision:
- 6:a652deaae134
- Parent:
- 5:dfea493f7a12
- Child:
- 7:11dd5581c763
working 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 | 5:dfea493f7a12 | 14 | #define leftMotorpin D6 |
JamieBignell | 5:dfea493f7a12 | 15 | #define rightMotorpin D1 |
JamieBignell | 5:dfea493f7a12 | 16 | #define beeperPin D10 |
JamieBignell | 5:dfea493f7a12 | 17 | |
JamieBignell | 6:a652deaae134 | 18 | #define Kp 65 |
JamieBignell | 5:dfea493f7a12 | 19 | #define Ki 0 |
JamieBignell | 6:a652deaae134 | 20 | #define Kd 30 |
JamieBignell | 6:a652deaae134 | 21 | #define Ac 100 |
JamieBignell | 3:7f44ab64e96b | 22 | |
JamieBignell | 6:a652deaae134 | 23 | //i=0.05 to high |
JamieBignell | 6:a652deaae134 | 24 | //values that work, p=55 ,i=0.003,d=0,motorcurve=normal, initial speed=250, fast 300seconds, middle hole |
JamieBignell | 6:a652deaae134 | 25 | |
JamieBignell | 6:a652deaae134 | 26 | //values that work, p=45 ,i=0.005,d=0,motorcurve=normal, initial speed=250, fast 300seconds, middle hole |
JamieBignell | 6:a652deaae134 | 27 | |
JamieBignell | 6:a652deaae134 | 28 | // |
JamieBignell | 6:a652deaae134 | 29 | |
JamieBignell | 6:a652deaae134 | 30 | #define calibrationMotorspeed 350 |
JamieBignell | 6:a652deaae134 | 31 | |
JamieBignell | 5:dfea493f7a12 | 32 | //http://www.sengpielaudio.com/calculator-notenames.htm |
JamieBignell | 5:dfea493f7a12 | 33 | |
JamieBignell | 5:dfea493f7a12 | 34 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
JamieBignell | 4:f1670eec4681 | 35 | //Pin Definitions |
JamieBignell | 3:7f44ab64e96b | 36 | static DigitalOut LEDVal = DigitalOut(LED1); |
JamieBignell | 6:a652deaae134 | 37 | static DigitalOut CountingVar = DigitalOut(D0); |
JamieBignell | 5:dfea493f7a12 | 38 | static PwmOut leftMotorVal=PwmOut(leftMotorpin); |
JamieBignell | 5:dfea493f7a12 | 39 | static PwmOut rightMotorVal=PwmOut(rightMotorpin); |
JamieBignell | 3:7f44ab64e96b | 40 | |
JamieBignell | 3:7f44ab64e96b | 41 | static AnalogIn sensorPin[] = {A0,A1,A2,A3,A4,A5,A6,D3}; |
JamieBignell | 3:7f44ab64e96b | 42 | |
JamieBignell | 5:dfea493f7a12 | 43 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
JamieBignell | 5:dfea493f7a12 | 44 | //Global Variable Definitions |
JamieBignell | 5:dfea493f7a12 | 45 | extern int sensorValue[8]; |
JamieBignell | 5:dfea493f7a12 | 46 | |
JamieBignell | 5:dfea493f7a12 | 47 | extern int sensorMinValue[8]; |
JamieBignell | 5:dfea493f7a12 | 48 | extern int sensorMaxValue[8]; |
JamieBignell | 5:dfea493f7a12 | 49 | |
JamieBignell | 5:dfea493f7a12 | 50 | extern int sensorMinValue1[8]; |
JamieBignell | 5:dfea493f7a12 | 51 | extern int sensorMaxValue1[8]; |
JamieBignell | 5:dfea493f7a12 | 52 | |
JamieBignell | 5:dfea493f7a12 | 53 | extern int sensorMinValue2[8]; |
JamieBignell | 5:dfea493f7a12 | 54 | extern int sensorMaxValue2[8]; |
JamieBignell | 5:dfea493f7a12 | 55 | |
JamieBignell | 5:dfea493f7a12 | 56 | extern int sensorThreshold[8]; |
JamieBignell | 6:a652deaae134 | 57 | extern float sensorErrors[8]; |
JamieBignell | 6:a652deaae134 | 58 | |
JamieBignell | 6:a652deaae134 | 59 | extern float Prop; |
JamieBignell | 6:a652deaae134 | 60 | extern float Inte; |
JamieBignell | 6:a652deaae134 | 61 | extern float Dere; |
JamieBignell | 5:dfea493f7a12 | 62 | |
JamieBignell | 6:a652deaae134 | 63 | extern float errorVar; |
JamieBignell | 6:a652deaae134 | 64 | extern float previousError; |
JamieBignell | 6:a652deaae134 | 65 | extern float PIDs; |
JamieBignell | 6:a652deaae134 | 66 | extern int newPIDs; |
JamieBignell | 6:a652deaae134 | 67 | extern int initialMotorspeed; |
JamieBignell | 6:a652deaae134 | 68 | extern int leftMotorValTemp; |
JamieBignell | 6:a652deaae134 | 69 | extern int rightMotorValTemp; |
JamieBignell | 5:dfea493f7a12 | 70 | extern int accumulator; |
JamieBignell | 6:a652deaae134 | 71 | extern bool stopMotors; |
JamieBignell | 5:dfea493f7a12 | 72 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
JamieBignell | 3:7f44ab64e96b | 73 | //Function Definitions |
JamieBignell | 5:dfea493f7a12 | 74 | |
JamieBignell | 3:7f44ab64e96b | 75 | void CalibrateFunc(void); |
JamieBignell | 5:dfea493f7a12 | 76 | void senseFunc(void); |
JamieBignell | 5:dfea493f7a12 | 77 | void calculateFunc(void); |
JamieBignell | 5:dfea493f7a12 | 78 | void driveFunc(void); |
JamieBignell | 5:dfea493f7a12 | 79 | void findLineFunc(void); |
JamieBignell | 0:c0c329729a7a | 80 | |
JamieBignell | 3:7f44ab64e96b | 81 | #endif // FUNCDEF_H |