IDS peak AFL v1.8.0
Loading...
Searching...
No Matches

Focus stability control to prevent hunting and oscillation. More...

Functions

PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_IsSupported (peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
 Check if hysteresis is supported for a controller.
 
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Default (peak_afl_controller_handle controller, uint8_t *hysteresis)
 Get the autofeature hysteresis default.
 
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Set (peak_afl_controller_handle controller, uint8_t hysteresis)
 Set the autofeature hysteresis for a controller.
 
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Get (peak_afl_controller_handle controller, uint8_t *hysteresis)
 Get the autofeature hysteresis for a controller.
 
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_GetRange (peak_afl_controller_handle controller, uint8_t *min, uint8_t *max, uint8_t *inc)
 Get autofeature hysteresis range for a controller.
 

Detailed Description

Focus stability control to prevent hunting and oscillation.

Defines the size of the interval range after which the algorithm terminates the search.

Function Documentation

◆ peak_afl_AutoController_Hysteresis_Default()

PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Default ( peak_afl_controller_handle controller,
uint8_t * hysteresis )

Get the autofeature hysteresis default.

Retrieves the default hysteresis value that the controller uses when no custom hysteresis has been configured. The default value is typically chosen to provide good stability for most common use cases.

Parameters
[in]controllercontroller handle
[out]hysteresisthe default hysteresis
Returns
PEAK_AFL_STATUS_SUCCESS Operation was successful; no error occurred.
PEAK_AFL_STATUS_NOT_INITIALIZED The library is not initialized.
PEAK_AFL_STATUS_INVALID_PARAMETER The argument is invalid.
PEAK_AFL_STATUS_NOT_SUPPORTED The function is not supported.
PEAK_AFL_STATUS_ERROR An unexpected internal error occurred.
Since
1.0

◆ peak_afl_AutoController_Hysteresis_Get()

PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Get ( peak_afl_controller_handle controller,
uint8_t * hysteresis )

Get the autofeature hysteresis for a controller.

Retrieves the currently configured hysteresis value for the controller. This is the same value that was previously set using peak_afl_AutoController_Hysteresis_Set, or the default value if none was set.

Parameters
[in]controllercontroller handle
[out]hysteresisthe hysteresis
Returns
PEAK_AFL_STATUS_SUCCESS Operation was successful; no error occurred.
PEAK_AFL_STATUS_NOT_INITIALIZED The library is not initialized.
PEAK_AFL_STATUS_INVALID_PARAMETER The argument is invalid.
PEAK_AFL_STATUS_NOT_SUPPORTED The function is not supported.
PEAK_AFL_STATUS_ERROR An unexpected internal error occurred.
Since
1.0

◆ peak_afl_AutoController_Hysteresis_GetRange()

PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_GetRange ( peak_afl_controller_handle controller,
uint8_t * min,
uint8_t * max,
uint8_t * inc )

Get autofeature hysteresis range for a controller.

Retrieves the valid range of hysteresis values that can be configured for this controller. The range provides the minimum and maximum allowable hysteresis values, as well as the increment step size. Use this information to determine valid hysteresis values before calling peak_afl_AutoController_Hysteresis_Set.

Parameters
[in]controllercontroller handle
[out]minminimum number of hysteresis
[out]maxmaximum number of hysteresis
[out]incincrement number of hysteresis.
Returns
PEAK_AFL_STATUS_SUCCESS Operation was successful; no error occurred.
PEAK_AFL_STATUS_NOT_INITIALIZED The library is not initialized.
PEAK_AFL_STATUS_INVALID_PARAMETER The argument is invalid.
PEAK_AFL_STATUS_NOT_SUPPORTED The function is not supported.
PEAK_AFL_STATUS_ERROR An unexpected internal error occurred.
Since
1.0

◆ peak_afl_AutoController_Hysteresis_IsSupported()

PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_IsSupported ( peak_afl_controller_handle controller,
peak_afl_BOOL8 * supported )

Check if hysteresis is supported for a controller.

Determines whether the controller supports hysteresis functionality. Hysteresis helps prevent oscillation by introducing a delay or threshold before the controller responds to changes. This creates more stable behavior by avoiding rapid back-and-forth adjustments when the measured value fluctuates around the target.

If supported is PEAK_AFL_TRUE hysteresis is supported, otherwise it is unsupported.

Parameters
[in]controllercontroller handle
[out]supportedboolean if controller supports hysteresis
Returns
PEAK_AFL_STATUS_SUCCESS Operation was successful; no error occurred.
PEAK_AFL_STATUS_NOT_INITIALIZED The library is not initialized.
PEAK_AFL_STATUS_INVALID_PARAMETER The argument is invalid.
PEAK_AFL_STATUS_ERROR An unexpected internal error occurred.
Since
1.0

◆ peak_afl_AutoController_Hysteresis_Set()

PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Set ( peak_afl_controller_handle controller,
uint8_t hysteresis )

Set the autofeature hysteresis for a controller.

Configures the hysteresis value that helps prevent oscillation and provides more stable controller behavior. Higher hysteresis values result in more stable operation but slower response to changes. Lower values provide faster response but may cause oscillation in noisy conditions.

Set the hysteresis for the algorithm set by peak_afl_AutoController_Algorithm_Set.

Parameters
[in]controllercontroller handle
[in]hysteresisthe hysteresis to set
Returns
PEAK_AFL_STATUS_SUCCESS Operation was successful; no error occurred.
PEAK_AFL_STATUS_NOT_INITIALIZED The library is not initialized.
PEAK_AFL_STATUS_INVALID_PARAMETER The argument is invalid.
PEAK_AFL_STATUS_NOT_SUPPORTED The function is not supported.
PEAK_AFL_STATUS_ERROR An unexpected internal error occurred.
Since
1.0