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));
*/
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();
}