]> rtime.felk.cvut.cz Git - mf624-simulink.git/blobdiff - sfAnalogOutput.c
Add build mode WITHOUT_HW to edit model without MF624 hardware access.
[mf624-simulink.git] / sfAnalogOutput.c
index 3056060fac1d170a90b51b8d42cbc9b601659df6..d2d0ad0634f19adfa6e7c06d05af7bb7164b3929 100644 (file)
  * its associated macro definitions.
  */
 #include "simstruc.h"
+
+#ifndef WITHOUT_HW
 #include "mf624_SIMULINK.h"
+#endif /*WITHOUT_HW*/
 
 /* Error handling
  * --------------
@@ -168,9 +171,11 @@ static void mdlInitializeSampleTimes(SimStruct *S)
    */
   static void mdlStart(SimStruct *S)
   {
+  #ifndef WITHOUT_HW
         if (mf624_init(NULL) != 0)
            return;
        DAC_enable(mfst);
+  #endif /*WITHOUT_HW*/
     //ssSetPWorkValue(S, 0, mfst);
   }
 #endif /*  MDL_START */
@@ -188,6 +193,7 @@ static void mdlOutputs(SimStruct *S, int_T tid)
     //mf624_state_t* mfst = ssGetPWorkValue(S,0);
     int out;
 
+  #ifndef WITHOUT_HW
     if (mf624_check(S) != 0)
            return;
 
@@ -201,6 +207,7 @@ static void mdlOutputs(SimStruct *S, int_T tid)
         out = (int) ((u[0] + 10) * 8192 / 10 + 0.5);
     }
     mf624_write16(out, MFST2REG(mfst, 2, dac_channel2reg[(int)CHNL_PRM(S)-1]));
+  #endif /*WITHOUT_HW*/
 }
 
 
@@ -243,6 +250,7 @@ static void mdlOutputs(SimStruct *S, int_T tid)
  */
 static void mdlTerminate(SimStruct *S)
 {
+  #ifndef WITHOUT_HW
     //mf624_state_t* mfst = ssGetPWorkValue(S,0);
     if (mf624_check(NULL) != 0)
            return;
@@ -253,6 +261,7 @@ static void mdlTerminate(SimStruct *S)
                  MFST2REG(mfst, 0, GPIOC_reg));
 
     mf624_done();
+  #endif /*WITHOUT_HW*/
 }