.. _central_esl_subcommands: Central ESL subcommands ####################### .. contents:: :local: :depth: 2 .. _esl_c_subcmds: ``esl_c`` is the ESL Access Point client shell command and it supports the following subcommands. ESL Client subcommands ********************** .. list-table:: ESL Client subcommands :header-rows: 1 * - Subcommand - Argument - Description * - state - N/A - Show current AP state machine. * - unassociated - connection index (0~CONFIG_BT_MAX_CONN) - Unassociate connected tag * - force_un - connection index (0~CONFIG_BT_MAX_CONN) - ESL service 3.9.2.2.2 request tag to response with Basic State. This command allows AP to Unassociate connected tag without waiting for response. * - bond_dump - N/A - Dump bonded ble address of ESL tags * - unbond_all - N/A - Unbond all bonded ESL tags for debug. * - unbond_ble - |
(0 = public, 1 = random, 2 = public_id, 3 = private_id) | (xx:xx:xx:xx:xx:xx) - Unbond specific ESL tag by ble address. * - ap_abs - [] (optional) - Get or set (if input abs time value) local AP absolute time value. * - update_abs - | (0 ~ CONFIG_BT_MAX_CONN) | - Update local AP and connected tag absolute time value. * - factory - - Send factory reset CP command to connected tag by esl address. * - default_esl_addr - - Set default esl address for :ref:`central_esl_auto_onboarding_and_auto_past` features . * - update_complete - | (0 ~ CONFIG_BT_MAX_CONN) | [] (optional) - Send update complete CP command to connected tag by connection index or esl address. * - auto_ap - [] (1/0) (optional) - Get or set auto AP mode. .. note:: The following ESL tag database commands required :kconifg:option:`CONFIG_BT_ESL_TAG_STORAGE` enabled. .. list-table:: ESL Client subcommands (TAG_STORAGE) :header-rows: 1 * - Subcommand - Argument - Description * - remove_all_tags - N/A - Remove all ESL tags from database, including ESL address / bond data / ESL response key. * - list_tags_storage - N/A - List all ESL tags stored in database. * - remove_tag - - Remove tag from database by ESL address. * - tags_per_group - - Set :ref:`bt_esl_ap_auto_tag_per_group` runtime. * - groups_per_button - - Set :ref:`bt_esl_ap_group_per_button` runtime. * - unbond_esl - - Unbond tag from database by ESL address. This is used when the bonding data of the AP and the ESL are out of sync, i.e. the AP will have an LTK while the ESL may not. If the reconnection fails due to a missing LTK, the AP may clear and attempt to create a new bond. .. _obj_c_subcmds: OTS Client subcommands ********************** ``esl_c obj_c`` is the Object Transfer client shell command and it supports the following subcommands. .. list-table:: Object Transfer client commands :header-rows: 1 * - Subcommand - Argument - Description * - select - - (Min: 0, Max:Max image index of ESL tag) - Select Object on ESL tag with image index. * - read_meta - - (Min: 0, Max:Max image index of ESL tag) - Read metadata of Object. * - write - | (0 ~ CONFIG_BT_MAX_CONN) | (0 ~ Max image index of ESL tag) | (0 ~ Max image stored in AP) - Write image with index on AP. The images stored in AP with filename pattern **ots_image_XX**. **XX** refers to hexdecimal index. * - write_filename - | (0 ~ CONFIG_BT_MAX_CONN) | (0 ~ Max image index of ESL tag) | - Write Image with filename on AP. The filename could be anything transferred from SMP. .. _acl_subcmds: ACL subcommands *************** ``esl_c acl`` shell command is related to the ESL Access Point ACL and it supports the following subcommands. .. list-table:: ACL commands :header-rows: 1 * - Subcommand - Argument - Description * - disconnect - (0 ~ CONFIG_BT_MAX_CONN) - Disconnect TAG * - security - | (0 ~ CONFIG_BT_MAX_CONN) | (0 ~ 4) - Change ACL security level for development. * - write_wo_rsp - (0 = GATT use write procedure, 1 = GATT uses write without response) - Set write characteristics without response. * - read_chrc - (0 ~ CONFIG_BT_MAX_CONN) - Read information characteristics from connected ESL Tag. * - scan - | (1/0) | (1 = scan for one device, 0 = scan continuously) - Scan ESL service. * - list_scanned - N/A - Dump scanned BLE address of ESL device. * - list_conn - N/A - Dump connected ESL device. * - connect - (0 ~ Max scanned tag) - Connect ESL tag by scanned list. * - connect_addr - |
(0 = public, 1 = random, 2 = public_id, 3 = private_id) | (xx:xx:xx:xx:xx:xx) - Connect ESL tag by BLE address.(No need to be scanned). * - bt_key_import - | (xx:xx:xx:xx:xx:xx) | - Import serialized BT bonding key runtime. * - bt_key_export - N/A - Export serialized BT bonding key. * - connect_esl - - Connect ESL service tag with ESL address. This requires :kconifg:option:`CONFIG_BT_ESL_TAG_STORAGE` enabled. * - load_bt_key_esl - - Load bond data with ESL address from ESL . This requires :kconifg:option:`CONFIG_BT_ESL_TAG_STORAGE` enabled. * - ap_key_update - - Write AP sync key to connected ESL tag. * - rsp_key_update - - Write response key to connected ESL tag. * - configure - | (0 ~ CONFIG_BT_MAX_CONN) | - Configure connected tag manually. * - discovery - (0 ~ CONFIG_BT_MAX_CONN) - Discovery connected tag manually. * - write_esl_addr - | (0 ~ CONFIG_BT_MAX_CONN) | | (0 = only change esl addr on AP, 1 = change esl addr on AP and connecte ESL tag) - Write ESL address characteristic. * - subscribe - (0 ~ CONFIG_BT_MAX_CONN) - Subscribe ECP notifiy manually. * - past - (0 ~ CONFIG_BT_MAX_CONN) - Commence PAST(Periodic Advertising Sync Transfer) to connected ESL tag . .. _pawr_subcmds: PAWR subcommands **************** ``esl_c pawr`` shell command is related to the ESL Access Point periodic advertising with respones (PAwR) and it supports the following subcommands. .. list-table:: PAWR commands :header-rows: 1 * - Subcommand - Argument - Description * - sync_buf_status - (optional) (0 ~ CONFIG_ESL_CLIENT_MAX_GROUP) - Dump ESL sync packet buffer status. * - push_sync_buf - | (0 ~ CONFIG_ESL_CLIENT_MAX_GROUP) | - Push ESL sync packet to buffer. AP will send packet in next subevent. * - dump_sync_buf - (0 ~ CONFIG_ESL_CLIENT_MAX_GROUP) - Dump ESL sync buffer content. * - dump_resp_buf - (0 ~ CONFIG_ESL_CLIENT_MAX_GROUP) - Dump ESL response buffer content. * - start_pawr - N/A - Start pawr manually for development. * - stop_pawr - N/A - Stop pawr manually for development. * - update_pawr - | (See predefined table) | (0 ~ CONFIG_ESL_CLIENT_MAX_GROUP) - Send predefined ESL packet. .. _predefined_esl_packet: Predefined ESL sync packet ************************** This sample contains a few predefined ESL sync packets. The following table shows their content. .. note:: Index of elements in ESL starts with 0 which means 0 is the first instance of elements (display/LED/sensor). .. list-table:: ESL Sync TLV commands :header-rows: 1 * - Sync packet type - Description * - 0x0 - Broadcast Ping. * - 0x1 - LED 0 flashing broadcast. * - 0x2 - LED 1 flashing broadcast. * - 0x3 - LED 1 on broadcast. * - 0x4 - LED 0 off broadcast. * - 0x5 - LED 1 on broadcast. * - 0x6 - LED 0 off broadcast. * - 0x7 - Display 0 image 0 broadcast. * - 0x8 - Display 0 image 1 broadcast. * - 0x9 - Read sensor 0 broadcast. * - 0xA - Ping default ESL_ID ~ ESL_ID + 4. * - 0xB - LED 0 flashing default ESL_ID ~ ESL_ID + 2. * - 0xC - LED 0 flashing default ESL_ID + 3, ESL_ID + 4. Fill first 2 slots with broadcast ping to make response slot begin with 2. * - 0xD - Led 1 flashing default ESL_ID ~ ESL_ID + 2. * - 0xE - LED 1 flashing default ESL_ID + 3, ESL_ID + 4. Fill first 2 slots with broadcast ping to make response slot begin with 2. * - 0xF - Read sensor 0 default ESL_ID ~ ESL_ID + 4. * - 0x10 - ESLP/ESL/SYNC/BI-03-I [Response TLV Too Long]. Send 17 TLVs to default ESL_ID * - 0x11 - Send 22 Pings to default ESL_ID + 1 and 1 for ESL_ID at TLVs slot 11. * - 0x12 - Tag default ESL_ID ~ ESL_ID + 10 Display Img 0. * - 0x13 - Tag default ESL_ID ~ ESL_ID + 10 Display img 1. * - 0x14 - Tag default ESL_ID ~ ESL_ID + 10 Display img 2 * - 0x15 - Send Vendor-specific command ``0x1F`` parameter ``0x1`` to tag default ESL_ID ~ ESL_ID + 10 * - 0x16 - Send Vendor-specific command ``0x1F`` parameter ``0x0`` to tag default ESL_ID ~ ESL_ID + 10