Split will have a value in index 0 as long as the subprocess call is successful. If the subprocess is not successful, the exception will be caught in the message handler and CS will report an error.
I think for partial occlusion, we need a separate 15 min timer and should not be a timeout - needs to be a timercounter so it can be paused when not in dialysis state.
Looks to be memory overflow to be occurred. src-> pointing the buffer of 4 bytes length. bytes-> mentioning 16 bytes length. g_pulUpdateSuccess[] should be allocated more than the current size. Also, Do we need to typecast "(uint32_t) bytes", since the api mentioning (uint8_t)?
Once it goes into prime pause state -> say, user removes the clamping and resume the priming -> again this state executes to check the clamping condition. Now, venous pressure is in range and raw flow rate more than minimum, we get into else state with last set flag ( primeDialysateOcclusionDetected) and change the priming state back to blood priming initial states.