File: C:\Users\SLUG\Documents\MATLAB\SLUG_Autopilot\Stable\controlMCUSlugsMKII_dspic\sources\controlMCUSlugsMKII_private.h

    1   /*
    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