X-Git-Url: http://rtime.felk.cvut.cz/gitweb/mf624-simulink.git/blobdiff_plain/8a092e62f4ad8f368c2f5a53bb6fa7db8739cb9e..cdfaa5724afbfc3c86913798464c0f637ade164d:/sfDigitalOutput.c diff --git a/sfDigitalOutput.c b/sfDigitalOutput.c index 445c946..9d4d81b 100644 --- a/sfDigitalOutput.c +++ b/sfDigitalOutput.c @@ -146,26 +146,8 @@ static void mdlInitializeSampleTimes(SimStruct *S) */ static void mdlStart(SimStruct *S) { - if(mfst==NULL){ - #define BUFF_SMALL 32 - mfst = malloc(sizeof(mf624_state_t)); - char buff[BUFF_SMALL]; - memset(buff, '\0', BUFF_SMALL); - mfst->uio_dev = "uio0"; - - strncat(buff, "/dev/", 5); - strncat(buff, mfst->uio_dev, sizeof(buff) - 6); - - mfst->device_fd = open_device(buff); - if (mfst->device_fd < 0) { - ssSetErrorStatus(S,"open failed"); - return; - } - if (mmap_regions(mfst) < 0) { - ssSetErrorStatus(S,"mmap_regions failed"); - return; - } - } + if (mf624_init(S) != 0) + return; mfst->DOut=0; }