]> rtime.felk.cvut.cz Git - mf624-simulink.git/blobdiff - sfReadPWM.c
Define FIXED_IN_MINOR_STEP_OFFSET for external input blocks instead of 0.0 offset.
[mf624-simulink.git] / sfReadPWM.c
index 793838c43687446d1235a635824bf9b88b7c9a75..fcd406ece4f53d14bedea7a8f7f8167699a18358 100644 (file)
@@ -173,7 +173,7 @@ static void mdlOutputs(SimStruct *S, int_T tid)
     unsigned int period;
     unsigned int c0,c1,c2,c4;
     
-    if (mf624_init(S) != 0)
+    if (mf624_check(S) != 0)
            return;
        
     c0 = mf624_read32(MFST2REG(mfst,4,CTR0));
@@ -233,19 +233,11 @@ static void mdlOutputs(SimStruct *S, int_T tid)
  */
 static void mdlTerminate(SimStruct *S)
 {
-    /* FIXME: This is ugly! */
-    if(mfst!=NULL){
-        mf624_write32(CTR_STOP,MFST2REG(mfst,4,CTRXCTRL));
-        free(mfst);
-        mfst=NULL;
-    } else {
-        mfst = malloc(sizeof(mf624_state_t));
-       if (mf624_init(S) != 0)
-               return;
-        mf624_write32(CTR_STOP,MFST2REG(mfst,4,CTRXCTRL));
-        free(mfst);
-        mfst=NULL;
-    }
+    if (mf624_check(NULL) != 0)
+           return;
+
+    mf624_write32(CTR_STOP,MFST2REG(mfst,4,CTRXCTRL));
+    mf624_done();
 }