Go to the documentation of this file.
62 #include "custom_config.h"
71 #define ESL_CTL_PT_TLV_MAX_LEN 17
73 #define ESL_TLV_CMD_TAG(OPCODE) (OPCODE & 0xF)
74 #define ESL_TLV_CMD_LEN(OPCODE) ((OPCODE>>4) & 0xF)
76 #define ESL_TLV_CMD_CHECK(OPCODE, length) ((ESL_TLV_CMD_LEN(OPCODE)==(length -2))?true:false)
79 #define ESL_BASIC_STATE_SERV_NEED_POS 0
80 #define ESL_BASIC_STATE_SYNC_POS 1
81 #define ESL_BASIC_STATE_ACTIVE_LED_POS 2
82 #define ESL_BASIC_STATE_LED_UPDATE_POS 3
83 #define ESL_BASIC_STATE_DISP_UPDATE_POS 4
85 #define ESL_ADDR_ESL_ID_BROAD_ADDR 0xFF
86 #define ESL_ADDR_INVALID_GRP_ID 0xFF
544 uint8_t color_RGB_bright,
545 uint8_t flashing_pattern[7],
547 uint16_t repeat_duration);
568 uint8_t color_RGB_bright,
569 uint8_t flashing_pattern[7],
571 uint16_t repeat_duration,
731 uint8_t color_RGB_bright,
732 uint8_t flashing_pattern[7],
734 uint16_t repeat_duration);
756 uint8_t color_RGB_bright,
757 uint8_t flashing_pattern[7],
759 uint16_t repeat_duration,
@ ESL_VENDOR_IMAGE_END_NTF
@ ESL_RSP_ERR_CODE_IMPLAUSIBLE_ABS_TIM
@ ESLS_C_EVT_ESL_DISP_READ_INFO
@ ESL_CMD_OPCODE_UPDATE_COMP
@ ESL_RSP_ERR_CODE_INVALID_IMAGE_IDX
@ ESL_RSP_ERR_CODE_QUEUE_FULL
sdk_err_t esls_c_esl_sync_led_ctl(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id, uint8_t led_idx, uint8_t color_RGB_bright, uint8_t flashing_pattern[7], uint8_t repeat_type, uint16_t repeat_duration)
Sent ESL LED control cmd by Electronic Shelf Label PAwR Advertising subevt.
@ ESL_VENDOR_IMAGE_START_RSP
esl_cmd_opcode_t
Values for The ESL Control Point characteristic command procedure.
sdk_err_t esls_c_esl_sync_unassociate_from_ap(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id)
Sent ESL ESL unassociate from AP cmd by Electronic Shelf Label PAwR Advertising subevt.
sdk_err_t esls_c_esl_vendor_cmd(uint8_t conn_idx, uint8_t esl_id, uint16_t value_length, uint8_t *ctrl_value_p)
Sent ESL vendor cmd by Electronic Shelf Label service control point characteristic.
@ ESLS_C_EVT_CTRL_POINT_SET_RSP
uint16_t esls_srvc_start_handle
@ ESL_CMD_OPCODE_VEND_SPEC_TAG
uint16_t esls_addr_handle
sdk_err_t esl_ap_adv_param_fast_set(uint8_t adv_idx, struct ble_per_adv_param_t *per_adv_params_p)
Set ESL AP PAwR adv paramters.
@ ESLS_C_EVT_ESL_RSP_KEY_SET_SUCCESS
sdk_err_t esls_c_disp_info_read(uint8_t conn_idx)
Set Electronic Shelf Label service display information characteristic.
sdk_err_t esls_c_esl_sync_led_time_ctl(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id, uint8_t led_idx, uint8_t color_RGB_bright, uint8_t flashing_pattern[7], uint8_t repeat_type, uint16_t repeat_duration, uint32_t abs_tim)
Sent ESL LED control time cmd by Electronic Shelf Label PAwR Advertising subevt.
sdk_err_t esls_c_esl_disp_image(uint8_t conn_idx, uint8_t esl_id, uint8_t disp_idx, uint8_t image_idx)
Sent ESL display image cmd by Electronic Shelf Label service control point characteristic.
sdk_err_t esls_c_esl_sync_read_sensor_data(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id, uint8_t sensor_idx)
Sent ESL read sensor data cmd by Electronic Shelf Label PAwR Advertising subevt.
sdk_err_t esls_c_esl_led_time_ctl(uint8_t conn_idx, uint8_t esl_id, uint8_t led_idx, uint8_t color_RGB_bright, uint8_t flashing_pattern[7], uint8_t repeat_type, uint16_t repeat_duration, uint32_t abs_tim)
Sent ESL LED control cmd by Electronic Shelf Label service control point characteristic.
uint16_t esls_current_abs_time_handle
@ ESL_CMD_OPCODE_REFRESH_DISP
@ ESLS_C_EVT_ESL_ADDR_SET_SUCCESS
@ ESL_RSP_OPCODE_VEND_TAG
led_type_t
Values for LED type enumeration.
sdk_err_t esls_c_esl_current_abs_time_set(uint8_t conn_idx, uint32_t abs_time)
Set Electronic Shelf Label service current absolute time characteristic.
void(* esls_c_evt_handler_t)(esls_c_evt_t *p_evt)
Electronic Shelf Label Client event handler type.
@ ESL_VENDOR_IMAGE_START_REQ
@ ESL_VENDOR_DATA_ERR_CKSUM
@ ESLS_C_EVT_ESL_IMAGE_READ_INFO
sdk_err_t esls_c_esl_disp_time_image(uint8_t conn_idx, uint8_t esl_id, uint8_t disp_idx, uint8_t image_idx, uint32_t abs_tim)
Sent ESL display image time cmd by Electronic Shelf Label service control point characteristic.
@ ESL_RSP_OPCODE_DISP_STATE
sdk_err_t esls_c_ctrl_point_notify_set(uint8_t conn_idx, bool is_enable)
Enable or disable peer Electronic Shelf Label characteristic notify.
@ ESLS_C_ESL_KEY_FLAG_MAX
sdk_err_t esls_c_esl_read_sensor_data(uint8_t conn_idx, uint8_t esl_id, uint8_t sensor_idx)
Sent ESL read sensor data cmd by Electronic Shelf Label service control point characteristic.
esl_rsp_opcode_t
The ESL Control Point characteristic response behavior.
sdk_err_t esls_c_esl_ping(uint8_t conn_idx, uint8_t esl_id)
Sent ESL ping cmd by Electronic Shelf Label service control point characteristic.
@ ESL_RSP_OPCODE_SENSOR_TAG
uint16_t esls_srvc_end_handle
uint16_t esls_ctrl_point_handle
@ ESLS_C_EVT_ESL_ABS_TIM_SET_SUCCESS
@ ESL_RSP_ERR_CODE_INSUFF_BATTERY
@ ESL_RSP_ERR_CODE_INVALID_STATE
sdk_err_t esls_c_esl_led_ctl(uint8_t conn_idx, uint8_t esl_id, uint8_t led_idx, uint8_t color_RGB_bright, uint8_t flashing_pattern[7], uint8_t repeat_type, uint16_t repeat_duration)
Sent ESL LED control cmd by Electronic Shelf Label service control point characteristic.
sdk_err_t esls_c_esl_addr_set(uint8_t conn_idx, uint8_t esl_id, uint8_t group_id)
Set Electronic Shelf Label service esl address characteristic.
sdk_err_t esls_c_esl_sent_buffer_register(pawr_sent_data_arr_t *esl_sent_data_buff, uint8_t grp_number)
Set ESL AP PAwR subevt data buffer, the subevt data will temporarily store here until it's sent.
@ ESL_RSP_ERR_CODE_INVALID_OPCODE
@ ESL_VENDOR_DATA_ERR_LEN
esl_vendor_opcode_t
Values for contrl point vendor command and response.
@ ESL_RSP_OPCODE_LED_STATE
uint16_t esls_display_handle
@ ESL_RSP_ERR_CODE_CAPACITY_LIMIT
sdk_err_t esls_c_esl_factory_reset(uint8_t conn_idx, uint8_t esl_id)
Sent ESL factory reset cmd by Electronic Shelf Label service control point characteristic.
@ ESL_CMD_OPCODE_DISP_TIM_IMAGE
@ ESL_RSP_ERR_CODE_VEND_BEGIN
sdk_err_t esls_c_image_info_read(uint8_t conn_idx)
Set Electronic Shelf Label service image information characteristic.
@ ESL_CMD_OPCODE_LED_TIM_CTL
sdk_err_t esls_c_esl_sync_factory_reset(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id)
Sent ESL factory reset cmd by Electronic Shelf Label PAwR Advertising subevt.
@ ESL_CMD_OPCODE_UNASSOCIATE_AP
uint16_t esls_ctrl_point_cccd_handle
@ ESLS_C_EVT_CTRL_POINT_CCCD_SET
sdk_err_t esls_c_esl_key_set(uint8_t conn_idx, esls_c_key_type_t key_flag, uint8_t session_key[16], uint8_t iv[8])
Set Electronic Shelf Label service key material characteristic.
@ ESLS_C_EVT_DISCOVERY_COMPLETE
sdk_err_t esls_c_sensor_info_read(uint8_t conn_idx)
Set Electronic Shelf Label service sensor information characteristic.
@ ESL_RSP_OPCODE_BASIC_STATE
sdk_err_t esls_c_esl_update_complete(uint8_t conn_idx, uint8_t esl_id)
Sent ESL update complete cmd by Electronic Shelf Label service control point characteristic.
@ ESLS_C_AP_SYNC_KEY_FLAG
@ ESL_CMD_OPCODE_RD_SENSOR_DATA
@ ESL_RSP_ERR_CODE_INVALID_PARAM
Profile/Service Common Types.
@ ESLS_C_EVT_WRITE_OP_ERR
@ ESL_RSP_ERR_CODE_UNSPEC
uint16_t sdk_err_t
SDK API result type.
sdk_err_t esls_c_esl_sync_disp_image(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id, uint8_t disp_idx, uint8_t image_idx)
Sent ESL display image cmd by Electronic Shelf Label PAwR Advertising subevt.
@ ESLS_C_ESL_RSP_KEY_FLAG
@ ESL_VENDOR_RSP_DEVICE_NAME
@ ESL_CMD_OPCODE_DISP_IMAGE
uint16_t esls_image_handle
@ ESL_RSP_ERR_CODE_INSUFF_RESOURCE
@ ESLS_C_EVT_AP_SYNC_KEY_SET_SUCCESS
Handles on the connected peer device needed to interact with it.
sdk_err_t esls_c_esl_unassociate_from_ap(uint8_t conn_idx, uint8_t esl_id)
Sent ESL unassociate from AP cmd by Electronic Shelf Label service control point characteristic.
sdk_err_t esls_c_disc_srvc_start(uint8_t conn_idx)
Discovery Electronic Shelf Label service on peer.
esls_c_evt_type_t
Electronic Shelf Label User event to APP.
uint16_t esls_rsp_key_handle
sdk_err_t esls_c_esl_sync_refresh_disp(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id, uint8_t disp_idx)
Sent ESL refresh display cmd by Electronic Shelf Label PAwR Advertising subevt.
@ ESL_RSP_ERR_CODE_VEND_NO_ERR
void ble_esl_pawr_evt_on_ble_capture(const ble_evt_t *p_evt)
Capture PAwR events on BLE.
sdk_err_t esls_client_init(esls_c_evt_handler_t evt_handler)
Register ESLS Client event handler.
sdk_err_t esls_c_esl_sync_vendor_cmd(uint8_t grp_id, uint8_t esl_id, uint8_t *data, uint16_t data_len, uint8_t sent_num)
Sent ESL vendor cmd by Electronic Shelf Label PAwR Advertising subevt.
uint16_t esls_sensor_handle
sdk_err_t esls_c_esl_sync_service_reset(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id)
Sent ESL service reset cmd by Electronic Shelf Label PAwR Advertising subevt.
sdk_err_t esls_c_esl_sync_ping(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id)
Sent ESL ping cmd by Electronic Shelf Label PAwR Advertising subevt.
Electronic Shelf Label LED infor type.
sdk_err_t esls_c_esl_sync_update_complete(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id)
Sent ESL update complete cmd by Electronic Shelf Label PAwR Advertising subevt.
sdk_err_t esls_c_esl_sync_disp_time_image(uint8_t grp_id, uint8_t sent_num, uint8_t esl_id, uint8_t disp_idx, uint8_t image_idx, uint32_t abs_tim)
Sent ESL display image time cmd by Electronic Shelf Label PAwR Advertising subevt.
uint16_t esls_ap_sync_key_handle
@ ESLS_C_EVT_ESL_LED_READ_INFO
esls_c_key_type_t
Electronic Shelf Label Key Material type.
@ ESL_VENDOR_REQ_DEVICE_NAME
@ ESL_CMD_OPCODE_FACTORY_RST
@ ESL_RSP_ERR_CODE_IMAGE_NOT_AVAILABLE
sdk_err_t esls_c_esl_service_reset(uint8_t conn_idx, uint8_t esl_id)
Sent ESL service reset cmd by Electronic Shelf Label service control point characteristic.
sdk_err_t esls_c_led_info_read(uint8_t conn_idx)
Set Electronic Shelf Label service led information characteristic.
@ ESLS_C_EVT_CTRL_POINT_RSP_RECEIVE
@ ESLS_C_EVT_ESL_SYNC_RSP_RECEIVE
esl_rsp_err_code_t
The Error response has a single parameter that contains an error code .
esls_c_evt_type_t evt_type
@ ESLS_C_EVT_ESL_SENSOR_READ_INFO
Electronic Shelf Label Client event.
sdk_err_t esls_c_esl_refresh_disp(uint8_t conn_idx, uint8_t esl_id, uint8_t disp_idx)
Sent ESL refresh display cmd by Electronic Shelf Label service control point characteristic.
esl_vendor_data_err_t
Values for contrl point vendor command data error code.
@ ESLS_C_EVT_DISCOVERY_FAIL