X-Git-Url: https://rtime.felk.cvut.cz/gitweb/mf624-simulink.git/blobdiff_plain/24a28c6465f225e89664a92dc9eae156efa93da9..daee816a81348bea6b13c6054832051f7d420e3e:/sfAnalogInput.c diff --git a/sfAnalogInput.c b/sfAnalogInput.c index 21ff770..9f7dd14 100644 --- a/sfAnalogInput.c +++ b/sfAnalogInput.c @@ -74,7 +74,7 @@ static void mdlInitializeSizes(SimStruct *S) ssSetErrorStatus(S,"Invalid parameter mask, set to 0-255"); } - int ADCChannels = __builtin_popcount((uint)ADCCMask); //Counts number of set bits in ADCCMask + int ADCChannels = __builtin_popcount((uint32_t)ADCCMask); //Counts number of set bits in ADCCMask if (!ssSetNumInputPorts(S, 0)) return; @@ -111,7 +111,7 @@ static void mdlInitializeSizes(SimStruct *S) static void mdlInitializeSampleTimes(SimStruct *S) { ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME); - ssSetOffsetTime(S, 0, 0.0); + ssSetOffsetTime(S, 0, FIXED_IN_MINOR_STEP_OFFSET); } @@ -151,12 +151,12 @@ static void mdlInitializeSampleTimes(SimStruct *S) return; int ADCCMask = (int)MASK_PRM(S); - int i; + if(ADCCMask > 255 || ADCCMask < 0) { ssSetErrorStatus(S,"Invalid parameter mask, set to 0-255"); } - int ADCChannels = __builtin_popcount((uint)ADCCMask); //Counts number of set bits in ADCCMask + int ADCChannels = __builtin_popcount((uint32_t)ADCCMask); //Counts number of set bits in ADCCMask ssSetIWorkValue(S, 0, ADCChannels);