Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

Phidget.EnableFailsafe

Enables the failsafe feature for the channel, with a given failsafe time.

Component Version macOS Windows Linux Server iOS SDK
Phidget 13.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ❌ No
MBS( "Phidget.EnableFailsafe"; PhidgetRef; failsafeTime )   More

Parameters

Parameter Description Example
PhidgetRef The reference number for the phidget. $phidget
failsafeTime Failsafe timeout in milliseconds. 2000

Result

Returns OK or error.

Description

Enables the failsafe feature for the channel, with a given failsafe time.
The failsafe feature is intended for use in applications where it is important for the channel to enter a known safe state if the program controlling it locks up or crashes. If you do not enable the failsafe feature, the channel will carry out whatever instructions it was last given until it is explicitly told to stop.
Enabling the failsafe feature starts a recurring failsafe timer for the channel. Once the failsafe timer is enabled, it must be reset within the specified time or the channel will enter a failsafe state. The failsafe timer may be reset by sending any valid command to the device*. Resetting the failsafe timer will reload the timer with the specified failsafe time, starting when the message to reset the timer is received by the Phidget.
*(get requests do not typically send commands and won't reset the failsafe timer)
For example: if the failsafe is enabled with a failsafe time of 1000ms, you will have 1000ms to reset the failsafe timer. Every time the failsafe timer is reset, you will have 1000ms from that time to reset the failsafe again.
If the failsafe timer is not reset before it runs out, the channel will enter a failsafe state. For DC Motor channels, this will disengage the motor. Once the channel enters the failsafe state, it will reject any further input until the channel is reopened.
To prevent the channel from falsely entering the failsafe state, we recommend resetting the failsafe timer as frequently as is practical for your application. A good rule of thumb is to not let more than a third of the failsafe time pass before resetting the timer.
Once the failsafe timer has been set, it cannot be disabled by any means other than closing and reopening the channel.

For DCMotor, DigitalOutput, PowerGuard, RCServo, Stepper, VoltageOutput, PositionController, or BLDCMotor only.

See also

This function is free to use.

Created 16th August 2023, last changed 16th August 2023


Phidget.DisableServerDiscovery - Phidget.EnableServerDiscovery