File: C:\Users\SLUG\Documents\MATLAB\SLUG_Autopilot\Stable\controlMCUSlugsMKII_dspic\sources\controlMCUSlugsMKII_private.h1 /* 2 * File: controlMCUSlugsMKII_private.h 3 * 4 * Real-Time Workshop code generated for Simulink model controlMCUSlugsMKII. 5 * 6 * Model version : 1.714 7 * Real-Time Workshop file version : 7.5 (R2010a) 25-Jan-2010 8 * Real-Time Workshop file generated on : Tue Nov 23 13:12:51 2010 9 * TLC version : 7.5 (Jan 19 2010) 10 * C source code generated on : Tue Nov 23 13:12:52 2010 11 *-------------------------------------------------------------- 12 * Embedded Coder for Microchip dsPIC family. | 13 * Generate .c and .h files from your Matlab/simulink model | 14 * and compile the diagram to .hex and .coff file that can be | 15 * downloaded directly into the microcontroller | 16 * | 17 * Licence Accorded to Blake Mills | 18 * University of Colorado-Boulder | 19 * | 20 * Written by Lubin KERHUEL - http://www.kerhuel.eu | 21 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 22 * Version 3.3a 22-Nov-2010 | 23 * For Matlab 7.10 R2010a | 24 *-------------------------------------------------------------- 25 */ 26 27 #ifndef RTW_HEADER_controlMCUSlugsMKII_private_h_ 28 #define RTW_HEADER_controlMCUSlugsMKII_private_h_ 29 #include "rtwtypes.h" 30 31 /* dsPIC library */ 32 #include "p33fxxxx.h" 33 #include "timer.h" 34 #define fcy 40000000 35 36 /* initialization Block: <S277>/Input Capture */ 37 #include <incap.h> 38 39 /*initialization Block: <S8>/PWM Servo Output*/ 40 #include "pwm.h" 41 #define CALL_EVENT (-1) 42 43 /* Private macros used by the generated code to access rtModel */ 44 #ifndef rtmSetFirstInitCond 45 # define rtmSetFirstInitCond(rtm, val) ((rtm)->Timing.firstInitCondFlag = (val)) 46 #endif 47 48 #ifndef rtmIsFirstInitCond 49 # define rtmIsFirstInitCond(rtm) ((rtm)->Timing.firstInitCondFlag) 50 #endif 51 52 #ifndef UCHAR_MAX 53 #include <limits.h> 54 #endif 55 56 #if ( UCHAR_MAX != (0xFFU) ) || ( SCHAR_MAX != (0x7F) ) 57 #error "Code was generated for compiler with different sized uchar/char. Consider adjusting Emulation Hardware word size settings on the Hardware Implementation pane to match your compiler word sizes as defined in the compiler's limits.h header file. Alternatively, you can select 'None' for Emulation Hardware and select the 'Enable portable word sizes' option for ERT based targets, which will disable the preprocessor word size checks." 58 #endif 59 60 #if ( USHRT_MAX != (0xFFFFU) ) || ( SHRT_MAX != (0x7FFF) ) 61 #error "Code was generated for compiler with different sized ushort/short. Consider adjusting Emulation Hardware word size settings on the Hardware Implementation pane to match your compiler word sizes as defined in the compilers limits.h header file. Alternatively, you can select 'None' for Emulation Hardware and select the 'Enable portable word sizes' option for ERT based targets, this will disable the preprocessor word size checks." 62 #endif 63 64 #if ( UINT_MAX != (0xFFFFU) ) || ( INT_MAX != (0x7FFF) ) 65 #error "Code was generated for compiler with different sized uint/int. Consider adjusting Emulation Hardware word size settings on the Hardware Implementation pane to match your compiler word sizes as defined in the compilers limits.h header file. Alternatively, you can select 'None' for Emulation Hardware and select the 'Enable portable word sizes' option for ERT based targets, this will disable the preprocessor word size checks." 66 #endif 67 68 #if ( ULONG_MAX != (0xFFFFFFFFUL) ) || ( LONG_MAX != (0x7FFFFFFFL) ) 69 #error "Code was generated for compiler with different sized ulong/long. Consider adjusting Emulation Hardware word size settings on the Hardware Implementation pane to match your compiler word sizes as defined in the compilers limits.h header file. Alternatively, you can select 'None' for Emulation Hardware and select the 'Enable portable word sizes' option for ERT based targets, this will disable the preprocessor word size checks." 70 #endif 71 72 #ifndef __RTWTYPES_H__ 73 #error This file requires rtwtypes.h to be included 74 #else 75 #ifdef TMWTYPES_PREVIOUSLY_INCLUDED 76 #error This file requires rtwtypes.h to be included before tmwtypes.h 77 #else 78 79 /* Check for inclusion of an incorrect version of rtwtypes.h */ 80 #ifndef RTWTYPES_ID_C08S16I16L32N16F1 81 #error This code was generated with a different "rtwtypes.h" than the file included 82 #endif /* RTWTYPES_ID_C08S16I16L32N16F1 */ 83 #endif /* TMWTYPES_PREVIOUSLY_INCLUDED */ 84 #endif /* __RTWTYPES_H__ */ 85 86 #define _SPI1EN (SPI1STATbits.SPIEN) 87 #define _SPI2EN (SPI2STATbits.SPIEN) 88 89 extern uint16_T CalculusTimeStep; /* Global Variable Used in <S11>/Calculus Time Step*/ 90 extern volatile uint16_T ic2up; 91 extern volatile uint16_T ic3up; 92 extern volatile uint16_T ic4up; 93 extern volatile uint16_T ic5up; 94 extern volatile uint16_T ic8up; 95 extern uint8_T getApControlType(); 96 extern void gsRead(uint8_T* y1); 97 extern void readIpc(uint8_T* y1); 98 extern void protParseDecode(uint8_T* u1); 99 extern void protParseDecodeGS(uint8_T* u1); 100 extern void updateLoad(uint8_T u1); 101 extern void getMidLevelCommands(real32_T* y1); 102 extern real32_T getDynamic(); 103 extern void getPidIdx(uint8_T u1,real32_T* y1); 104 extern uint8_T isApManual(); 105 extern uint16_T meanFilter5(uint16_T* u1); 106 extern uint16_T meanFilter5(uint16_T* u1); 107 extern uint16_T meanFilter5(uint16_T* u1); 108 extern uint16_T meanFilter5(uint16_T* u1); 109 extern void setCurrentCommands(real32_T u1); 110 extern void getXYZ(real32_T* y1); 111 extern void getPidIdx(uint8_T u1,real32_T* y1); 112 extern void getPidIdx(uint8_T u1,real32_T* y1); 113 extern real32_T myCos(real32_T u1); 114 extern real32_T myCos(real32_T u1); 115 extern real32_T myCos(real32_T u1); 116 extern real32_T mySin(real32_T u1); 117 extern real32_T mySin(real32_T u1); 118 extern real32_T mySin(real32_T u1); 119 extern void getAttitude(real32_T* y1); 120 extern real32_T myCos(real32_T u1); 121 extern real32_T myCos(real32_T u1); 122 extern real32_T myCos(real32_T u1); 123 extern real32_T mySin(real32_T u1); 124 extern real32_T mySin(real32_T u1); 125 extern real32_T mySin(real32_T u1); 126 extern real32_T myAtan2(real32_T u1, real32_T u2); 127 extern real32_T myAsin(real32_T u1); 128 extern real32_T myAtan2(real32_T u1, real32_T u2); 129 extern void getPidIdx(uint8_T u1,real32_T* y1); 130 extern uint8_T isWpFly(); 131 extern uint8_T getMaxWp(); 132 extern void getVned(real32_T* y1); 133 extern void getPidIdx(uint8_T u1,real32_T* y1); 134 extern real32_T mySqrt(real32_T u1); 135 extern void getWP(uint8_T u1,real32_T* y1); 136 extern void getWP(uint8_T u1,real32_T* y1); 137 extern void getWP(uint8_T u1,real32_T* y1); 138 extern real32_T mySqrt(real32_T u1); 139 extern real32_T mySqrt(real32_T u1); 140 extern real32_T myAbs(real32_T u1); 141 extern real32_T mySqrt(real32_T u1); 142 extern real32_T mySqrt(real32_T u1); 143 extern real32_T myAsin(real32_T u1); 144 extern real32_T mySin(real32_T u1); 145 extern void setLogFloat2(real32_T* u1); 146 extern real32_T myAbs(real32_T u1); 147 extern real32_T myAbs(real32_T u1); 148 extern real32_T myAbs(real32_T u1); 149 extern real32_T mySqrt(real32_T u1); 150 extern void setNavNav(real32_T* u1); 151 extern real32_T myAtan2(real32_T u1, real32_T u2); 152 extern real32_T mySqrt(real32_T u1); 153 extern real32_T myAtan2(real32_T u1, real32_T u2); 154 extern real32_T mySin(real32_T u1); 155 extern real32_T myCos(real32_T u1); 156 extern void getWP(uint8_T u1,real32_T* y1); 157 extern void setLogFloat1(real32_T* u1); 158 extern real32_T myAtan(real32_T u1); 159 extern void getPidIdx(uint8_T u1,real32_T* y1); 160 extern real32_T myPow(real32_T u1, real32_T u2); 161 extern real32_T mySqrt(real32_T u1); 162 extern void setNavLong(real32_T* u1); 163 extern real32_T myCos(real32_T u1); 164 extern void getPidIdx(uint8_T u1,real32_T* y1); 165 extern void getPidIdx(uint8_T u1,real32_T* y1); 166 extern real32_T myCos(real32_T u1); 167 extern real32_T mySin(real32_T u1); 168 extern void getPidIdx(uint8_T u1,real32_T* y1); 169 extern real32_T myExp(real32_T u1); 170 extern real32_T myExp(real32_T u1); 171 extern void getAccels(real32_T* y1); 172 extern void getAccBias(real32_T* y1); 173 extern real32_T myTan(real32_T u1); 174 extern real32_T myTan(real32_T u1); 175 extern real32_T myAtan(real32_T u1); 176 extern real32_T myAtan(real32_T u1); 177 extern void getPidIdx(uint8_T u1,real32_T* y1); 178 extern void setNavLat(real32_T* u1); 179 extern void setDiagnosticShort(int16_T* u1); 180 extern void getPassValues(uint8_T* y1); 181 extern void updatePWM(uint16_T* u1); 182 extern void updateEuler(real32_T* u1); 183 extern void updatePQR(real32_T* u1); 184 extern void prepareTelemetry(uint8_T* y1); 185 extern void send2GS(uint8_T* u1); 186 extern void setDiagnosticFloat(real32_T* u1); 187 extern void updatePWM2(uint16_T u1, uint8_T u2); 188 extern void updatePWM2(uint16_T u1, uint8_T u2); 189 extern void updatePWM2(uint16_T u1, uint8_T u2); 190 extern void updatePWM2(uint16_T u1, uint8_T u2); 191 extern void updatePWM2(uint16_T u1, uint8_T u2); 192 extern uint8_T getFilterOnOff(); 193 extern void controlMCUInit(); 194 extern void EmbeddedMATLABFunction_Init(rtDW_EmbeddedMATLABFunction_con *localDW); 195 extern void cont_EmbeddedMATLABFunction(real32_T rtu_u, real_T rtu_T, real_T 196 rtu_f, rtB_EmbeddedMATLABFunction_cont *localB, 197 rtDW_EmbeddedMATLABFunction_con *localDW); 198 extern void controlMCUSlugsM_negprotect(real32_T rtu_val, 199 rtB_negprotect_controlMCUSlugsM *localB); 200 extern void controlMCUSlugsMK_myMuxFun1(real32_T rtu_u1, real32_T rtu_u2, 201 real32_T rtu_u3, rtB_myMuxFun1_controlMCUSlugsMK *localB); 202 extern void co_EmbeddedMATLABFunction_m(const real32_T rtu_x[3], const real32_T 203 rtu_y[3], rtB_EmbeddedMATLABFunction_co_p *localB); 204 extern void co_EmbeddedMATLABFunction_a(const real32_T rtu_x[3], 205 rtB_EmbeddedMATLABFunction_co_e *localB); 206 extern void contro_BufferICChannel_Init(rtDW_BufferICChannel_controlMCU *localDW); 207 extern void controlMCUS_BufferICChannel(uint16_T rtu_latest, 208 rtB_BufferICChannel_controlMCUS *localB, rtDW_BufferICChannel_controlMCU 209 *localDW); 210 extern void controlMCUSlugs_myMuxFun1_a(uint16_T rtu_u1, uint16_T rtu_u2, 211 uint16_T rtu_u3, uint16_T rtu_u4, uint16_T rty_y[4]); 212 extern void controlMCUSlugs_myMuxFun1_n(real32_T rtu_u1, real32_T rtu_u2, 213 real32_T rtu_u3, real32_T rtu_u4, real32_T rtu_u5, real32_T rtu_u6, real32_T 214 rtu_u7, real32_T rtu_u8, real32_T rtu_u9, rtB_myMuxFun1_controlMCUSlugs_p 215 *localB); 216 extern void controlMCUSlugs_myMuxFun1_o(real32_T rtu_u1, real32_T rtu_u2, 217 real32_T rtu_u3, rtB_myMuxFun1_controlMCUSlugs_b *localB); 218 void controlMCUSlugsMKII_step0(void); 219 void controlMCUSlugsMKII_step1(void); 220 221 #endif /* RTW_HEADER_controlMCUSlugsMKII_private_h_ */ 222 223 /* File trailer for Real-Time Workshop generated code. 224 * 225 * [EOF] 226 */ 227 |