Location Finding#
Location Finding.
These functions are related to the calculation of positions from angles and distances.
Modules#
Enumerations#
Locator-specific measurements.
Target-specific measurements - Not yet supported.
Estimation mode.
Measurement validation method.
Locator-specific parameters related to locationing.
Target-specific parameters related to locationing.
Locationing state results.
Typedefs#
Locationing library item.
Functions#
Enumeration Documentation#
sl_rtl_loc_locator_measurement_field#
sl_rtl_loc_locator_measurement_field
Locator-specific measurements.
Enumerator | |
---|---|
SL_RTL_LOC_LOCATOR_MEASUREMENT_AZIMUTH | Measured azimuth from locator to tag. |
SL_RTL_LOC_LOCATOR_MEASUREMENT_ELEVATION | Measured elevation from locator to tag. |
SL_RTL_LOC_LOCATOR_MEASUREMENT_DISTANCE | Measured distance from locator to tag. |
SL_RTL_LOC_LOCATOR_MEASUREMENT_AZIMUTH_DEVIATION | Azimuth stdev. |
SL_RTL_LOC_LOCATOR_MEASUREMENT_ELEVATION_DEVIATION | Elevation stdev. |
SL_RTL_LOC_LOCATOR_MEASUREMENT_DISTANCE_DEVIATION | Distance stdev. |
SL_RTL_LOC_LOCATOR_LAST |
1199
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_target_measurement_field#
sl_rtl_loc_target_measurement_field
Target-specific measurements - Not yet supported.
Enumerator | |
---|---|
SL_RTL_LOC_TARGET_MEASUREMENT_LAST |
1212
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_estimation_mode#
sl_rtl_loc_estimation_mode
Estimation mode.
Enumerator | |
---|---|
SL_RTL_LOC_ESTIMATION_MODE_TWO_DIM_FAST_RESPONSE | Two-dimensional mode - Only X and Y plane considered, less filtered mode for fast moving assests. |
SL_RTL_LOC_ESTIMATION_MODE_THREE_DIM_FAST_RESPONSE | Three-dimensional mode - Covers X, Y and Z planes, less filtered mode for fast moving assests. |
SL_RTL_LOC_ESTIMATION_MODE_TWO_DIM_HIGH_ACCURACY | Two-dimensional mode - Only X and Y plane considered, more filtered mode for relatively static assets. |
SL_RTL_LOC_ESTIMATION_MODE_THREE_DIM_HIGH_ACCURACY | Three-dimensional mode - Covers X, Y and Z planes, more filtered mode for relatively static assets. |
SL_RTL_LOC_ESTIMATION_MODE_LAST |
1217
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_measurement_validation_method#
sl_rtl_loc_measurement_validation_method
Measurement validation method.
Enumerator | |
---|---|
SL_RTL_LOC_MEASUREMENT_VALIDATION_MINIMUM | Only the basic validation integrated in the locationing algorithm (default) |
SL_RTL_LOC_MEASUREMENT_VALIDATION_MEDIUM | May discard the most inaccurate measurements with an additional calculation round. |
SL_RTL_LOC_MEASUREMENT_VALIDATION_FULL | May discard the most inaccurate measurements with several calculation rounds. |
1228
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_locator_parameter#
sl_rtl_loc_locator_parameter
Locator-specific parameters related to locationing.
Enumerator | |
---|---|
SL_RTL_LOC_LOCATOR_PARAMETER_X_COORDINATE | Set X-axis coordinate of the locator. |
SL_RTL_LOC_LOCATOR_PARAMETER_Y_COORDINATE | Set Y-axis coordinate of the locator. |
SL_RTL_LOC_LOCATOR_PARAMETER_Z_COORDINATE | Set Z-axis coordinate of the locator. |
SL_RTL_LOC_LOCATOR_PARAMETER_X_ORIENTATION | Set X-axis rotation of the locator (Euler angles) in degrees. |
SL_RTL_LOC_LOCATOR_PARAMETER_Y_ORIENTATION | Set Y-axis rotation of the locator (Euler angles) in degrees. |
SL_RTL_LOC_LOCATOR_PARAMETER_Z_ORIENTATION | Set Z-axis rotation of the locator (Euler angles) in degrees. |
SL_RTL_LOC_LOCATOR_PARAMETER_LAST |
1235
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_default_accuracy_parameter#
sl_rtl_loc_default_accuracy_parameter
Enumerator | |
---|---|
SL_RTL_LOC_DEFAULT_AZIMUTH_STDEV | Set the default azimuth stdev. |
SL_RTL_LOC_DEFAULT_ELEVATION_STDEV | Set the default elevation stdev. |
SL_RTL_LOC_DEFAULT_MINIMUM_DISTANCE_STDEV | Set the default minimum distance stdev, will be added to the effective stdev value. |
SL_RTL_LOC_DEFAULT_DISTANCE_STDEV_COEFF | Set the default distance stdev coeff, will be added after multiplied with the distance measurement to the effective stdev value. |
1246
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_target_parameter#
sl_rtl_loc_target_parameter
Target-specific parameters related to locationing.
Enumerator | |
---|---|
SL_RTL_LOC_TARGET_PARAMETER_TARGET_HEIGHT | |
SL_RTL_LOC_TARGET_CLEAR_TARGET_HEIGHT | |
SL_RTL_LOC_TARGET_PARAMETER_LAST |
1254
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_result#
sl_rtl_loc_result
Locationing state results.
Enumerator | |
---|---|
SL_RTL_LOC_RESULT_POSITION_X | Estimated X-axis position of the target. |
SL_RTL_LOC_RESULT_POSITION_Y | Estimated Y-axis position of the target. |
SL_RTL_LOC_RESULT_POSITION_Z | Estimated Z-axis position of the target. |
SL_RTL_LOC_RESULT_POSITION_RADIUS | The combined radius (stdev) of the location estimate. |
SL_RTL_LOC_RESULT_POSITION_STDEV_X | The accuracy (stdev) of the location x-coordinate estimate. |
SL_RTL_LOC_RESULT_POSITION_STDEV_Y | The accuracy (stdev) of the location y-coordinate estimate. |
SL_RTL_LOC_RESULT_POSITION_STDEV_Z | The accuracy (stdev) of the location z-coordinate estimate. |
SL_RTL_LOC_RESULT_POSITION_VELOCITY_X | Estimated X-axis velocity of the target. |
SL_RTL_LOC_RESULT_POSITION_VELOCITY_Y | Estimated Y-axis velocity of the target. |
SL_RTL_LOC_RESULT_POSITION_VELOCITY_Z | Estimated Z-axis velocity of the target. |
SL_RTL_LOC_RESULT_POSITION_ACCELERATION_X | Estimated X-axis acceleration of the target. |
SL_RTL_LOC_RESULT_POSITION_ACCELERATION_Y | Estimated Y-axis acceleration of the target. |
SL_RTL_LOC_RESULT_POSITION_ACCELERATION_Z | Estimated Z-axis acceleration of the target. |
SL_RTL_LOC_RESULT_LAST | Number of results. |
1262
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
Typedef Documentation#
sl_rtl_loc_libitem#
typedef void* sl_rtl_loc_libitem
Locationing library item.
1293
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
Function Documentation#
sl_rtl_loc_init#
enum sl_rtl_error_code sl_rtl_loc_init (sl_rtl_loc_libitem * item)
[in] | item | Pointer to the libitem to be initialized |
Initialize the locationing libitem instance.
Returns
SL_RTL_ERROR_SUCCESS if successful
1303
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_deinit#
enum sl_rtl_error_code sl_rtl_loc_deinit (sl_rtl_loc_libitem * item)
[in] | item | Pointer to the libitem to be initialized |
Deinitialize the locationing libitem instance.
Returns
SL_RTL_ERROR_SUCCESS if successful
1311
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_reinit#
enum sl_rtl_error_code sl_rtl_loc_reinit (sl_rtl_loc_libitem * item)
[in] | item | Pointer to the libitem to be initialized |
Reinitialize the locationing libitem instance.
Reset the libitem's internal values to the starting point so that it can start all over from the beginning. This can be used, for example, in testing instead of deleting and re-creating the libitem object.
Returns
SL_RTL_ERROR_SUCCESS if successful
1323
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_mode#
enum sl_rtl_error_code sl_rtl_loc_set_mode (sl_rtl_loc_libitem * item, enum sl_rtl_loc_estimation_mode mode)
[in] | item | Pointer to the libitem |
[in] | mode | Estimation mode as enum |
Set the locationing dimensionality mode. Possible choices are 2D or 3D modes. Two-dimensional mode does not vary the z-position of the target and assumes it is 0 at all times. When updating, for example, the distance measure- ment from the locator to the target in 2D mode, it should be noted that even if the locator and tag are on different z-planes, the distance should be given as the distance as if they were on the same z-plane.
Returns
SL_RTL_ERROR_SUCCESS if successful
1337
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_measurement_validation#
enum sl_rtl_error_code sl_rtl_loc_set_measurement_validation (sl_rtl_loc_libitem * item, enum sl_rtl_loc_measurement_validation_method method)
[in] | item | Pointer to the libitem |
[in] | method | Validation method as enum |
Set the measurement validation method. If not given, the minimum method is used. Possible choices are minimum, medium, and full. The minimum does not increase the calculation CPU load because it is integrated inside the algorithm's normal operation. The medium and full methods use additionally one or multiple calculation rounds respectively and may discard the most inaccurate measurements from the calculation. However, they will always leave enough of them to calculate the estimate.
Returns
SL_RTL_ERROR_SUCCESS if successful
1352
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_add_locator#
enum sl_rtl_error_code sl_rtl_loc_add_locator (sl_rtl_loc_libitem * item, struct sl_rtl_loc_locator_item * locator_item, uint32_t * locator_id_out)
[in] | item | Pointer to the libitem |
[in] | locator_item | Locator item instance to be added |
[out] | locator_id_out | ID of the locator assigned by the library |
Add a locator item into the locationing estimator after setting its position and orientation parameters. Add all locators using this function before calling sl_rtl_loc_create_position_estimator to create the estimator instance.
Returns
SL_RTL_ERROR_SUCCESS if successful
1365
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_add_tag#
enum sl_rtl_error_code sl_rtl_loc_add_tag (sl_rtl_loc_libitem * item, int32_t * tag_id_out)
[in] | item | Pointer to the libitem |
[out] | tag_id_out | ID of the tag assigned by the library |
Add an asset tag item into the locationing estimator.
Returns
SL_RTL_ERROR_SUCCESS if successful
1374
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_remove_tag#
enum sl_rtl_error_code sl_rtl_loc_remove_tag (sl_rtl_loc_libitem * item, int32_t tag_id)
[in] | item | Pointer to the libitem |
[out] | tag_id | of the tag to be removed |
Remove an asset tag item previously added with sl_rtl_loc_add_tag.
Returns
SL_RTL_ERROR_SUCCESS if successful
1383
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_create_position_estimator#
enum sl_rtl_error_code sl_rtl_loc_create_position_estimator (sl_rtl_loc_libitem * item)
[in] | item | Pointer to the libitem |
Create the position estimator instance after all locators have been added.
Returns
SL_RTL_ERROR_SUCCESS if successful
1391
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_locator_parameter#
enum sl_rtl_error_code sl_rtl_loc_set_locator_parameter (sl_rtl_loc_libitem * item, uint32_t locator_id, enum sl_rtl_loc_locator_parameter parameter, float value)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator for which the parameter will be set |
[in] | parameter | Parameter to be set (as enum) |
[in] | value | New value for the parameter |
Set locator-specific parameters, such as the azimuth and elevation measurement covariances.
Returns
SL_RTL_ERROR_SUCCESS if successful
1405
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_target_parameter#
enum sl_rtl_error_code sl_rtl_loc_set_target_parameter (sl_rtl_loc_libitem * item, enum sl_rtl_loc_target_parameter parameter, float value)
[in] | item | Pointer to the libitem |
[in] | parameter | Parameter to be set (as enum) |
[in] | value | New value for the parameter |
Set target-specific parameters, such as the known target height.
Returns
SL_RTL_ERROR_SUCCESS if successful
1416
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_target_parameter_tag#
enum sl_rtl_error_code sl_rtl_loc_set_target_parameter_tag (sl_rtl_loc_libitem * item, enum sl_rtl_loc_target_parameter parameter, float value, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | parameter | Parameter to be set (as enum) |
[in] | value | New value for the parameter |
[in] | tag_id | TagID of the asset to be changed or SL_RTL_LOC_ALL_TAGS |
Set target-specific parameters, such as the known target height for a specified tag.
Returns
SL_RTL_ERROR_SUCCESS if successful
1427
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_clear_measurements#
enum sl_rtl_error_code sl_rtl_loc_clear_measurements (sl_rtl_loc_libitem * item)
[in] | item | Pointer to the libitem |
Clear previous measurements. Call this function before setting new measurements if the previous measurements are not valid for the next iteration step.
Returns
SL_RTL_ERROR_SUCCESS if successful
1437
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_clear_measurements_tag#
enum sl_rtl_error_code sl_rtl_loc_clear_measurements_tag (sl_rtl_loc_libitem * item, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | tag_id | TagID of the asset to be changed or SL_RTL_LOC_ALL_TAGS |
Clear previous measurements for a specified tag. Call this function before setting new measurements if the previous measurements are not valid for the next iteration step.
Returns
SL_RTL_ERROR_SUCCESS if successful
1448
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_locator_measurement#
enum sl_rtl_error_code sl_rtl_loc_set_locator_measurement (sl_rtl_loc_libitem * item, uint32_t locator_id, enum sl_rtl_loc_locator_measurement_field field, float value)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator for which the measurement will be set |
[in] | field | Measurement to be updated (as enum) |
[in] | value | New value for the measurement |
Set a new measurement for a locator specified by the locator ID.
Returns
SL_RTL_ERROR_SUCCESS if successful
1459
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_locator_measurement_tag#
enum sl_rtl_error_code sl_rtl_loc_set_locator_measurement_tag (sl_rtl_loc_libitem * item, uint32_t locator_id, enum sl_rtl_loc_locator_measurement_field field, float value, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator for which the measurement will be set |
[in] | field | Measurement to be updated (as enum) |
[in] | value | New value for the measurement |
[in] | tag_id | TagID of the asset to be changed |
Set a new measurement for a locator specified by the locator ID for a specified tag.
Returns
SL_RTL_ERROR_SUCCESS if successful
1471
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_target_measurement#
enum sl_rtl_error_code sl_rtl_loc_set_target_measurement (sl_rtl_loc_libitem * item, enum sl_rtl_loc_target_measurement_field field, float value)
[in] | item | Pointer to the libitem |
[in] | field | Measurement to be updated (as enum) |
[in] | value | New value for the measurement |
Set a new measurement for the target. Because the current version does not support this function, calling it has no effect.
Returns
SL_RTL_ERROR_SUCCESS if successful
1482
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_set_default_accuracy#
enum sl_rtl_error_code sl_rtl_loc_set_default_accuracy (sl_rtl_loc_libitem * item, uint32_t locator_id, enum sl_rtl_loc_default_accuracy_parameter param, float value)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator whose parameter will be set |
[in] | param | Parameter to be set (as enum) |
[in] | value | New value for the default accuracy |
Set the default accuracy value for direction / distance. This value will be used if not given explicitly by measurement.
Returns
SL_RTL_ERROR_SUCCESS if successful
1494
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_process#
enum sl_rtl_error_code sl_rtl_loc_process (sl_rtl_loc_libitem * item, float time_step)
[in] | item | Pointer to the libitem |
[in] | time_step | Process time interval in seconds. This is the time separation between the previous step and this current step. |
Process the current time step of the locationing filter. Call this function after old measurements are cleared and new measurements are set for the current time step. The process will step the filter forward and provide new state results and state covariance values, which can be retrieved with separate function calls.
Returns
SL_RTL_ERROR_SUCCESS if successful
1508
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_process_tag#
enum sl_rtl_error_code sl_rtl_loc_process_tag (sl_rtl_loc_libitem * item, float time_step, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | time_step | Process time interval in seconds. This is the time separation between the previous step and this current step. |
[in] | tag_id | TagID of the asset to be processed or SL_RTL_LOC_ALL_TAGS |
Process the current time step of the locationing filter for a specified tag. Call this function after old measurements are cleared and new measurements are set for the current time step. The process will step the filter forward and provide new state results and state covariance values, which can be retrieved with separate function calls.
Returns
SL_RTL_ERROR_SUCCESS if successful
1523
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_result#
enum sl_rtl_error_code sl_rtl_loc_get_result (sl_rtl_loc_libitem * item, enum sl_rtl_loc_result result, float * value)
[in] | item | Pointer to the libitem |
[in] | result | The desired state variable result as enum |
[out] | value | The value output of the state variable |
Get result of the current state variables or state covariances.
Returns
SL_RTL_ERROR_SUCCESS if successful
1533
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_result_tag#
enum sl_rtl_error_code sl_rtl_loc_get_result_tag (sl_rtl_loc_libitem * item, enum sl_rtl_loc_result result, float * value, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | result | The desired state variable result as enum |
[out] | value | The value output of the state variable |
[in] | tag_id | TagID of the asset to fetch the results for |
Get result of the current state variables or state covariances for a specified tag.
Returns
SL_RTL_ERROR_SUCCESS if successful
1544
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_measurement_in_system_coordinates#
enum sl_rtl_error_code sl_rtl_loc_get_measurement_in_system_coordinates (sl_rtl_loc_libitem * item, uint32_t locator_id, enum sl_rtl_loc_locator_measurement_field field, float * value_out)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator whose measurement will be retrieved |
[in] | field | Measurement to be retrieved (as enum) |
[out] | value_out | The value output of the state variable |
Get the latest measurement converted into the coordinate system of the multi-locator system.
Returns
SL_RTL_ERROR_SUCCESS if successful
1556
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_measurement_in_system_coordinates_tag#
enum sl_rtl_error_code sl_rtl_loc_get_measurement_in_system_coordinates_tag (sl_rtl_loc_libitem * item, uint32_t locator_id, enum sl_rtl_loc_locator_measurement_field field, float * value_out, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator whose measurement will be retrieved |
[in] | field | Measurement to be retrieved (as enum) |
[out] | value_out | The value output of the state variable |
[in] | tag_id | TagID of the asset |
Get the latest measurement converted into the coordinate system of the multi-locator system for a specified tag.
Returns
SL_RTL_ERROR_SUCCESS if successful
1569
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_expected_direction#
enum sl_rtl_error_code sl_rtl_loc_get_expected_direction (sl_rtl_loc_libitem * item, uint32_t locator_id, float * azimuth, float * elevation, float * distance)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator whose measurement will be retrieved |
[out] | azimuth | The expected azimuth value |
[out] | elevation | The expected elevation value |
[out] | distance | The expected distance value |
Get the expected direction of the asset for the locator.
Returns
SL_RTL_ERROR_SUCCESS if the locator does not require correction
SL_RTL_ERROR_INCORRECT_MEASUREMENT if the locator's previous measurement was ignored because the error is too large
Another error code in case of error
Position calculation has a better overall view to the asset's location than any individual locator. If the direction angles differ too much from the expected direction, the locator can be instructed to correct its internal state so that in can recover from this incorrectness faster. See also sl_rtl_aox_set_expected_direction()
1589
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_expected_direction_tag#
enum sl_rtl_error_code sl_rtl_loc_get_expected_direction_tag (sl_rtl_loc_libitem * item, uint32_t locator_id, float * azimuth, float * elevation, float * distance, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator whose measurement will be retrieved |
[out] | azimuth | The expected azimuth value |
[out] | elevation | The expected elevation value |
[out] | distance | The expected distance value |
[in] | tag_id | TagID of the asset |
Get the expected direction of the asset for the locator for a specified tag.
Returns
SL_RTL_ERROR_SUCCESS if the locator does not require correction
SL_RTL_ERROR_INCORRECT_MEASUREMENT if the locator's previous measurement was ignored because of too large error
Another error code in case of error
Position calculation has a better overall view to the asset's location than any individual locator. If the direction angles differ too much from the expected direction, the locator can be instructed to correct its internal state so that in can recover from this incorrectness faster. See also sl_rtl_aox_set_expected_direction().
1610
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_expected_deviation#
enum sl_rtl_error_code sl_rtl_loc_get_expected_deviation (sl_rtl_loc_libitem * item, uint32_t locator_id, float * azimuth, float * elevation, float * distance)
[in] | item | ID of the locator whose measurement will be retrieved |
[out] | locator_id | The expected azimuth value's standard deviation |
[out] | azimuth | The expected elevation value's standard deviation |
[in] | elevation | Pointer to the libitem |
[out] | distance | The expected distance value's standard deviation |
Get the deviation values for expected direction of the asset for the locator.
Returns
SL_RTL_ERROR_SUCCESS if successful
1622
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_expected_deviation_tag#
enum sl_rtl_error_code sl_rtl_loc_get_expected_deviation_tag (sl_rtl_loc_libitem * item, uint32_t locator_id, float * azimuth, float * elevation, float * distance, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator whose measurement will be retrieved |
[out] | azimuth | The expected azimuth value's standard deviation |
[out] | elevation | The expected elevation value's standard deviation |
[out] | distance | The expected distance value's standard deviation |
[in] | tag_id | TagID of the asset |
Get the deviation values for expected direction of the asset for the locator for a specified tag.
Returns
SL_RTL_ERROR_SUCCESS if successful
1636
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_number_disabled#
int sl_rtl_loc_get_number_disabled (sl_rtl_loc_libitem * item)
[in] | item | Pointer to the libitem |
Get the number of locators, which are disabled from position calculation because the direction error is too large.
Returns
Number of locators needing correction, or -1 in case of any other error
1645
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_get_number_disabled_tag#
int sl_rtl_loc_get_number_disabled_tag (sl_rtl_loc_libitem * item, int32_t tag_id)
[in] | item | Pointer to the libitem |
[in] | tag_id | TagID of the asset |
Get the number of locators, which are disabled from position calculation because the direction error is too large, for a specified tag.
Returns
Number of locators needing correction, or -1 in case of any other error
1655
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_filter_in_reach#
bool sl_rtl_loc_filter_in_reach (sl_rtl_loc_libitem * item, uint32_t locator_id)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of the locator to run the test |
Check if the asset is in reach of a given locator according to the position-based filtering.
Returns
SL_RTL_ERROR_SUCCESS if successful
1665
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_filter_clear#
enum sl_rtl_error_code sl_rtl_loc_filter_clear (sl_rtl_loc_libitem * item, uint32_t locator_id)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of a single locator or SL_RTL_LOC_ALL_LOCATORS |
Clear all the position-based filters from a locator or from all locators.
Returns
SL_RTL_ERROR_SUCCESS if successful
1675
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_filter_sphere#
enum sl_rtl_error_code sl_rtl_loc_filter_sphere (sl_rtl_loc_libitem * item, uint32_t locator_id, float radius, bool exclude_region)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of a single locator or SL_RTL_LOC_ALL_LOCATORS |
[in] | radius | Distance from the locator |
[in] | exclude_region | If true, define an excluded region instead |
Add a position-based filter. This filter is based on the distance from a locator. The filter can be added to one locator or all locators. A locator may have several filters which are combined.
Returns
SL_RTL_ERROR_SUCCESS if successful
1688
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_filter_circle#
enum sl_rtl_error_code sl_rtl_loc_filter_circle (sl_rtl_loc_libitem * item, uint32_t locator_id, float radius, bool exclude_region)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of a single locator or SL_RTL_LOC_ALL_LOCATORS |
[in] | radius | Distance from the locator |
[in] | exclude_region | If true, define an excluded region instead |
Add a position-based filter. The two dimensional filter is based on the distance from a locator. The filter can be added to one locator or all locators. A locator may have several filters which are combined.
Returns
SL_RTL_ERROR_SUCCESS if successful
1702
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_filter_box#
enum sl_rtl_error_code sl_rtl_loc_filter_box (sl_rtl_loc_libitem * item, uint32_t locator_id, float xDelta, float yDelta, float zDelta, bool exclude_region)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of a single locator or SL_RTL_LOC_ALL_LOCATORS |
[in] | xDelta | Maximum distance in X-coordinate direction |
[in] | yDelta | Maximum distance in Y-coordinate direction |
[in] | zDelta | Maximum distance in Z-coordinate direction |
[in] | exclude_region | If true, define an excluded region instead |
Add a position-based filter. This filter defines relative distances in coordinate axes' directions. The filter can be added to one locator or all locators. A locator may have several filters which are combined.
Returns
SL_RTL_ERROR_SUCCESS if successful
1718
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_filter_rect#
enum sl_rtl_error_code sl_rtl_loc_filter_rect (sl_rtl_loc_libitem * item, uint32_t locator_id, float xDelta, float yDelta, bool exclude_region)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of a single locator or SL_RTL_LOC_ALL_LOCATORS |
[in] | xDelta | Maximum distance in X-coordinate direction |
[in] | yDelta | Maximum distance in Y-coordinate direction |
[in] | exclude_region | If true, define an excluded region instead |
Add a position-based filter. This two dimensional filter defines relative distances in coordinate axes' directions. The filter can be added to one locator or all locators. A locator may have several filters which are combined.
Returns
SL_RTL_ERROR_SUCCESS if successful
1733
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_filter_room#
enum sl_rtl_error_code sl_rtl_loc_filter_room (sl_rtl_loc_libitem * item, uint32_t locator_id, float minX, float maxX, float minY, float maxY, float minZ, float maxZ, bool exclude_region)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of a single locator or SL_RTL_LOC_ALL_LOCATORS |
[in] | minX | Minimum X-coordinate value |
[in] | maxX | Maximum X-coordinate value |
[in] | minY | Minimum Y-coordinate value |
[in] | maxY | Maximum Y-coordinate value |
[in] | minZ | Minimum Z-coordinate value |
[in] | maxZ | Maximum Z-coordinate value |
[in] | exclude_region | If true, define an excluded region instead |
Add a position-based filter. This filter defines an area in global coordinates. The filter can be added to one locator or all locators. A locator may have several filters which are combined.
Returns
SL_RTL_ERROR_SUCCESS if successful
1752
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_filter_floor#
enum sl_rtl_error_code sl_rtl_loc_filter_floor (sl_rtl_loc_libitem * item, uint32_t locator_id, float minX, float maxX, float minY, float maxY, bool exclude_region)
[in] | item | Pointer to the libitem |
[in] | locator_id | ID of a single locator or SL_RTL_LOC_ALL_LOCATORS |
[in] | minX | Minimum X-coordinate value |
[in] | maxX | Maximum X-coordinate value |
[in] | minY | Minimum Y-coordinate value |
[in] | maxY | Maximum Y-coordinate value |
[in] | exclude_region | If true, define an excluded region instead |
Add a position-based filter. The two dimensional filter defines an area in global coordinates. The filter can be added to one locator or all locators. A locator may have several filters which are combined.
Returns
SL_RTL_ERROR_SUCCESS if successful
1769
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_enable_trilateration#
enum sl_rtl_error_code sl_rtl_loc_enable_trilateration (sl_rtl_loc_libitem * item, bool value)
[in] | item | Pointer to the libitem |
[in] | value | Turn the trilateration on or off |
Enable trilateration method in location calculation.
The trilateration method calculates the position based on the distances from the locators rather than the direction angles. This function enables the method, but the location calculation may still utilize also the directon if available to further increase the accuracy.
Trilateration method is not turned on by default.
Returns
SL_RTL_ERROR_SUCCESS if successful
1785
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
sl_rtl_loc_trilateration_prefer_below_plane#
enum sl_rtl_error_code sl_rtl_loc_trilateration_prefer_below_plane (sl_rtl_loc_libitem * item, bool value)
[in] | item | Pointer to the libitem |
[in] | value | Turn the trilateration on or off |
Prefer the asset location below or above the locator plane.
If the locators are all in the same plane (or close to it), the height of the asset may become ambiguous. Set the preference to be below or above plane so that is more likely to end up in the correct position.
The default options is below the plane.
Returns
SL_RTL_ERROR_SUCCESS if successful
1800
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
Macro Definition Documentation#
SL_RTL_LOC_ALL_LOCATORS#
#define SL_RTL_LOC_ALL_LOCATORSValue:
(uint32_t)(-1)
1195
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h
SL_RTL_LOC_ALL_TAGS
#define SL_RTL_LOC_ALL_TAGSValue:
INT32_MAX
1196
of file /mnt/raid/workspaces/ws.Dg1ch1o1Y/overlay/gsdk/util/silicon_labs/rtl/inc/sl_rtl_clib_api.h