ESL Tag core#
Implements the ESL Tag role of the Bluetooth Electronic Shelf Label Profile. It contains the mandatory ESL Tag characteristics, only. Optional features has to be added to the project as separate components, if needed. This component implements all the core functionalities, while also declares the interface of the optional features (and provides the WEAK implementations for them). This is a No-Code component, any additional feature can be added as a component.
Typedefs#
ESL Display Info Display Type.
ESL Display Info first class abstract data pointer type.
ESL Service Specification d09r18, Section 3.7.2.4: 48 bit Image Object ID.
ESL LED type.
ESL LED color gamut control type.
ESL LED repeats type.
Functions#
ESL LED flashing pattern ESL Service Spec. d09r18, Section 3.10.2.10.2.2.
ESL LED Control parameter, ESL Service Spec. d09r18, Section 3.10.2.10.1.
Macros#
Definition for unknown battery voltage level (an implausible value)
Custom psa_key_id_t for ESL AP Sync Key permanent storage (for AES key only)
Custom psa_key_id_t for ESL Response Key permanent storage.
ESL Display Type Assigned Numbers.
Invalid Opcode: The opcode was not recognized.
Invalid State: The request was not valid for the present ESL state.
Invalid Image Index: The Image_Index value was out of range.
Image Not Available: The requested image contained no image data.
ESL Service Specification d09r18, Section 3.7.2.4: 48 bit Image Object ID.
ESL LED type definition: sRGB.
ESL LED type definition: Monochrome.
ESL LED color gamut / brightness values.
ESL LED color gamut / brightness step percentage.
The command could not be processed successfully.
Acknowledgment of a request to control an LED.
General acknowledgment containing ESL status data.
Acknowledgment of a request to display an image.
Sensor report.
Response data as specified by the vendor of the ESL.
Mask for getting the Tag value from an ESL TLV.
Mask for getting the Length value from an ESL TLV.
ESL Display extra parameters count for init_func esl_va_method function.
ESL Display extra parameters count for write_func esl_va_method function.
Typedef Documentation#
esl_display_type_t#
typedef uint8_t esl_display_type_t
ESL Display Info Display Type.
55
of file common/esl_tag_core/inc/esl_tag_display_core.h
esl_display_info_p#
typedef struct esl_display_info_t* esl_display_info_p
ESL Display Info first class abstract data pointer type.
58
of file common/esl_tag_core/inc/esl_tag_display_core.h
esl_error_t#
typedef uint8_t esl_error_t
41
of file common/esl_tag_core/inc/esl_tag_errors.h
esl_image_object_id_t#
typedef uint8_t esl_image_object_id_t[6] [6]
ESL Service Specification d09r18, Section 3.7.2.4: 48 bit Image Object ID.
42
of file common/esl_tag_core/inc/esl_tag_image_core.h
esl_led_type_t#
typedef uint8_t esl_led_type_t
ESL LED type.
43
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_gamut_control_t#
typedef uint8_t esl_led_gamut_control_t
ESL LED color gamut control type.
46
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_repeats_type_t#
typedef uint16_t esl_led_repeats_type_t
ESL LED repeats type.
49
of file common/esl_tag_core/inc/esl_tag_led_core.h
tlv_tag_t#
typedef uint8_t tlv_tag_t
43
of file common/esl_tag_core/inc/esl_tag_tlv.h
tlv_length_t#
typedef uint8_t tlv_length_t
46
of file common/esl_tag_core/inc/esl_tag_tlv.h
Function Documentation#
esl_sensor_battery_init#
sl_status_t esl_sensor_battery_init (void )
N/A |
53
of file common/esl_tag_core/inc/esl_tag_battery_internal.h
esl_sensor_battery_read#
sl_status_t esl_sensor_battery_read (void )
N/A |
59
of file common/esl_tag_core/inc/esl_tag_battery_internal.h
esl_sensor_get_battery_voltage_mv#
uint32_t esl_sensor_get_battery_voltage_mv (void )
N/A |
67
of file common/esl_tag_core/inc/esl_tag_battery_internal.h
esl_sensor_core_check_battery_level#
void esl_sensor_core_check_battery_level (void )
N/A |
74
of file common/esl_tag_core/inc/esl_tag_battery_internal.h
esl_core_encrypt_message#
void * esl_core_encrypt_message (void * msg, uint8_t * len)
[in] | msg | Pointer to the message to be encrypted |
N/A | len | len Pointer to a variable containing the length of the message to be encrypted [in bytes] |
Message encryption function Returns
void* Pointer to the encrypted message on success, NULL otherwise.
Note
Also changes the value of *len to the resulting length on successful operation.
55
of file common/esl_tag_core/inc/esl_tag_crypto.h
esl_core_decrypt_message#
void * esl_core_decrypt_message (void * msg, uint8_t * len)
[in] | msg | Pointer to the message to be decrypted |
N/A | len | len Pointer to a variable containing the length of the message to be decrypted [in bytes] |
Message decryption function Returns
void* Pointer to the decrypted message on success, NULL otherwise.
Note
Also changes the value of *len to the resulting length on successful operation.
66
of file common/esl_tag_core/inc/esl_tag_crypto.h
esl_display_init#
void esl_display_init (void )
N/A |
ESL Tag display component init function. ESL Core component will call this during the initialization of application. This call is hidden and happens automatically.
65
of file common/esl_tag_core/inc/esl_tag_display_core.h
esl_display_refresh#
sl_status_t esl_display_refresh (uint8_t display_index, uint8_t * image_index)
[in] | display_index | Selects the display to show the image on. |
[out] | image_index | Returns last image set on the refreshed display. |
Refresh the content of the ESL Tag Display. Re-displays the image which was previously set on the given screen. Returns
sl_status_t
74
of file common/esl_tag_core/inc/esl_tag_display_core.h
esl_display_update#
sl_status_t esl_display_update (uint8_t display_index, uint8_t image_index)
[in] | display_index | Selects the display to show the image on. |
[in] | image_index | Selects the image to be shown on the display. |
Update image data on ESL Tag Display. Returns
sl_status_t
82
of file common/esl_tag_core/inc/esl_tag_display_core.h
esl_display_get_count#
uint8_t esl_display_get_count ()
ESL Display: display count getter Returns
Number of available displays
88
of file common/esl_tag_core/inc/esl_tag_display_core.h
esl_core_get_last_error#
esl_error_t esl_core_get_last_error (void )
N/A |
Gets the last error code Returns
esl_error_t_t
112
of file common/esl_tag_core/inc/esl_tag_errors.h
esl_core_set_last_error#
void esl_core_set_last_error (esl_error_t error_code)
[in] | error_code | error code |
Sets the last error code
118
of file common/esl_tag_core/inc/esl_tag_errors.h
esl_image_init#
void esl_image_init (void )
N/A |
ESL Tag image init function. ESL Core component will call this during the initialization of application. This call is hidden and happens automatically.
51
of file common/esl_tag_core/inc/esl_tag_image_core.h
esl_image_characteristic_update#
void esl_image_characteristic_update (void )
N/A |
ESL Tag image characteristic update. ESL Core component will call this automatically on the bluetooth stack boot event. The real implementation in the ESL Tag Image component will get the display info and write it to the ESL Image Information Characteristic value for the lifecycle of the tag.
59
of file common/esl_tag_core/inc/esl_tag_image_core.h
esl_image_get_data#
sl_status_t esl_image_get_data (uint8_t image_index, uint16_t * offset, uint16_t buf_size, uint8_t * target_buf)
[in] | image_index | image_index Index of the image to get raw data chunk of |
[out] | offset | *offset Size of data already read out |
[in] | buf_size | buf_size Actual size of the target buffer |
[out] | target_buf | *target_buf Buffer address to copy the image chunk into |
Getter for an ESL Tag image raw data chunk
Note
To get full image data this function needs to be called repeatedly until the offset value increases - offset in caller has to be persistent during the process, and usually its value must be set to 0, initially
Returns
sl_status_t
74
of file common/esl_tag_core/inc/esl_tag_image_core.h
esl_image_get_count#
uint8_t esl_image_get_count (void )
N/A |
ESL Tag maximum image count getter Returns
Number of available images
Note
: To be implemented with each custom image storage implementation!
82
of file common/esl_tag_core/inc/esl_tag_image_core.h
esl_image_reset_storage#
void esl_image_reset_storage (void )
N/A |
Reset image storage objects Note
: To be implemented with each custom image storage implementation!
88
of file common/esl_tag_core/inc/esl_tag_image_core.h
typedef#
typedef (struct { uint8_t data[5];uint8_t bit_off_period;uint8_t bit_on_period;} )
ESL LED flashing pattern ESL Service Spec. d09r18, Section 3.10.2.10.2.2.
N/A |
52
of file common/esl_tag_core/inc/esl_tag_led_core.h
typedef#
typedef (struct { uint8_t index;esl_led_gamut_control_t gamut;esl_led_flashing_pattern_t pattern;esl_led_repeats_type_t repeats;} )
ESL LED Control parameter, ESL Service Spec. d09r18, Section 3.10.2.10.1.
N/A |
59
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_init#
void esl_led_init (void )
N/A |
ESL Tag LED init function. ESL Core component will call this during the initialization of application. This call is hidden and happens automatically.
147
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_control#
sl_status_t esl_led_control (esl_led_control_t * control_param)
[in] | control_param | ESL LED control parameters defined by the ESL standard - excluding the ESL ID. |
ESL Tag LED control function Note
updates the active LED bit in ESL basic state register according to the actual status of all LEDs
Returns
sl_status_t
157
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_get_count#
uint8_t esl_led_get_count ()
Get ESL Tag LED count Returns
Number of available LEDs
163
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_is_srgb#
bool esl_led_is_srgb (uint8_t led_index)
N/A | led_index |
Get ESL Tag LED count Returns
Number of available LEDs
169
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_core_respones_init#
void esl_core_respones_init ()
Init ESL Tag responses queue. ESL Core component will call this during the initialization of application. This call is hidden and happens automatically.
62
of file common/esl_tag_core/inc/esl_tag_response.h
esl_core_build_response#
sl_status_t esl_core_build_response (tlv_t tlv, const void * input_data)
[in] | tlv | The TLV to create the response stream for |
[in] | input_data | can be a pointer to the basic status, led status etc. |
Create response byte stream for single TLV based on input data and error status (if any) then puts the response stream into a circular buffer. The resulting output length of a single TLV will be the length encoded in that particular TLV + 1 byte as per ESL specification. Multiple response streams will be then concatenated on consecutive calls up to the maximum length limit of 48 bytes for multiple response data. Note
the actual length of the input data length MUST be in correspondence with the TLV passed as the first parameter!
Returns
sl_tatus_t
78
of file common/esl_tag_core/inc/esl_tag_response.h
esl_core_get_responses#
uint8_t esl_core_get_responses (uint8_t remaining_length, uint8_t * buf_p)
[in] | remaining_length | size of data out buffer |
[out] | buf_p | pointer to data buffer to copy the responses into |
Copy all possible responses from internal circular buffer to a temporary linear buffer. Circular buffer drops the successfully read out data, while it might keep remaining responses which doesn't fit into the target buffer. Consistency of any response will be kept, that is, it might copy less data than the allowed maximum length passed as the first parameter, if there are responses left still in the internal circular buffer which otherwise wont fit into the target buffer. Returns
overall length of responses, might be 0 if there's no response
94
of file common/esl_tag_core/inc/esl_tag_response.h
esl_sensor_init#
void esl_sensor_init (void )
N/A |
ESL Tag sensor init function. ESL Core component will call this during the initialization of application. This call is hidden and happens automatically.
44
of file common/esl_tag_core/inc/esl_tag_sensor_core.h
esl_sensor_read#
sl_status_t esl_sensor_read (uint8_t index)
N/A | index |
Read interface (only) for ESL Sensor. Returns
sl_status_t SL_NOT_SUPPORTED if the ESL Sensor component is missing.
50
of file common/esl_tag_core/inc/esl_tag_sensor_core.h
esl_sensor_get_count#
uint8_t esl_sensor_get_count (void )
N/A |
Get ESL Tag Sensor count Returns
Number of available sensors
56
of file common/esl_tag_core/inc/esl_tag_sensor_core.h
esl_display_create#
sl_status_t esl_display_create (uint16_t width, uint16_t height, esl_display_type_t type, esl_display_info_p * info)
[in] | width | Display horizontal pixel count. |
[in] | height | Display vertical pixel count. |
[in] | type | Display type defined in BT SIG Assigned Numbers. |
[out] | info | esl_display_info_p type pointer to the newly created display info data. This value needs to pass to esl_display_add call, which has to follow the invocation of esl_display_create for any new display to be created, fully and properly. |
Create an ESL Tag display. Any display which a Tag wants to implement needs to becreated properly in the first place.
Returns
sl_status_t
62
of file common/esl_tag_display/inc/esl_tag_display.h
esl_display_add#
sl_status_t esl_display_add (esl_display_info_p info, esl_va_method_p init_func, esl_va_method_p write_func)
[in] | info | esl_display_info_p type pointer, can be get by calling esl_display_create previously. |
[in] | init_func | esl_va_method_p type pointer to the low-level init function of the display driver. Driver implementation, however, it's up to the user to implement it properly - the only rule is to follow the interface specification defined by the esl_va_method_p type. If the 'init' method is not necessary for the given display, then a NULL pointer can be passed. |
[in] | write_func | esl_va_method_p type pointer to the low-level write function of the display driver. Has to be implemented by the users, and it's mandatory (can't be NULL). |
Add an ESL Tag display to the list of available displays after creation. Any display on a Tag can be only used after adding it to the list.
Returns
sl_status_t
85
of file common/esl_tag_display/inc/esl_tag_display.h
esl_display_bt_on_event#
void esl_display_bt_on_event (sl_bt_msg_t * evt)
[in] | evt | Event coming from the Bluetooth stack. |
ESL display's bluetooth stack event handler. This one runs by the user implementation (usually in app.c) in parallel.
95
of file common/esl_tag_display/inc/esl_tag_display.h
esl_display_set_image#
sl_status_t esl_display_set_image (uint8_t display_index, uint8_t image_index)
[in] | display_index | Selects the display to show the image on. |
[in] | image_index | Selects the image to be shown on the display. |
ESL Display: chose an image to show. Invokes the users write_func passed to esl_display_add as its 3rd parameter. Returns
sl_status_t
104
of file common/esl_tag_display/inc/esl_tag_display.h
esl_display_get_width#
sl_status_t esl_display_get_width (uint8_t display_index, uint16_t * width)
[in] | display_index | Selects the display to get the width of. |
[out] | width | Horizontal pixel count of the selected display. |
Display width getter. Returns
sl_status_t
113
of file common/esl_tag_display/inc/esl_tag_display.h
esl_display_get_height#
sl_status_t esl_display_get_height (uint8_t display_index, uint16_t * height)
[in] | display_index | Selects the display to get the height of. |
[out] | height | Vertical pixel count of the selected display. |
Display height getter Returns
sl_status_t
121
of file common/esl_tag_display/inc/esl_tag_display.h
esl_display_get_type#
sl_status_t esl_display_get_type (uint8_t display_index, esl_display_type_t * type)
[in] | display_index | Selects the display to get the type of. |
[out] | type | esl_display_type_t Display type defined in BT SIG. |
Display type getter. Returns
sl_status_t
129
of file common/esl_tag_display/inc/esl_tag_display.h
esl_led_add#
sl_status_t esl_led_add (esl_led_type_t type, uint8_t red_value, uint8_t green_value, uint8_t blue_value)
[in] | type | Possible ESL LED type defined by ESL standard |
[in] | red_value | ESL LED (initial, in case of sRGB type) red color value. |
[in] | green_value | ESL LED (initial, if sRGB) green color value. |
[in] | blue_value | ESL LED (initial, if sRGB) blue color value. |
Add an ESL Tag LED to the list of available LEDs after creation. Any LED on a Tag can be only used after adding it to the internal LED registry.
Returns
sl_status_t
53
of file common/esl_tag_led/inc/esl_tag_led.h
esl_led_on#
sl_status_t esl_led_on (uint8_t led_index, esl_led_gamut_control_t gamut)
N/A | led_index | |
N/A | gamut |
ESL Tag LED on function. Simple turn on function with given brightness and color values, to be implemented by end users. It's the users responsibility to actually turn given LED on with the given brightness and color parameters (if applicable) and the function shall return SL_STATUS_OK in case of success. Return SL_STATUS_FAIL on any other case (e.g. index out of bound, detectable HW error etc. Returns
sl_status_t
69
of file common/esl_tag_led/inc/esl_tag_led.h
esl_led_off#
sl_status_t esl_led_off (uint8_t led_index)
N/A | led_index |
ESL Tag LED off function. Simple turn off function, similar to sl_esl_led_on method except it omits the gamut parameter entirely. To be implemented by end users. It's the users responsibility to actually turn given LED off and the function shall return SL_STATUS_OK in case of success. Return SL_STATUS_FAIL on any other case (e.g. index out of bound, detectable HW error etc. Returns
sl_status_t
81
of file common/esl_tag_led/inc/esl_tag_led.h
esl_led_create_color#
esl_led_gamut_control_t esl_led_create_color (uint8_t red_value, uint8_t green_value, uint8_t blue_value, uint8_t brightness)
[in] | red_value | ESL LED red color level |
[in] | green_value | ESL LED red color level |
[in] | blue_value | ESL LED red color level |
[in] | brightness | ESL LED red color level |
Assembly ESL Tag LED gamut value from input parameters for esl_led_gamut_control_t type Returns
esl_led_gamut_control_t Resulting ESL LED gamut value
92
of file common/esl_tag_led/inc/esl_tag_led.h
esl_led_bt_on_event#
void esl_led_bt_on_event (sl_bt_msg_t * evt)
[in] | evt | Event coming from the Bluetooth stack. |
ESL LED's bluetooth stack event handler. This one runs by the user implementation (usually in app.c) in parallel.
103
of file common/esl_tag_led/inc/esl_tag_led.h
Macro Definition Documentation#
ESL_TAG_MAX_SYNC_LOST_COUNT#
#define ESL_TAG_MAX_SYNC_LOST_COUNTValue:
3
47
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_VENDOR_OPCODES_ENABLED#
#define ESL_TAG_VENDOR_OPCODES_ENABLEDValue:
1
52
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_ADVERTISING_INTERVAL_MIN#
#define ESL_TAG_ADVERTISING_INTERVAL_MINValue:
750
59
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_ADVERTISING_INTERVAL_MAX#
#define ESL_TAG_ADVERTISING_INTERVAL_MAXValue:
1500
64
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_INTERMITTENT_ADVERTISING#
#define ESL_TAG_INTERMITTENT_ADVERTISINGValue:
0
71
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_SECONDARY_ADVERTISING_DELAY#
#define ESL_TAG_SECONDARY_ADVERTISING_DELAYValue:
225
77
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_BUILTIN_BATTERY_MEASURE_ENABLE#
#define ESL_TAG_BUILTIN_BATTERY_MEASURE_ENABLEValue:
1
86
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_BATTERY_LEVEL_FULL_MILLIVOLTS#
#define ESL_TAG_BATTERY_LEVEL_FULL_MILLIVOLTSValue:
3200
91
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_BATTERY_LEVEL_LOW_MILLIVOLTS#
#define ESL_TAG_BATTERY_LEVEL_LOW_MILLIVOLTSValue:
2400
96
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_BATTERY_MEASUREMENT_INTERVAL_MIN#
#define ESL_TAG_BATTERY_MEASUREMENT_INTERVAL_MINValue:
10
101
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_POWER_DOWN_ENABLE#
#define ESL_TAG_POWER_DOWN_ENABLEValue:
1
109
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_POWER_DOWN_TIMEOUT_MIN#
#define ESL_TAG_POWER_DOWN_TIMEOUT_MINValue:
60
114
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_BATTERY_MEASUREMENT_INTERVAL_MS#
#define ESL_TAG_BATTERY_MEASUREMENT_INTERVAL_MSValue:
(ESL_TAG_BATTERY_MEASUREMENT_INTERVAL_MIN * 60 * 1000)
123
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_POWER_DOWN_TIMEOUT_MS#
#define ESL_TAG_POWER_DOWN_TIMEOUT_MSValue:
(ESL_TAG_POWER_DOWN_TIMEOUT_MIN * 60 * 1000)
127
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_ADVERTISERS_COUNT#
#define ESL_TAG_ADVERTISERS_COUNTValue:
1
132
of file common/esl_tag_core/config/esl_tag_core_config.h
ESL_TAG_BATTERY_LEVEL_UNKNOWN#
#define ESL_TAG_BATTERY_LEVEL_UNKNOWNValue:
0
Definition for unknown battery voltage level (an implausible value)
47
of file common/esl_tag_core/inc/esl_tag_battery_internal.h
ESL_CORE_CRYPTO_AP_SYNC_KEY_ID#
#define ESL_CORE_CRYPTO_AP_SYNC_KEY_IDValue:
((psa_key_id_t)0xACC)
Custom psa_key_id_t for ESL AP Sync Key permanent storage (for AES key only)
41
of file common/esl_tag_core/inc/esl_tag_crypto.h
ESL_CORE_CRYPTO_RESPONSE_KEY_ID#
#define ESL_CORE_CRYPTO_RESPONSE_KEY_IDValue:
((psa_key_id_t)0xE51)
Custom psa_key_id_t for ESL Response Key permanent storage.
44
of file common/esl_tag_core/inc/esl_tag_crypto.h
ESL_DISPLAY_TYPE_BLACK_WHITE#
#define ESL_DISPLAY_TYPE_BLACK_WHITEValue:
0x01
ESL Display Type Assigned Numbers.
42
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_3_GRAY_SCALE#
#define ESL_DISPLAY_TYPE_3_GRAY_SCALEValue:
0x02
43
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_4_GRAY_SCALE#
#define ESL_DISPLAY_TYPE_4_GRAY_SCALEValue:
0x03
44
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_8_GRAY_SCALE#
#define ESL_DISPLAY_TYPE_8_GRAY_SCALEValue:
0x04
45
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_16_GRAY_SCALE#
#define ESL_DISPLAY_TYPE_16_GRAY_SCALEValue:
0x05
46
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_RED_BLACK_WHITE#
#define ESL_DISPLAY_TYPE_RED_BLACK_WHITEValue:
0x06
47
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_YELLOW_BLACK_WHITE#
#define ESL_DISPLAY_TYPE_YELLOW_BLACK_WHITEValue:
0x07
48
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_RED_YELLOW_BLACK_WHITE#
#define ESL_DISPLAY_TYPE_RED_YELLOW_BLACK_WHITEValue:
0x08
49
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_7_COLOR#
#define ESL_DISPLAY_TYPE_7_COLORValue:
0x09
50
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_16_COLOR#
#define ESL_DISPLAY_TYPE_16_COLORValue:
0x0A
51
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_DISPLAY_TYPE_FULL_RGB#
#define ESL_DISPLAY_TYPE_FULL_RGBValue:
0x0B
52
of file common/esl_tag_core/inc/esl_tag_display_core.h
ESL_ERROR_UNSPECIFIED#
#define ESL_ERROR_UNSPECIFIEDValue:
((esl_error_t)0x01)
Unspecified Error: any error condition that is not covered by a specific error code below
45
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_INVALID_OPCODE#
#define ESL_ERROR_INVALID_OPCODEValue:
((esl_error_t)0x02)
Invalid Opcode: The opcode was not recognized.
48
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_INVALID_STATE#
#define ESL_ERROR_INVALID_STATEValue:
((esl_error_t)0x03)
Invalid State: The request was not valid for the present ESL state.
51
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_INVALID_IMAGE_INDEX#
#define ESL_ERROR_INVALID_IMAGE_INDEXValue:
((esl_error_t)0x04)
Invalid Image Index: The Image_Index value was out of range.
54
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_IMAGE_NOT_AVAILABLE#
#define ESL_ERROR_IMAGE_NOT_AVAILABLEValue:
((esl_error_t)0x05)
Image Not Available: The requested image contained no image data.
57
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_INVALID_PARAMETER#
#define ESL_ERROR_INVALID_PARAMETERValue:
((esl_error_t)0x06)
Invalid Parameter(s): The parameter value(s) or length did not match the opcode
61
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_CAPACITY_LIMIT#
#define ESL_ERROR_CAPACITY_LIMITValue:
((esl_error_t)0x07)
Capacity Limit: The required response could not be sent as it would exceed the payload size limit
65
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_INSUFFICIENT_BATTERY#
#define ESL_ERROR_INSUFFICIENT_BATTERYValue:
((esl_error_t)0x08)
Insufficient Battery: The request could not be processed because of a lack of battery charge
69
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_INSUFFICIENT_RESOURCES#
#define ESL_ERROR_INSUFFICIENT_RESOURCESValue:
((esl_error_t)0x09)
Insufficient Resources: The request could not be processed because of a lack of resources. This may be a temporary condition.
73
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_RETRY#
#define ESL_ERROR_RETRYValue:
((esl_error_t)0x0A)
Retry: The ESL is temporarily not able to give a full response (e.g., because the required sensor hardware was asleep) and the AP is asked to try the same command again.
78
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_QUEUE_FULL#
#define ESL_ERROR_QUEUE_FULLValue:
((esl_error_t)0x0B)
Queue Full: The ESL is temporarily unable to add a further timed command to the queue of pending commands Âthe queue has reached its limit.
82
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_IMPLAUSIBLE_TIME#
#define ESL_ERROR_IMPLAUSIBLE_TIMEValue:
((esl_error_t)0x0C)
Implausible time: The Absolute Time parameter value in the command would result in a delay longer than 48 days (that is, it's a possible overflow)
86
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_VENDOR_NOERROR#
#define ESL_ERROR_VENDOR_NOERRORValue:
((esl_error_t)0xFF)
No Error: 0xFF is reserved for 'no error' indication. For internal use only, and it is Silicon Labs specific.
90
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_ERROR_VENDOR_NOREPORT#
#define ESL_ERROR_VENDOR_NOREPORTValue:
((esl_error_t)0xFE)
No report: 0xFE is reserved for 'no error report needed for timed commands' indication. For internal use only, and it is Silicon Labs specific.
94
of file common/esl_tag_core/inc/esl_tag_errors.h
esl_core_clear_last_error#
#define esl_core_clear_last_errorValue:
()
Wrapper around esl_core_set_last_error() to clear the last error
99
of file common/esl_tag_core/inc/esl_tag_errors.h
esl_core_has_no_error#
#define esl_core_has_no_errorValue:
()
Wrapper around esl_core_get_last_error() to check if there's no error
105
of file common/esl_tag_core/inc/esl_tag_errors.h
ESL_IMAGE_OBJECT_BASE#
#define ESL_IMAGE_OBJECT_BASEValue:
0x100u
ESL Service Specification d09r18, Section 3.7.2.4: 48 bit Image Object ID.
45
of file common/esl_tag_core/inc/esl_tag_image_core.h
ESL_LED_TYPE_SHIFT#
#define ESL_LED_TYPE_SHIFTValue:
((esl_led_type_t)6)
67
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_BRIGHTNESS_SHIFT#
#define ESL_LED_BRIGHTNESS_SHIFTValue:
((esl_led_gamut_control_t)6)
71
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_RED_GAMUT_SHIFT#
#define ESL_LED_RED_GAMUT_SHIFTValue:
((esl_led_gamut_control_t)0)
72
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_GREEN_GAMUT_SHIFT#
#define ESL_LED_GREEN_GAMUT_SHIFTValue:
((esl_led_gamut_control_t)2)
73
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_BLUE_GAMUT_SHIFT#
#define ESL_LED_BLUE_GAMUT_SHIFTValue:
((esl_led_gamut_control_t)4)
74
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_REPEATS_TYPE_MASK#
#define ESL_LED_REPEATS_TYPE_MASKValue:
((esl_led_repeats_type_t)0x0001)
77
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_REPEATS_TYPE_COUNT#
#define ESL_LED_REPEATS_TYPE_COUNTValue:
((esl_led_repeats_type_t)0x0000)
80
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_REPEATS_TYPE_TIME#
#define ESL_LED_REPEATS_TYPE_TIMEValue:
((esl_led_repeats_type_t)0x0001)
83
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_REPEATS_DURATION_SHIFT#
#define ESL_LED_REPEATS_DURATION_SHIFTValue:
((esl_led_repeats_type_t)0x0001)
86
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_TYPE_SRGB#
#define ESL_LED_TYPE_SRGBValue:
((esl_led_type_t)(0x00 << ESL_LED_TYPE_SHIFT))
ESL LED type definition: sRGB.
89
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_TYPE_MONOCHROME#
#define ESL_LED_TYPE_MONOCHROMEValue:
((esl_led_type_t)(0x01 << ESL_LED_TYPE_SHIFT))
ESL LED type definition: Monochrome.
92
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_TYPE_MASK#
#define ESL_LED_TYPE_MASKValue:
((esl_led_type_t)0xC0)
95
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_GENERIC_2BIT_MASK#
#define ESL_LED_GENERIC_2BIT_MASKValue:
((esl_led_type_t)0x03)
96
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_LEVEL_0#
#define ESL_LED_LEVEL_0Value:
(0x00)
ESL LED color gamut / brightness values.
99
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_LEVEL_1#
#define ESL_LED_LEVEL_1Value:
(0x01)
100
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_LEVEL_2#
#define ESL_LED_LEVEL_2Value:
(0x02)
101
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_LEVEL_3#
#define ESL_LED_LEVEL_3Value:
(0x03)
102
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_LED_LEVEL_STEP_PERCENTAGE#
#define ESL_LED_LEVEL_STEP_PERCENTAGEValue:
25
ESL LED color gamut / brightness step percentage.
105
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_get_brightness#
#define esl_led_get_brightnessValue:
Function like macro getter for 2-bit brightness value from a gamut value Returns
esl_led_gamut_control_t brightness
112
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_get_red_value#
#define esl_led_get_red_valueValue:
Function like macro getter for 2-bit red value from a gamut value Returns
esl_led_gamut_control_t red value
121
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_get_green_value#
#define esl_led_get_green_valueValue:
Function like macro getter for 2-bit green value from a gamut value Returns
esl_led_gamut_control_t green value
130
of file common/esl_tag_core/inc/esl_tag_led_core.h
esl_led_get_blue_value#
#define esl_led_get_blue_valueValue:
Function like macro getter for 2-bit blue value from a gamut value Returns
esl_led_gamut_control_t blue value
139
of file common/esl_tag_core/inc/esl_tag_led_core.h
ESL_TLV_RESPONSE_ERROR#
#define ESL_TLV_RESPONSE_ERRORValue:
((tlv_t)0x00)
The command could not be processed successfully.
41
of file common/esl_tag_core/inc/esl_tag_response.h
ESL_TLV_RESPONSE_LED_STATE#
#define ESL_TLV_RESPONSE_LED_STATEValue:
((tlv_t)0x01)
Acknowledgment of a request to control an LED.
44
of file common/esl_tag_core/inc/esl_tag_response.h
ESL_TLV_RESPONSE_BASIC_STATE#
#define ESL_TLV_RESPONSE_BASIC_STATEValue:
((tlv_t)0x10)
General acknowledgment containing ESL status data.
47
of file common/esl_tag_core/inc/esl_tag_response.h
ESL_TLV_RESPONSE_DISPLAY_STATE#
#define ESL_TLV_RESPONSE_DISPLAY_STATEValue:
((tlv_t)0x11)
Acknowledgment of a request to display an image.
50
of file common/esl_tag_core/inc/esl_tag_response.h
ESL_TLV_RESPONSE_SENSOR_VALUE#
#define ESL_TLV_RESPONSE_SENSOR_VALUEValue:
((tlv_t)0x0E)
Sensor report.
53
of file common/esl_tag_core/inc/esl_tag_response.h
ESL_TLV_RESPONSE_VENDOR_VALUE#
#define ESL_TLV_RESPONSE_VENDOR_VALUEValue:
((tlv_t)0x0F)
Response data as specified by the vendor of the ESL.
56
of file common/esl_tag_core/inc/esl_tag_response.h
ESL_TLV_TAG_MASK#
#define ESL_TLV_TAG_MASKValue:
((tlv_t)0x0F)
Mask for getting the Tag value from an ESL TLV.
49
of file common/esl_tag_core/inc/esl_tag_tlv.h
ESL_TLV_LEN_MASK#
#define ESL_TLV_LEN_MASKValue:
((tlv_t)0xF0)
Mask for getting the Length value from an ESL TLV.
52
of file common/esl_tag_core/inc/esl_tag_tlv.h
esl_core_get_tlv_tag#
#define esl_core_get_tlv_tagValue:
(tlv_byte)
Function like macro getter for 'Tag' field from an ESL TLV Returns
tlv_tag_t 'Tag' value of the TLV
60
of file common/esl_tag_core/inc/esl_tag_tlv.h
esl_core_get_tlv_len#
#define esl_core_get_tlv_lenValue:
Function like macro getter for real 'Length' value from an ESL TLV Returns
tlv_length_t 'Length' value of the TLV
68
of file common/esl_tag_core/inc/esl_tag_tlv.h
esl_core_set_tlv_tag#
#define esl_core_set_tlv_tagValue:
Function like macro for setting the 'Tag' value of a TLV
77
of file common/esl_tag_core/inc/esl_tag_tlv.h
esl_core_set_tlv_len#
#define esl_core_set_tlv_lenValue:
Function like macro for setting the 'Length' value of a TLV
89
of file common/esl_tag_core/inc/esl_tag_tlv.h
ESL_DISPLAY_INIT_FUNC_PARAMETERS_COUNT#
#define ESL_DISPLAY_INIT_FUNC_PARAMETERS_COUNTValue:
(1)
ESL Display extra parameters count for init_func esl_va_method function.
43
of file common/esl_tag_display/inc/esl_tag_display.h
ESL_DISPLAY_WRITE_FUNC_PARAMETERS_COUNT#
#define ESL_DISPLAY_WRITE_FUNC_PARAMETERS_COUNTValue:
(2)
ESL Display extra parameters count for write_func esl_va_method function.
46
of file common/esl_tag_display/inc/esl_tag_display.h