CS Initiator Display#

Prints Channel Sounding (CS) Initiator status information to the LCD of the WSTK.

Modules#

cs_initiator_display_content_t

cs_initiator_display_instance_t

Enumerations#

enum
CS_INITIATOR_DISPLAY_STATUS_CONNECTED
CS_INITIATOR_DISPLAY_STATUS_SCANNING
CS_INITIATOR_DISPLAY_STATUS_ESTIMATE
CS_INITIATOR_DISPLAY_STATUS_INITIALIZED
CS_INITIATOR_DISPLAY_STATUS_UNINITIALIZED
CS_INITIATOR_DISPLAY_STATUS_SPOOFED
}
enum
ROW_MODE
ROW_INSTANCE_NUM
ROW_STATUS_TEXT
ROW_STATUS_VALUE
ROW_DISTANCE_TEXT
ROW_DISTANCE_VALUE
ROW_RAW_DISTANCE_TEXT
ROW_RAW_DISTANCE_VALUE
ROW_LIKELINESS_TEXT
ROW_LIKELINESS_VALUE
ROW_RSSI_DISTANCE_TEXT
ROW_RSSI_DISTANCE_VALUE
ROW_BIT_ERROR_RATE_TEXT
ROW_BIT_ERROR_RATE_VALUE
}

Display rows.

enum
CS_INITIATOR_DISPLAY_ALIGNMENT_LEFT = 0u
CS_INITIATOR_DISPLAY_ALIGNMENT_CENTER
CS_INITIATOR_DISPLAY_ALIGNMENT_RIGHT
}

UI alignment.

Functions#

sl_status_t
sl_status_t
void
cs_initiator_display_set_measurement_mode(sl_bt_cs_mode_t mode, uint8_t algo_mode)
void
cs_initiator_display_insert_new_float_value(float new_value, uint8_t row, uint8_t conn_handle)
void
cs_initiator_display_insert_new_distance_value(float new_value, uint8_t conn_handle, float percentage, sl_rtl_cs_algo_mode algo_mode)
sl_status_t
cs_initiator_display_insert_new_status(uint8_t new_status, uint8_t instance_num)
void
cs_initiator_display_update_data(uint8_t instance_num, uint8_t conn_handle, uint8_t status, float distance, float rssi_distance, float likeliness, float bit_error_rate, float raw_distance, float progress_percentage, uint8_t algo_mode, sl_bt_cs_mode_t cs_mode)
void
void
sl_status_t
void
cs_initiator_display_set_alignment(cs_initiator_display_alignment_t align)
void
cs_initiator_display_write_text_to_instance(char *str, uint8_t row, uint8_t instance)
void
cs_initiator_display_write_float_to_instance(float value, uint8_t row, uint8_t instance)

Macros#

#define
CS_INITIATOR_DISPLAY_LOG (1)
#define
CS_INITIATOR_DISPLAY_GLOBAL_ALIGNMENT CS_INITIATOR_DISPLAY_ALIGNMENT_LEFT
#define
CS_INITIATOR_DISPLAY_MODE_TEXT "Mode: "
#define
CS_INITIATOR_DISPLAY_DISTANCE_TEXT "Distance (m):"
#define
CS_INITIATOR_DISPLAY_INSTANCE_NUM " 1 2 3 4"
#define
CS_INITIATOR_DISPLAY_STATUS_TEXT "Status:"
#define
CS_INITIATOR_DISPLAY_RSSI_DISTANCE_TEXT "Distance [RSSI]:"
#define
CS_INITIATOR_DISPLAY_RAW_DISTANCE_TEXT "Raw distance [m]:"
#define
CS_INITIATOR_DISPLAY_PERCENTAGE_TEXT "Percentage (%):"
#define
CS_INITIATOR_DISPLAY_LIKELINESS_TEXT "Likeliness (%):"
#define
CS_INITIATOR_DISPLAY_BER_TEXT "Bit error rate (%):"
#define
CS_INITIATOR_DISPLAY_STATE_ESTIMATE_TEXT " EST"
#define
CS_INITIATOR_DISPLAY_STATE_CONNECTED_TEXT " CONN"
#define
CS_INITIATOR_DISPLAY_STATE_SCANNING_TEXT " SCAN"
#define
CS_INITIATOR_DISPLAY_STATE_INITIALIZED_TEXT " INIT"
#define
CS_INITIATOR_DISPLAY_STATE_UNINITIALIZED_TEXT " "
#define
CS_INITIATOR_DISPLAY_STATE_SPOOFED_TEXT " SP!"
#define
CS_INITIATOR_DISPLAY_MODE_RTT_TEXT "RTT"
#define
CS_INITIATOR_DISPLAY_MODE_PBR_TEXT "PBR"
#define
CS_INITIATOR_DISPLAY_AMODE_STATIONARY_OBJ_TEXT " stationary "
#define
CS_INITIATOR_DISPLAY_AMODE_MOVING_OBJ_TEXT " moving "
#define
CS_INITIATOR_DISPLAY_AMODE_MOVING_OBJ_FAST_TEXT " moving fast"
#define
NL
#define
display_log_debug (...)
#define
display_log_info (...)
#define
display_log_warning (...)
#define
display_log_error (...)
#define
display_log_critical (...)

Enumeration Documentation#

cs_initiator_display_status_t#

cs_initiator_display_status_t
Enumerator
CS_INITIATOR_DISPLAY_STATUS_CONNECTED
CS_INITIATOR_DISPLAY_STATUS_SCANNING
CS_INITIATOR_DISPLAY_STATUS_ESTIMATE
CS_INITIATOR_DISPLAY_STATUS_INITIALIZED
CS_INITIATOR_DISPLAY_STATUS_UNINITIALIZED
CS_INITIATOR_DISPLAY_STATUS_SPOOFED

cs_initiator_display_row_t#

cs_initiator_display_row_t

Display rows.

Enumerator
ROW_MODE
ROW_INSTANCE_NUM
ROW_STATUS_TEXT
ROW_STATUS_VALUE
ROW_DISTANCE_TEXT
ROW_DISTANCE_VALUE
ROW_RAW_DISTANCE_TEXT
ROW_RAW_DISTANCE_VALUE
ROW_LIKELINESS_TEXT
ROW_LIKELINESS_VALUE
ROW_RSSI_DISTANCE_TEXT
ROW_RSSI_DISTANCE_VALUE
ROW_BIT_ERROR_RATE_TEXT
ROW_BIT_ERROR_RATE_VALUE

cs_initiator_display_alignment_t#

cs_initiator_display_alignment_t

UI alignment.

Enumerator
CS_INITIATOR_DISPLAY_ALIGNMENT_LEFT
CS_INITIATOR_DISPLAY_ALIGNMENT_CENTER
CS_INITIATOR_DISPLAY_ALIGNMENT_RIGHT

Function Documentation#

cs_initiator_display_create_instance#

sl_status_t cs_initiator_display_create_instance (uint8_t conn_handle)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]conn_handle

Connection handle

Create new display instance Returns

  • SL_STATUS_OK on success


cs_initiator_display_delete_instance#

sl_status_t cs_initiator_display_delete_instance (uint8_t conn_handle)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]conn_handle

Connection handle

Delete display instance The deleted instance will start scanning Returns

  • SL_STATUS_OK on success


cs_initiator_display_set_measurement_mode#

void cs_initiator_display_set_measurement_mode (sl_bt_cs_mode_t mode, uint8_t algo_mode)
Parameters
TypeDirectionArgument NameDescription
sl_bt_cs_mode_t[in]mode

CS Measurement mode

uint8_t[in]algo_mode

Algorithm mode

Set the measurement mode and object tracking mode to display.


cs_initiator_display_insert_new_float_value#

void cs_initiator_display_insert_new_float_value (float new_value, uint8_t row, uint8_t conn_handle)
Parameters
TypeDirectionArgument NameDescription
float[in]new_value

New value to display

uint8_t[in]row

Row number to display the value on

uint8_t[in]conn_handle

Connection handle

Insert new floating point value to the specified row on the display


cs_initiator_display_insert_new_distance_value#

void cs_initiator_display_insert_new_distance_value (float new_value, uint8_t conn_handle, float percentage, sl_rtl_cs_algo_mode algo_mode)
Parameters
TypeDirectionArgument NameDescription
float[in]new_value

New distance value to display

uint8_t[in]conn_handle

Connection handle

float[in]percentage

Percentage of the distance

sl_rtl_cs_algo_mode[in]algo_mode

Algorithm mode

Insert new distance value to the display Returns

  • SL_STATUS_OK on success


cs_initiator_display_insert_new_status#

sl_status_t cs_initiator_display_insert_new_status (uint8_t new_status, uint8_t instance_num)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]new_status

New status to display

uint8_t[in]instance_num

Instance number to display the status on

Insert new status to the display Returns

  • SL_STATUS_OK on success


cs_initiator_display_start_scanning#

void cs_initiator_display_start_scanning (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Start scanning and show it on the display.


cs_initiator_display_update_data#

void cs_initiator_display_update_data (uint8_t instance_num, uint8_t conn_handle, uint8_t status, float distance, float rssi_distance, float likeliness, float bit_error_rate, float raw_distance, float progress_percentage, uint8_t algo_mode, sl_bt_cs_mode_t cs_mode)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]instance_num

Instance number to update

uint8_t[in]conn_handle

Connection handle

uint8_t[in]status

Status of the display instance

float[in]distance

Distance value of the display instance

float[in]rssi_distance

RSSI distance value of the display instance

float[in]likeliness

Likeliness value of the display instance

float[in]bit_error_rate

Bit error rate value of the display instance

float[in]raw_distance

Raw distance value of the display instance

float[in]progress_percentage

Progress percentage of the display instance

uint8_t[in]algo_mode

Algorithm mode of the display instance

sl_bt_cs_mode_t[in]cs_mode

CS mode of the display instance

Update the data for a specified display instance


cs_initiator_display_update_instance#

void cs_initiator_display_update_instance (uint8_t instance_num)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]instance_num

Instance number to update

Update instance values on the display.


cs_initiator_display_on_event#

void cs_initiator_display_on_event (sl_bt_msg_t * evt)
Parameters
TypeDirectionArgument NameDescription
sl_bt_msg_t *[in]evt

Event coming from the Bluetooth stack.

Bluetooth stack event handler.


cs_initiator_display_init#

sl_status_t cs_initiator_display_init (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Initialize the display.


cs_initiator_display_set_alignment#

void cs_initiator_display_set_alignment (cs_initiator_display_alignment_t align)
Parameters
TypeDirectionArgument NameDescription
cs_initiator_display_alignment_t[in]align

text alignment to use

Set the display text alignment.


cs_initiator_display_write_text_to_instance#

void cs_initiator_display_write_text_to_instance (char * str, uint8_t row, uint8_t instance)
Parameters
TypeDirectionArgument NameDescription
char *[in]str

pointer to the text to print

uint8_t[in]row

row to print the text on

uint8_t[in]instance

instance number

Write text on the LCD.


cs_initiator_display_write_float_to_instance#

void cs_initiator_display_write_float_to_instance (float value, uint8_t row, uint8_t instance)
Parameters
TypeDirectionArgument NameDescription
float[in]value

float value to print

uint8_t[in]row

row to print the value on

uint8_t[in]instance

instance number

Write float value on the LCD.


cs_initiator_display_clear_instance#

void cs_initiator_display_clear_instance (uint8_t instance)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]instance

instance number

Clear instance values on the display.


cs_initiator_display_clear_row#

void cs_initiator_display_clear_row (uint8_t row)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]row

row to clear

Clear a specified row on the display.


cs_initiator_display_update#

void cs_initiator_display_update (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Update the display.