Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r3d409ee7130063937dce719281bb072c87023d3f -r85f1940ac2b4b76181ca364693332c2ae276f2ba --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 3d409ee7130063937dce719281bb072c87023d3f) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 85f1940ac2b4b76181ca364693332c2ae276f2ba) @@ -1070,11 +1070,12 @@ { U32 err_persist_time = HEX_32_BIT_FULL_SCALE; // 49 days U32 temporaryPersistentTimeout = 10 * MS_PER_SECOND; + F32 absMotRPM = fabs( mtr_rpm ); - if ( mtr_rpm > 0 ) + if ( absMotRPM > NEARLY_ZERO ) { /// Calculate persist time for rotor speed error condition. - err_persist_time = ( ( DIP_ROTOR_ERROR_PERSIST_ROTATION_MIN / ( mtr_rpm / gear_ratio / SEC_PER_MIN ) ) * MS_PER_SECOND ); + err_persist_time = ( ( (F32)DIP_ROTOR_ERROR_PERSIST_ROTATION_MIN / ( absMotRPM / gear_ratio / (F32)SEC_PER_MIN ) ) * (F32)MS_PER_SECOND ); } return err_persist_time + temporaryPersistentTimeout;