Corrected header file include guards.
Fork of initExoVars by
initExoVars.h@13:268f4564a809, 2015-07-02 (annotated)
- Committer:
- nathanhonka
- Date:
- Thu Jul 02 21:38:21 2015 +0000
- Revision:
- 13:268f4564a809
- Parent:
- 12:3a5a9bbf1c93
Corrected header file include guards (did not encapsulate entire header).
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| perr1940 | 0:cd5ad8e47eb8 | 1 | |
| perr1940 | 0:cd5ad8e47eb8 | 2 | |
| perr1940 | 0:cd5ad8e47eb8 | 3 | #ifndef INIT_H |
| perr1940 | 0:cd5ad8e47eb8 | 4 | #define INIT_H |
| perr1940 | 0:cd5ad8e47eb8 | 5 | |
| perr1940 | 0:cd5ad8e47eb8 | 6 | #include "mbed.h" |
| perr1940 | 0:cd5ad8e47eb8 | 7 | #include "Encoder.h" |
| perr1940 | 0:cd5ad8e47eb8 | 8 | #include "HipControl.h" |
| perr1940 | 0:cd5ad8e47eb8 | 9 | #include "knee.h" |
| perr1940 | 0:cd5ad8e47eb8 | 10 | #include "FSM.h" |
| perr1940 | 0:cd5ad8e47eb8 | 11 | #include "MM_gait.h" |
| perr1940 | 9:6cf157a6d58b | 12 | #include "Brad_poly_gait.h" |
| perr1940 | 0:cd5ad8e47eb8 | 13 | #define PI (3.141592653589793) |
| perr1940 | 0:cd5ad8e47eb8 | 14 | #define my_delete(x) {delete x; x = NULL;} |
| perr1940 | 0:cd5ad8e47eb8 | 15 | |
| perr1940 | 0:cd5ad8e47eb8 | 16 | //#define SAMPLE_TIME .01 |
| perr1940 | 0:cd5ad8e47eb8 | 17 | #define SAMPLE_TIME .001 |
| perr1940 | 0:cd5ad8e47eb8 | 18 | #define TO_RAD(x) (x * 0.01745329252) // *pi/180 |
| perr1940 | 0:cd5ad8e47eb8 | 19 | |
| perr1940 | 0:cd5ad8e47eb8 | 20 | |
| perr1940 | 0:cd5ad8e47eb8 | 21 | /******************************** |
| perr1940 | 0:cd5ad8e47eb8 | 22 | * Initializing various I/O pins! |
| perr1940 | 0:cd5ad8e47eb8 | 23 | ********************************/ |
| perr1940 | 0:cd5ad8e47eb8 | 24 | extern DigitalOut mbedLED1; |
| perr1940 | 0:cd5ad8e47eb8 | 25 | extern DigitalOut mbedLED2; |
| perr1940 | 0:cd5ad8e47eb8 | 26 | extern DigitalOut mbedLED3; |
| perr1940 | 0:cd5ad8e47eb8 | 27 | extern DigitalOut motorLED; |
| perr1940 | 0:cd5ad8e47eb8 | 28 | |
| perr1940 | 0:cd5ad8e47eb8 | 29 | extern SPI dataBedSPI; // mosi, miso, sclk |
| perr1940 | 0:cd5ad8e47eb8 | 30 | extern DigitalOut DB_cs; |
| perr1940 | 0:cd5ad8e47eb8 | 31 | extern SPI IMUspi; |
| perr1940 | 0:cd5ad8e47eb8 | 32 | extern DigitalOut IMUcs; |
| perr1940 | 0:cd5ad8e47eb8 | 33 | extern Serial pc; |
| perr1940 | 0:cd5ad8e47eb8 | 34 | |
| perr1940 | 0:cd5ad8e47eb8 | 35 | // Setup stuff |
| perr1940 | 0:cd5ad8e47eb8 | 36 | // absolutes |
| perr1940 | 0:cd5ad8e47eb8 | 37 | //extern SPI encoder_L; |
| perr1940 | 0:cd5ad8e47eb8 | 38 | //extern DigitalOut encoder_cs_L; |
| perr1940 | 0:cd5ad8e47eb8 | 39 | //extern SPI encoder_R; |
| perr1940 | 0:cd5ad8e47eb8 | 40 | //extern DigitalOut encoder_cs_R; |
| perr1940 | 0:cd5ad8e47eb8 | 41 | extern Encoder encoder_L; |
| perr1940 | 0:cd5ad8e47eb8 | 42 | extern Encoder encoder_R; |
| perr1940 | 0:cd5ad8e47eb8 | 43 | |
| perr1940 | 0:cd5ad8e47eb8 | 44 | // Incremental Indexes (only for homing!) |
| perr1940 | 0:cd5ad8e47eb8 | 45 | extern InterruptIn encIdx_R; |
| perr1940 | 0:cd5ad8e47eb8 | 46 | extern InterruptIn encIdx_L; |
| perr1940 | 0:cd5ad8e47eb8 | 47 | |
| perr1940 | 0:cd5ad8e47eb8 | 48 | // Right Leg |
| perr1940 | 0:cd5ad8e47eb8 | 49 | extern PwmOut pwmpin_R; |
| perr1940 | 0:cd5ad8e47eb8 | 50 | extern DigitalOut dirpin_R; |
| perr1940 | 0:cd5ad8e47eb8 | 51 | |
| perr1940 | 0:cd5ad8e47eb8 | 52 | //Left Leg |
| perr1940 | 0:cd5ad8e47eb8 | 53 | //extern PwmOut pwmpin_L; |
| perr1940 | 0:cd5ad8e47eb8 | 54 | //extern DigitalOut dirpin_L; |
| perr1940 | 0:cd5ad8e47eb8 | 55 | extern HipControl hip_L; |
| perr1940 | 0:cd5ad8e47eb8 | 56 | extern HipControl hip_R; |
| perr1940 | 0:cd5ad8e47eb8 | 57 | extern Knee knee_L; |
| perr1940 | 0:cd5ad8e47eb8 | 58 | extern Knee knee_R; |
| perr1940 | 0:cd5ad8e47eb8 | 59 | |
| perr1940 | 0:cd5ad8e47eb8 | 60 | extern FSM fsm; |
| perr1940 | 0:cd5ad8e47eb8 | 61 | |
| perr1940 | 0:cd5ad8e47eb8 | 62 | extern struct MMgait_t mm_gait_params; |
| perr1940 | 9:6cf157a6d58b | 63 | extern struct Brad_poly_gait_t gait_params; |
| perr1940 | 9:6cf157a6d58b | 64 | //extern MMSwing swing; |
| perr1940 | 9:6cf157a6d58b | 65 | //extern MMStance stance; |
| perr1940 | 9:6cf157a6d58b | 66 | extern BradPolySwing swing; |
| perr1940 | 9:6cf157a6d58b | 67 | extern BradPolyStance stance; |
| cashdollar | 2:650a015179b9 | 68 | extern MMFSStance fsStance; |
| cashdollar | 2:650a015179b9 | 69 | extern MMFSSwing fsSwing; |
| cashdollar | 2:650a015179b9 | 70 | extern MMFTG ftgSwing; |
| cashdollar | 2:650a015179b9 | 71 | extern MMFTG ftgStance; |
| perr1940 | 0:cd5ad8e47eb8 | 72 | extern GaitGenerator mm_gait; |
| cashdollar | 4:bd8994714003 | 73 | extern LinearBlend blend_left; |
| cashdollar | 4:bd8994714003 | 74 | extern LinearBlend blend_right; |
| perr1940 | 0:cd5ad8e47eb8 | 75 | |
| perr1940 | 0:cd5ad8e47eb8 | 76 | |
| perr1940 | 0:cd5ad8e47eb8 | 77 | /******************************* |
| perr1940 | 0:cd5ad8e47eb8 | 78 | * END OF I/O Initialization |
| perr1940 | 0:cd5ad8e47eb8 | 79 | *******************************/ |
| perr1940 | 0:cd5ad8e47eb8 | 80 | |
| perr1940 | 0:cd5ad8e47eb8 | 81 | /******************************* |
| perr1940 | 0:cd5ad8e47eb8 | 82 | * GLOBAL VARS |
| perr1940 | 0:cd5ad8e47eb8 | 83 | *******************************/ |
| perr1940 | 0:cd5ad8e47eb8 | 84 | |
| perr1940 | 0:cd5ad8e47eb8 | 85 | // Global Timers! |
| perr1940 | 0:cd5ad8e47eb8 | 86 | extern Timer sysClk; // system clock (primarily for datalogging) |
| perr1940 | 0:cd5ad8e47eb8 | 87 | extern Timer tState; // time in FSM state |
| perr1940 | 0:cd5ad8e47eb8 | 88 | extern Timer t_HCl; // time when high current begins |
| perr1940 | 0:cd5ad8e47eb8 | 89 | extern Timer t_HCr; |
| perr1940 | 0:cd5ad8e47eb8 | 90 | extern Timer t_BetweenStepCommand; |
| perr1940 | 0:cd5ad8e47eb8 | 91 | |
| perr1940 | 0:cd5ad8e47eb8 | 92 | const unsigned int enc_ticks=pow(2.,14.)-1; //the number of ticks that the encoder has, 2^14 for our encoder, -1 for 0 state |
| perr1940 | 0:cd5ad8e47eb8 | 93 | const float enc2deg = 360./enc_ticks; // converts encoder reading from 0-16383 (14 bit) to 0-360deg (360 / 16383); |
| perr1940 | 0:cd5ad8e47eb8 | 94 | const float control_lim_high=90; //soft stop on the controller |
| perr1940 | 0:cd5ad8e47eb8 | 95 | const float control_lim_low=-55;//soft stop on the controller |
| perr1940 | 0:cd5ad8e47eb8 | 96 | extern float TimeSinceLastStep; |
| perr1940 | 0:cd5ad8e47eb8 | 97 | |
| perr1940 | 0:cd5ad8e47eb8 | 98 | //Control Variables |
| perr1940 | 0:cd5ad8e47eb8 | 99 | // Control variables |
| perr1940 | 0:cd5ad8e47eb8 | 100 | // Gain Scheduling! |
| perr1940 | 5:fcd299262d0a | 101 | extern float Kp_Swing; |
| perr1940 | 5:fcd299262d0a | 102 | extern float Kp_Stance; |
| perr1940 | 0:cd5ad8e47eb8 | 103 | extern const float Kp_DoubleStance;//.01; |
| perr1940 | 0:cd5ad8e47eb8 | 104 | extern const float Kp_Standing;//.01; //0.0025 |
| perr1940 | 0:cd5ad8e47eb8 | 105 | extern const float Kp_StandUp; |
| perr1940 | 0:cd5ad8e47eb8 | 106 | extern const float Kp_SitDown ; |
| perr1940 | 0:cd5ad8e47eb8 | 107 | extern const float Kp_Seated; |
| perr1940 | 0:cd5ad8e47eb8 | 108 | |
| perr1940 | 8:ae167702ebcc | 109 | extern float Kd_Stance; |
| perr1940 | 8:ae167702ebcc | 110 | extern float Kd_Swing; |
| perr1940 | 8:ae167702ebcc | 111 | |
| perr1940 | 0:cd5ad8e47eb8 | 112 | extern const float Kp; |
| perr1940 | 5:fcd299262d0a | 113 | extern float Kd; |
| perr1940 | 0:cd5ad8e47eb8 | 114 | extern const float sat; |
| perr1940 | 0:cd5ad8e47eb8 | 115 | extern const float Kp_mag; |
| perr1940 | 0:cd5ad8e47eb8 | 116 | extern const float Kp_freq; |
| perr1940 | 0:cd5ad8e47eb8 | 117 | extern const float Kp_offset; |
| perr1940 | 0:cd5ad8e47eb8 | 118 | extern float stand_adjust; |
| cashdollar | 12:3a5a9bbf1c93 | 119 | |
| cashdollar | 11:7b7d30293fb7 | 120 | extern float zero_enc_offset_L;//=EncOffset_L; |
| cashdollar | 11:7b7d30293fb7 | 121 | extern float zero_enc_offset_R;//=EncOffset_R; |
| cashdollar | 12:3a5a9bbf1c93 | 122 | //extern float bob_dole; |
| cashdollar | 11:7b7d30293fb7 | 123 | |
| cashdollar | 2:650a015179b9 | 124 | extern float zero_ang_L; |
| cashdollar | 2:650a015179b9 | 125 | extern float zero_ang_R; |
| cashdollar | 2:650a015179b9 | 126 | |
| nathanhonka | 13:268f4564a809 | 127 | extern void initializeExoIOs(); |
| nathanhonka | 13:268f4564a809 | 128 | void readCalib(); |
| perr1940 | 0:cd5ad8e47eb8 | 129 | |
| nathanhonka | 13:268f4564a809 | 130 | #endif |
