STM32WB55 BLE suite
One engineering reference for the nine companion descriptors that observe the STM32WB5MM-DK peer-to-peer BLE demo.
Download the complete suite · Domain catalog
Scope and compatibility
These files target the STM32WB55-based STM32WB5MM-DK demo with its single-link BLE observation ABI 1, matching Debug ELF and current Trace Domains v1 host. They do not acquire private CPU2 state or sniff radio traffic. Generic connection/GATT/journal concepts can be adapted to another producer, but require the same verified observation contract. IPCC fields are STM32WB-specific and the P2P profile uses ST application symbols. No broader target compatibility is claimed.
Each file remains separate to bound its input count. Install the files you need; no runtime file has been merged. The P2P Send action additionally requires command mailbox ABI 1 and a live BKPT Debug host with typed-actions-v1. Desktop and history views are read-only.
Files and sections
Reading the suite
Read availability and Present flags first. The observer retains four services, eight characteristics, 16 payload bytes per characteristic and 16 significant journal records. Polls may span several firmware generations; retained data can outlive a connection. A local stack success or application acknowledgement does not prove phone receipt. Registry overflow and truncation describe observation limits. The bundled ST P2P app registers one service and two characteristics, so GATT pages for slots 2–7 normally show unused entries.
All values are separately sampled firmware observations; the requested poll rates below are not guaranteed achieved rates. Unavailable or stale inputs are not zero. DWARF paths require the exact ELF. Unknown value codes remain numeric. Counters can reset with the application, and raw journal timestamps/sequences can wrap. Inspect retained records after halting only when a consistent multi-field snapshot is needed; a halt also interrupts BLE application handling.
BLE overview
com.bkpt.ble.overview · version 0.1.0 · API 1. Download · GitHub
Connection cards establish whether a live link exists. Command/error rows retain outcomes, while service tables describe only intercepted successful registrations, not CPU2's complete database.
61 inputs, 0 derived channels; requested polling 2 Hz per input.
BLE overview · Cards and tables
BLE overview · Connection
Single-link peripheral observation ABI 1. Connection intervals use 1.25 ms units; supervision timeout uses 10 ms units. Values persist until superseded; disconnected timing/PHY values describe the previous link.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Advertising · ble.advertising | Application advertising state updated after successful start/stop requests and connection events. It is not a measurement of packets transmitted over the air. Values. | Raw value / decoded state |
Connected · ble.connected | Single-link connection observation: 1 after a successful connection event, 0 after successful disconnect. Polls can miss an entire short connection. Values. | Raw value / decoded state |
Connection handle (65535 = none) · ble.connection_handle | Current connection handle; 65535 means none. Use it to distinguish a live link from retained timing/version fields. | Raw value / decoded state |
Successful connections · ble.connects | Successful connection events since boot, a 32-bit count. No wrapping policy is declared for this display. | Raw value / decoded state |
Disconnections · ble.disconnects | Successful disconnect events since boot, a 32-bit count. Compare its increase with the retained reason. | Raw value / decoded state |
Last disconnect reason · ble.disconnect_reason | Last disconnect reason. It is retained context and may describe an earlier link, not the current state. Values. | Raw value / decoded state |
Connection interval (1.25 ms units) · ble.interval_units | Negotiated interval in 1.25 ms units: multiply by 1.25 for milliseconds. Retained after disconnect. | Raw value / decoded state |
Peripheral latency (events) · ble.latency | Negotiated peripheral latency in connection events, not milliseconds. Retained after disconnect. | Raw value / decoded state |
Supervision timeout (10 ms units) · ble.timeout_units | Supervision timeout in 10 ms units: multiply by 10 for milliseconds. Retained after disconnect. | Raw value / decoded state |
TX PHY · ble.tx_phy | Last observed transmit PHY: 0 unknown, 1 1 Mbit/s, 2 2 Mbit/s, 3 coded. Not measured application throughput. Values. | Raw value / decoded state |
RX PHY · ble.rx_phy | Last observed receive PHY using the same codes. Retained after disconnect; not RF-quality data. Values. | Raw value / decoded state |
ATT MTU (0 = no link) · ble.att_mtu | Observed ATT MTU in bytes: initialized to 23 on connection, updated from the MTU response, cleared to 0 on disconnect. It is not notification payload length. | Raw value / decoded state |
Link encrypted · ble.encrypted | Observed encryption-enabled state, cleared on disconnect. This flag alone does not establish authentication strength or secure pairing. Values. | Raw value / decoded state |
BLE overview · Command outcomes and observation health
Firmware-retained application observation. Polls may span updates; halt for a consistent snapshot. Not private CPU2 state or proof of radio delivery.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Observation ABI · ble.abi | Firmware observation contract version. This adapter uses 1; it is distinct from descriptor format compatibility. | Raw value / decoded state |
Application uptime · ble.tick_ms | HAL_GetTick milliseconds refreshed by the application poll loop, stored in 32 bits and wrapping with the tick counter. Useful for checking that mirrors are being refreshed. | Raw value / decoded state |
CPU2 ready event observed · ble.cpu2_ready | A CPU2 ready event was observed. It does not prove successful BLE stack/application initialization. Values. | Raw value / decoded state |
Wireless version (major:minor:patch packed) · ble.stack_version | Wireless stack version packed as major << 16, minor << 8, patch. Decode those bytes; it is not a decimal version number. | Raw value / decoded state |
FUS version (major:minor:patch packed) · ble.fus_version | FUS version packed as major << 16, minor << 8, patch. Context for firmware compatibility; it is not a request to update FUS. | Raw value / decoded state |
Wireless stack type · ble.stack_type | Reported wireless stack type. This descriptor names value 1 as BLE full stack; other codes remain numeric. Values. | Raw value / decoded state |
HCI/ACI requests since boot · ble.commands | Wrapped HCI/ACI requests since boot. Counts requests even when their outcome fails. | Raw value / decoded state |
Command awaiting response · ble.command_pending | Set around hci_send_req and cleared on return. A sustained 1 suggests response processing is not completing; a single sample can be normal. Values. | Raw value / decoded state |
Last command · ble.last_opcode | Most recent HCI/ACI opcode, assembled from OGF and OCF. Match with last_status; fields may span different requests. Values. | Raw value / decoded state |
Last command status · ble.last_status | Most recent command outcome: stack status byte, 256 transport failure, or 257 no response status. Zero means local command success, not remote receipt. Values. | Raw value / decoded state |
Non-success command outcomes · ble.command_errors | Count of nonzero command outcomes, including transport/no-response cases. Inspect retained error fields before retrying. | Raw value / decoded state |
Last failed command (retained) · ble.last_error_opcode | Most recent failed command, retained even after later success. It is not necessarily the currently pending command. Values. | Raw value / decoded state |
Last error status (retained) · ble.last_error_status | Status of that retained failure. It can remain nonzero throughout subsequent healthy operation. Values. | Raw value / decoded state |
Asynchronous events since boot · ble.events | Asynchronous application events observed since boot, including radio activity callbacks omitted from the journal. Not a packet count. | Raw value / decoded state |
Rejected malformed application events · ble.malformed_events | Attribute-modified events rejected by the adapter’s length checks. It is not a comprehensive radio/protocol error counter. | Raw value / decoded state |
Observations omitted: registry full · ble.registry_overflows | Successful registrations omitted because the four-service/eight-characteristic observer registry was full. This is missing observation, not necessarily failed stack registration. | Raw value / decoded state |
Payload observations longer than 16 bytes · ble.value_truncations | Payload observations longer than the 16-byte retention limit. The application/stack may have received the full value. | Raw value / decoded state |
Registered services observed · ble.services_count | Successfully registered services retained by the adapter, at most four. Internal GAP/GATT services are not enumerated. | Raw value / decoded state |
Registered characteristics observed · ble.characteristics_count | Successfully registered characteristics retained by the adapter, at most eight. Other APIs need observer hooks to be represented. | Raw value / decoded state |
Journal slots overwritten since boot · ble.journal_overwritten | Significant records written beyond the first 16, replacing older slots. This is expected rolling-history eviction, not proof of lost radio traffic. | Raw value / decoded state |
BLE overview · Service slot 0
Present=0 means unused. These are successful application add-service calls, not an enumeration of CPU2's entire database; GAP/GATT built-ins are not intercepted. UUID words 3,2,1,0 form the 128-bit UUID in hexadecimal; type 1 uses word 0's low 16 bits.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.services.0.present | 1 marks a populated service slot; 0 means unused. Ignore the rest of an unused slot. Values. | Raw value / decoded state |
Service handle · ble.services.0.handle | Handle returned by a successful application add-service call. It identifies the local service, not a remote device. | Raw value / decoded state |
UUID type (1=16 bit, 2=128 bit) · ble.services.0.uuid_type | UUID type: 1 is 16-bit, 2 is 128-bit. Type determines how many words are meaningful. | Raw value / decoded state |
UUID / UUID word 0 (least-significant first) · ble.services.0.uuid.0 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 1 (least-significant first) · ble.services.0.uuid.1 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 2 (least-significant first) · ble.services.0.uuid.2 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 3 (least-significant first) · ble.services.0.uuid.3 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
BLE overview · Service slot 1
Present=0 means unused. These are successful application add-service calls, not an enumeration of CPU2's entire database; GAP/GATT built-ins are not intercepted. UUID words 3,2,1,0 form the 128-bit UUID in hexadecimal; type 1 uses word 0's low 16 bits.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.services.1.present | 1 marks a populated service slot; 0 means unused. Ignore the rest of an unused slot. Values. | Raw value / decoded state |
Service handle · ble.services.1.handle | Handle returned by a successful application add-service call. It identifies the local service, not a remote device. | Raw value / decoded state |
UUID type (1=16 bit, 2=128 bit) · ble.services.1.uuid_type | UUID type: 1 is 16-bit, 2 is 128-bit. Type determines how many words are meaningful. | Raw value / decoded state |
UUID / UUID word 0 (least-significant first) · ble.services.1.uuid.0 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 1 (least-significant first) · ble.services.1.uuid.1 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 2 (least-significant first) · ble.services.1.uuid.2 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 3 (least-significant first) · ble.services.1.uuid.3 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
BLE overview · Service slot 2
Present=0 means unused. These are successful application add-service calls, not an enumeration of CPU2's entire database; GAP/GATT built-ins are not intercepted. UUID words 3,2,1,0 form the 128-bit UUID in hexadecimal; type 1 uses word 0's low 16 bits.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.services.2.present | 1 marks a populated service slot; 0 means unused. Ignore the rest of an unused slot. Values. | Raw value / decoded state |
Service handle · ble.services.2.handle | Handle returned by a successful application add-service call. It identifies the local service, not a remote device. | Raw value / decoded state |
UUID type (1=16 bit, 2=128 bit) · ble.services.2.uuid_type | UUID type: 1 is 16-bit, 2 is 128-bit. Type determines how many words are meaningful. | Raw value / decoded state |
UUID / UUID word 0 (least-significant first) · ble.services.2.uuid.0 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 1 (least-significant first) · ble.services.2.uuid.1 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 2 (least-significant first) · ble.services.2.uuid.2 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 3 (least-significant first) · ble.services.2.uuid.3 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
BLE overview · Service slot 3
Present=0 means unused. These are successful application add-service calls, not an enumeration of CPU2's entire database; GAP/GATT built-ins are not intercepted. UUID words 3,2,1,0 form the 128-bit UUID in hexadecimal; type 1 uses word 0's low 16 bits.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.services.3.present | 1 marks a populated service slot; 0 means unused. Ignore the rest of an unused slot. Values. | Raw value / decoded state |
Service handle · ble.services.3.handle | Handle returned by a successful application add-service call. It identifies the local service, not a remote device. | Raw value / decoded state |
UUID type (1=16 bit, 2=128 bit) · ble.services.3.uuid_type | UUID type: 1 is 16-bit, 2 is 128-bit. Type determines how many words are meaningful. | Raw value / decoded state |
UUID / UUID word 0 (least-significant first) · ble.services.3.uuid.0 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 1 (least-significant first) · ble.services.3.uuid.1 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 2 (least-significant first) · ble.services.3.uuid.2 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
UUID / UUID word 3 (least-significant first) · ble.services.3.uuid.3 | One raw UUID word. For 128-bit UUIDs concatenate hexadecimal words 3,2,1,0, each padded to eight digits; for type 1 use word 0’s low 16 bits. | Raw value / decoded state |
BLE overview · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
ble.advertising | ble_observer.advertising | u32 | See its card/table above. |
ble.connected | ble_observer.connected | u32 | See its card/table above. |
ble.connection_handle | ble_observer.connection_handle | u32 | See its card/table above. |
ble.connects | ble_observer.connects | u32 | See its card/table above. |
ble.disconnects | ble_observer.disconnects | u32 | See its card/table above. |
ble.disconnect_reason | ble_observer.disconnect_reason | u32 | See its card/table above. |
ble.interval_units | ble_observer.interval_units | u32 | See its card/table above. |
ble.latency | ble_observer.latency | u32 | See its card/table above. |
ble.timeout_units | ble_observer.timeout_units | u32 | See its card/table above. |
ble.tx_phy | ble_observer.tx_phy | u32 | See its card/table above. |
ble.rx_phy | ble_observer.rx_phy | u32 | See its card/table above. |
ble.att_mtu | ble_observer.att_mtu | u32 | See its card/table above. |
ble.encrypted | ble_observer.encrypted | u32 | See its card/table above. |
ble.abi | ble_observer.abi | u32 | See its card/table above. |
ble.tick_ms | ble_observer.tick_ms | u32 | See its card/table above. |
ble.cpu2_ready | ble_observer.cpu2_ready | u32 | See its card/table above. |
ble.stack_version | ble_observer.stack_version | u32 | See its card/table above. |
ble.fus_version | ble_observer.fus_version | u32 | See its card/table above. |
ble.stack_type | ble_observer.stack_type | u32 | See its card/table above. |
ble.commands | ble_observer.commands | u32 | See its card/table above. Counter policy: wrapping. |
ble.command_pending | ble_observer.command_pending | u32 | See its card/table above. |
ble.last_opcode | ble_observer.last_opcode | u32 | See its card/table above. |
ble.last_status | ble_observer.last_status | u32 | See its card/table above. |
ble.command_errors | ble_observer.command_errors | u32 | See its card/table above. Counter policy: wrapping. |
ble.last_error_opcode | ble_observer.last_error_opcode | u32 | See its card/table above. |
ble.last_error_status | ble_observer.last_error_status | u32 | See its card/table above. |
ble.events | ble_observer.events | u32 | See its card/table above. Counter policy: wrapping. |
ble.malformed_events | ble_observer.malformed_events | u32 | See its card/table above. Counter policy: wrapping. |
ble.registry_overflows | ble_observer.registry_overflows | u32 | See its card/table above. Counter policy: wrapping. |
ble.value_truncations | ble_observer.value_truncations | u32 | See its card/table above. Counter policy: wrapping. |
ble.services_count | ble_observer.services_count | u32 | See its card/table above. |
ble.characteristics_count | ble_observer.characteristics_count | u32 | See its card/table above. |
ble.journal_overwritten | ble_observer.journal_overwritten | u32 | See its card/table above. |
ble.services.0.present | ble_observer.services[0].present | u32 | See its card/table above. |
ble.services.0.handle | ble_observer.services[0].handle | u32 | See its card/table above. |
ble.services.0.uuid_type | ble_observer.services[0].uuid_type | u32 | See its card/table above. |
ble.services.0.uuid.0 | ble_observer.services[0].uuid[0] | u32 | See its card/table above. |
ble.services.0.uuid.1 | ble_observer.services[0].uuid[1] | u32 | See its card/table above. |
ble.services.0.uuid.2 | ble_observer.services[0].uuid[2] | u32 | See its card/table above. |
ble.services.0.uuid.3 | ble_observer.services[0].uuid[3] | u32 | See its card/table above. |
ble.services.1.present | ble_observer.services[1].present | u32 | See its card/table above. |
ble.services.1.handle | ble_observer.services[1].handle | u32 | See its card/table above. |
ble.services.1.uuid_type | ble_observer.services[1].uuid_type | u32 | See its card/table above. |
ble.services.1.uuid.0 | ble_observer.services[1].uuid[0] | u32 | See its card/table above. |
ble.services.1.uuid.1 | ble_observer.services[1].uuid[1] | u32 | See its card/table above. |
ble.services.1.uuid.2 | ble_observer.services[1].uuid[2] | u32 | See its card/table above. |
ble.services.1.uuid.3 | ble_observer.services[1].uuid[3] | u32 | See its card/table above. |
ble.services.2.present | ble_observer.services[2].present | u32 | See its card/table above. |
ble.services.2.handle | ble_observer.services[2].handle | u32 | See its card/table above. |
ble.services.2.uuid_type | ble_observer.services[2].uuid_type | u32 | See its card/table above. |
ble.services.2.uuid.0 | ble_observer.services[2].uuid[0] | u32 | See its card/table above. |
ble.services.2.uuid.1 | ble_observer.services[2].uuid[1] | u32 | See its card/table above. |
ble.services.2.uuid.2 | ble_observer.services[2].uuid[2] | u32 | See its card/table above. |
ble.services.2.uuid.3 | ble_observer.services[2].uuid[3] | u32 | See its card/table above. |
ble.services.3.present | ble_observer.services[3].present | u32 | See its card/table above. |
ble.services.3.handle | ble_observer.services[3].handle | u32 | See its card/table above. |
ble.services.3.uuid_type | ble_observer.services[3].uuid_type | u32 | See its card/table above. |
ble.services.3.uuid.0 | ble_observer.services[3].uuid[0] | u32 | See its card/table above. |
ble.services.3.uuid.1 | ble_observer.services[3].uuid[1] | u32 | See its card/table above. |
ble.services.3.uuid.2 | ble_observer.services[3].uuid[2] | u32 | See its card/table above. |
ble.services.3.uuid.3 | ble_observer.services[3].uuid[3] | u32 | See its card/table above. |
wrapping tells analysis to account for rollover at the declared integer width; a reset can look like a wrap, and multiple wraps between samples cannot be recovered. monotonic uses sampled increases without inventing a reset/wrap delta. clear_on_read reports a consuming read interval, not a lifetime total. A display styled as a counter does not itself establish any of these policies.
BLE overview · Findings
BLE overview · A command returned non-success
warning · command-errors. ble.command_errors increases between valid samples.
The retained command error count increased. Inspect the retained opcode/status and journal; an accepted GATT update is not remote delivery.
Evidence: ble.command_errors.
BLE overview · Observation registry capacity exceeded
warning · registry-full. ble.registry_overflows increases between valid samples.
The firmware omitted an object because its fixed registry is full. Increase adapter capacity and generate matching bounded descriptor pages.
Evidence: ble.registry_overflows.
BLE overview · Command response still pending
warning · command-pending. ble.command_pending ≥ 1 for 2000 ms of observations.
A command has remained pending across at least two seconds of running samples. Inspect shared transport flags and application execution. Halting pauses observations.
Evidence: ble.command_pending.
BLE GATT slots 0 and 1
com.bkpt.ble.gatt-1 · version 0.1.0 · API 1. Download · GitHub
Each GATT file covers two physical characteristic slots. Read Present and Value source before interpreting payload words. Slots 0–1 serve the supplied P2P application; later slots require additional registrations.
48 inputs, 10 derived channels; requested polling 1 Hz per input.
BLE GATT slots 0 and 1 · Cards and tables
BLE GATT slots 0 and 1 · Characteristic slot 0
Present=0 means unused. Handles, UUIDs and properties come from successful registration. Value origin=0 means no observed value. Payload is the retained 16-byte prefix in four little-endian words. Values and counters are application observations; update success does not prove client receipt. CCCD is for the single current connection.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.characteristics.0.present | 1 means a successfully registered characteristic occupies the slot; 0 means unused. Do not interpret other fields of an unused slot. Values. | Raw value / decoded state |
Parent service handle · ble.characteristics.0.service | Parent local service handle; match it to the service registry in Overview. | Raw value / decoded state |
Identity / Characteristic declaration handle · ble.characteristics.0.declaration | Characteristic declaration handle returned by the registration API. | Raw value / decoded state |
Identity / Value handle · ble.characteristics.0.value_handle | Local value handle, declaration + 1 in this adapter. Remote writes are matched against this handle. | Raw value / decoded state |
Identity / CCCD handle (0 = none) · ble.characteristics.0.cccd_handle | Local client-configuration handle, declaration + 2 for notify/indicate characteristics in this adapter; 0 means none. This layout is adapter-specific. | Raw value / decoded state |
Identity / UUID type · ble.characteristics.0.uuid_type | 1 is a 16-bit UUID, 2 a 128-bit UUID. Use the corresponding UUID words. Values. | Raw value / decoded state |
Properties / Property bitmask · ble.characteristics.0.properties | Raw characteristic property bitmask from successful registration. The derived booleans decode only the named bits, not every possible property. | Raw value / decoded state |
Value / Maximum value bytes · ble.characteristics.0.max_length | Maximum bytes declared at registration. It is not the length of the retained payload. | Raw value / decoded state |
Value / Last observed payload bytes · ble.characteristics.0.length | Length of the latest observed update/write fragment before truncation. With offset-origin 3 it is fragment length, not total characteristic length. | Raw value / decoded state |
Value / Retained prefix bytes · ble.characteristics.0.captured | Bytes actually retained in the four payload words, at most 16. Ignore zero padding beyond this count. | Raw value / decoded state |
Value / Value source · ble.characteristics.0.value_origin | 0 unobserved; 1 accepted local update; 2 remote write callback; 3 nonzero-offset fragment, not a complete value. A displayed zero word is not evidence of an observed zero value when origin is 0. Values. | Raw value / decoded state |
Subscription / Client subscription · ble.characteristics.0.cccd | Subscription for the single current link: 0 disabled, 1 notifications, 2 indications, 3 both. Cleared on disconnect. Values. | Raw value / decoded state |
Activity / Remote value writes observed · ble.characteristics.0.writes | Remote value-write callbacks observed. This does not include CCCD writes, which update subscription state separately. | Raw value / decoded state |
Activity / Local update requests · ble.characteristics.0.updates | Local update API calls for this registered characteristic, including failed calls. | Raw value / decoded state |
Activity / Local updates accepted · ble.characteristics.0.update_ok | Local update calls accepted by the stack. Compare with updates/last_status; acceptance does not prove radio delivery or client consumption. | Raw value / decoded state |
Activity / Last local update status · ble.characteristics.0.last_status | Most recent local update result. It describes update calls, not the success of every remote write or notification. Values. | Raw value / decoded state |
Identity / UUID / UUID word 0 (least-significant first) · ble.characteristics.0.uuid.0 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 1 (least-significant first) · ble.characteristics.0.uuid.1 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 2 (least-significant first) · ble.characteristics.0.uuid.2 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 3 (least-significant first) · ble.characteristics.0.uuid.3 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Value / Payload / Payload bytes 0-3 (little-endian word) · ble.characteristics.0.value.0 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 4-7 (little-endian word) · ble.characteristics.0.value.1 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 8-11 (little-endian word) · ble.characteristics.0.value.2 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 12-15 (little-endian word) · ble.characteristics.0.value.3 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Properties / Readable · ble.characteristics.0.property.1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write without response · ble.characteristics.0.property.2 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write with response · ble.characteristics.0.property.3 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Notifiable · ble.characteristics.0.property.4 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Indicatable · ble.characteristics.0.property.5 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
BLE GATT slots 0 and 1 · Characteristic slot 1
Present=0 means unused. Handles, UUIDs and properties come from successful registration. Value origin=0 means no observed value. Payload is the retained 16-byte prefix in four little-endian words. Values and counters are application observations; update success does not prove client receipt. CCCD is for the single current connection.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.characteristics.1.present | 1 means a successfully registered characteristic occupies the slot; 0 means unused. Do not interpret other fields of an unused slot. Values. | Raw value / decoded state |
Parent service handle · ble.characteristics.1.service | Parent local service handle; match it to the service registry in Overview. | Raw value / decoded state |
Identity / Characteristic declaration handle · ble.characteristics.1.declaration | Characteristic declaration handle returned by the registration API. | Raw value / decoded state |
Identity / Value handle · ble.characteristics.1.value_handle | Local value handle, declaration + 1 in this adapter. Remote writes are matched against this handle. | Raw value / decoded state |
Identity / CCCD handle (0 = none) · ble.characteristics.1.cccd_handle | Local client-configuration handle, declaration + 2 for notify/indicate characteristics in this adapter; 0 means none. This layout is adapter-specific. | Raw value / decoded state |
Identity / UUID type · ble.characteristics.1.uuid_type | 1 is a 16-bit UUID, 2 a 128-bit UUID. Use the corresponding UUID words. Values. | Raw value / decoded state |
Properties / Property bitmask · ble.characteristics.1.properties | Raw characteristic property bitmask from successful registration. The derived booleans decode only the named bits, not every possible property. | Raw value / decoded state |
Value / Maximum value bytes · ble.characteristics.1.max_length | Maximum bytes declared at registration. It is not the length of the retained payload. | Raw value / decoded state |
Value / Last observed payload bytes · ble.characteristics.1.length | Length of the latest observed update/write fragment before truncation. With offset-origin 3 it is fragment length, not total characteristic length. | Raw value / decoded state |
Value / Retained prefix bytes · ble.characteristics.1.captured | Bytes actually retained in the four payload words, at most 16. Ignore zero padding beyond this count. | Raw value / decoded state |
Value / Value source · ble.characteristics.1.value_origin | 0 unobserved; 1 accepted local update; 2 remote write callback; 3 nonzero-offset fragment, not a complete value. A displayed zero word is not evidence of an observed zero value when origin is 0. Values. | Raw value / decoded state |
Subscription / Client subscription · ble.characteristics.1.cccd | Subscription for the single current link: 0 disabled, 1 notifications, 2 indications, 3 both. Cleared on disconnect. Values. | Raw value / decoded state |
Activity / Remote value writes observed · ble.characteristics.1.writes | Remote value-write callbacks observed. This does not include CCCD writes, which update subscription state separately. | Raw value / decoded state |
Activity / Local update requests · ble.characteristics.1.updates | Local update API calls for this registered characteristic, including failed calls. | Raw value / decoded state |
Activity / Local updates accepted · ble.characteristics.1.update_ok | Local update calls accepted by the stack. Compare with updates/last_status; acceptance does not prove radio delivery or client consumption. | Raw value / decoded state |
Activity / Last local update status · ble.characteristics.1.last_status | Most recent local update result. It describes update calls, not the success of every remote write or notification. Values. | Raw value / decoded state |
Identity / UUID / UUID word 0 (least-significant first) · ble.characteristics.1.uuid.0 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 1 (least-significant first) · ble.characteristics.1.uuid.1 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 2 (least-significant first) · ble.characteristics.1.uuid.2 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 3 (least-significant first) · ble.characteristics.1.uuid.3 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Value / Payload / Payload bytes 0-3 (little-endian word) · ble.characteristics.1.value.0 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 4-7 (little-endian word) · ble.characteristics.1.value.1 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 8-11 (little-endian word) · ble.characteristics.1.value.2 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 12-15 (little-endian word) · ble.characteristics.1.value.3 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Properties / Readable · ble.characteristics.1.property.1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write without response · ble.characteristics.1.property.2 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write with response · ble.characteristics.1.property.3 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Notifiable · ble.characteristics.1.property.4 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Indicatable · ble.characteristics.1.property.5 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
BLE GATT slots 0 and 1 · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
ble.characteristics.0.present | ble_observer.characteristics[0].present | u32 | See its card/table above. |
ble.characteristics.0.service | ble_observer.characteristics[0].service | u32 | See its card/table above. |
ble.characteristics.0.declaration | ble_observer.characteristics[0].declaration | u32 | See its card/table above. |
ble.characteristics.0.value_handle | ble_observer.characteristics[0].value_handle | u32 | See its card/table above. |
ble.characteristics.0.cccd_handle | ble_observer.characteristics[0].cccd_handle | u32 | See its card/table above. |
ble.characteristics.0.uuid_type | ble_observer.characteristics[0].uuid_type | u32 | See its card/table above. |
ble.characteristics.0.properties | ble_observer.characteristics[0].properties | u32 | See its card/table above. |
ble.characteristics.0.max_length | ble_observer.characteristics[0].max_length | u32 | See its card/table above. |
ble.characteristics.0.length | ble_observer.characteristics[0].length | u32 | See its card/table above. |
ble.characteristics.0.captured | ble_observer.characteristics[0].captured | u32 | See its card/table above. |
ble.characteristics.0.value_origin | ble_observer.characteristics[0].value_origin | u32 | See its card/table above. |
ble.characteristics.0.cccd | ble_observer.characteristics[0].cccd | u32 | See its card/table above. |
ble.characteristics.0.writes | ble_observer.characteristics[0].writes | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.0.updates | ble_observer.characteristics[0].updates | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.0.update_ok | ble_observer.characteristics[0].update_ok | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.0.last_status | ble_observer.characteristics[0].last_status | u32 | See its card/table above. |
ble.characteristics.0.uuid.0 | ble_observer.characteristics[0].uuid[0] | u32 | See its card/table above. |
ble.characteristics.0.uuid.1 | ble_observer.characteristics[0].uuid[1] | u32 | See its card/table above. |
ble.characteristics.0.uuid.2 | ble_observer.characteristics[0].uuid[2] | u32 | See its card/table above. |
ble.characteristics.0.uuid.3 | ble_observer.characteristics[0].uuid[3] | u32 | See its card/table above. |
ble.characteristics.0.value.0 | ble_observer.characteristics[0].value[0] | u32 | See its card/table above. |
ble.characteristics.0.value.1 | ble_observer.characteristics[0].value[1] | u32 | See its card/table above. |
ble.characteristics.0.value.2 | ble_observer.characteristics[0].value[2] | u32 | See its card/table above. |
ble.characteristics.0.value.3 | ble_observer.characteristics[0].value[3] | u32 | See its card/table above. |
ble.characteristics.1.present | ble_observer.characteristics[1].present | u32 | See its card/table above. |
ble.characteristics.1.service | ble_observer.characteristics[1].service | u32 | See its card/table above. |
ble.characteristics.1.declaration | ble_observer.characteristics[1].declaration | u32 | See its card/table above. |
ble.characteristics.1.value_handle | ble_observer.characteristics[1].value_handle | u32 | See its card/table above. |
ble.characteristics.1.cccd_handle | ble_observer.characteristics[1].cccd_handle | u32 | See its card/table above. |
ble.characteristics.1.uuid_type | ble_observer.characteristics[1].uuid_type | u32 | See its card/table above. |
ble.characteristics.1.properties | ble_observer.characteristics[1].properties | u32 | See its card/table above. |
ble.characteristics.1.max_length | ble_observer.characteristics[1].max_length | u32 | See its card/table above. |
ble.characteristics.1.length | ble_observer.characteristics[1].length | u32 | See its card/table above. |
ble.characteristics.1.captured | ble_observer.characteristics[1].captured | u32 | See its card/table above. |
ble.characteristics.1.value_origin | ble_observer.characteristics[1].value_origin | u32 | See its card/table above. |
ble.characteristics.1.cccd | ble_observer.characteristics[1].cccd | u32 | See its card/table above. |
ble.characteristics.1.writes | ble_observer.characteristics[1].writes | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.1.updates | ble_observer.characteristics[1].updates | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.1.update_ok | ble_observer.characteristics[1].update_ok | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.1.last_status | ble_observer.characteristics[1].last_status | u32 | See its card/table above. |
ble.characteristics.1.uuid.0 | ble_observer.characteristics[1].uuid[0] | u32 | See its card/table above. |
ble.characteristics.1.uuid.1 | ble_observer.characteristics[1].uuid[1] | u32 | See its card/table above. |
ble.characteristics.1.uuid.2 | ble_observer.characteristics[1].uuid[2] | u32 | See its card/table above. |
ble.characteristics.1.uuid.3 | ble_observer.characteristics[1].uuid[3] | u32 | See its card/table above. |
ble.characteristics.1.value.0 | ble_observer.characteristics[1].value[0] | u32 | See its card/table above. |
ble.characteristics.1.value.1 | ble_observer.characteristics[1].value[1] | u32 | See its card/table above. |
ble.characteristics.1.value.2 | ble_observer.characteristics[1].value[2] | u32 | See its card/table above. |
ble.characteristics.1.value.3 | ble_observer.characteristics[1].value[3] | u32 | See its card/table above. |
wrapping tells analysis to account for rollover at the declared integer width; a reset can look like a wrap, and multiple wraps between samples cannot be recovered. monotonic uses sampled increases without inventing a reset/wrap delta. clear_on_read reports a consuming read interval, not a lifetime total. A display styled as a counter does not itself establish any of these policies.
BLE GATT slots 0 and 1 · Derived fields and rates
| CHANNEL | CALCULATION | MEANING | UNIT |
|---|---|---|---|
ble.characteristics.0.property.1 | (ble.characteristics.0.properties >> 1) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.0.property.2 | (ble.characteristics.0.properties >> 2) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.0.property.3 | (ble.characteristics.0.properties >> 3) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.0.property.4 | (ble.characteristics.0.properties >> 4) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.0.property.5 | (ble.characteristics.0.properties >> 5) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.1.property.1 | (ble.characteristics.1.properties >> 1) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.1.property.2 | (ble.characteristics.1.properties >> 2) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.1.property.3 | (ble.characteristics.1.properties >> 3) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.1.property.4 | (ble.characteristics.1.properties >> 4) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.1.property.5 | (ble.characteristics.1.properties >> 5) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
Rates need two valid samples at increasing timestamps and are interval averages. Gaps break the calculation. A negative raw delta is clamped to zero by the rate calculation; do not infer an instantaneous event rate from a reset. Unknown map keys pass through numerically; an unmapped code is not a validated physical measurement.
BLE GATT slots 0 and 1 · Findings
This domain declares no automatic findings. Use the fields and the interpretation above; absence of a finding does not establish healthy operation.
BLE GATT slots 2 and 3
com.bkpt.ble.gatt-2 · version 0.1.0 · API 1. Download · GitHub
Each GATT file covers two physical characteristic slots. Read Present and Value source before interpreting payload words. Slots 0–1 serve the supplied P2P application; later slots require additional registrations.
48 inputs, 10 derived channels; requested polling 1 Hz per input.
BLE GATT slots 2 and 3 · Cards and tables
BLE GATT slots 2 and 3 · Characteristic slot 2
Present=0 means unused. Handles, UUIDs and properties come from successful registration. Value origin=0 means no observed value. Payload is the retained 16-byte prefix in four little-endian words. Values and counters are application observations; update success does not prove client receipt. CCCD is for the single current connection.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.characteristics.2.present | 1 means a successfully registered characteristic occupies the slot; 0 means unused. Do not interpret other fields of an unused slot. Values. | Raw value / decoded state |
Parent service handle · ble.characteristics.2.service | Parent local service handle; match it to the service registry in Overview. | Raw value / decoded state |
Identity / Characteristic declaration handle · ble.characteristics.2.declaration | Characteristic declaration handle returned by the registration API. | Raw value / decoded state |
Identity / Value handle · ble.characteristics.2.value_handle | Local value handle, declaration + 1 in this adapter. Remote writes are matched against this handle. | Raw value / decoded state |
Identity / CCCD handle (0 = none) · ble.characteristics.2.cccd_handle | Local client-configuration handle, declaration + 2 for notify/indicate characteristics in this adapter; 0 means none. This layout is adapter-specific. | Raw value / decoded state |
Identity / UUID type · ble.characteristics.2.uuid_type | 1 is a 16-bit UUID, 2 a 128-bit UUID. Use the corresponding UUID words. Values. | Raw value / decoded state |
Properties / Property bitmask · ble.characteristics.2.properties | Raw characteristic property bitmask from successful registration. The derived booleans decode only the named bits, not every possible property. | Raw value / decoded state |
Value / Maximum value bytes · ble.characteristics.2.max_length | Maximum bytes declared at registration. It is not the length of the retained payload. | Raw value / decoded state |
Value / Last observed payload bytes · ble.characteristics.2.length | Length of the latest observed update/write fragment before truncation. With offset-origin 3 it is fragment length, not total characteristic length. | Raw value / decoded state |
Value / Retained prefix bytes · ble.characteristics.2.captured | Bytes actually retained in the four payload words, at most 16. Ignore zero padding beyond this count. | Raw value / decoded state |
Value / Value source · ble.characteristics.2.value_origin | 0 unobserved; 1 accepted local update; 2 remote write callback; 3 nonzero-offset fragment, not a complete value. A displayed zero word is not evidence of an observed zero value when origin is 0. Values. | Raw value / decoded state |
Subscription / Client subscription · ble.characteristics.2.cccd | Subscription for the single current link: 0 disabled, 1 notifications, 2 indications, 3 both. Cleared on disconnect. Values. | Raw value / decoded state |
Activity / Remote value writes observed · ble.characteristics.2.writes | Remote value-write callbacks observed. This does not include CCCD writes, which update subscription state separately. | Raw value / decoded state |
Activity / Local update requests · ble.characteristics.2.updates | Local update API calls for this registered characteristic, including failed calls. | Raw value / decoded state |
Activity / Local updates accepted · ble.characteristics.2.update_ok | Local update calls accepted by the stack. Compare with updates/last_status; acceptance does not prove radio delivery or client consumption. | Raw value / decoded state |
Activity / Last local update status · ble.characteristics.2.last_status | Most recent local update result. It describes update calls, not the success of every remote write or notification. Values. | Raw value / decoded state |
Identity / UUID / UUID word 0 (least-significant first) · ble.characteristics.2.uuid.0 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 1 (least-significant first) · ble.characteristics.2.uuid.1 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 2 (least-significant first) · ble.characteristics.2.uuid.2 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 3 (least-significant first) · ble.characteristics.2.uuid.3 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Value / Payload / Payload bytes 0-3 (little-endian word) · ble.characteristics.2.value.0 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 4-7 (little-endian word) · ble.characteristics.2.value.1 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 8-11 (little-endian word) · ble.characteristics.2.value.2 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 12-15 (little-endian word) · ble.characteristics.2.value.3 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Properties / Readable · ble.characteristics.2.property.1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write without response · ble.characteristics.2.property.2 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write with response · ble.characteristics.2.property.3 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Notifiable · ble.characteristics.2.property.4 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Indicatable · ble.characteristics.2.property.5 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
BLE GATT slots 2 and 3 · Characteristic slot 3
Present=0 means unused. Handles, UUIDs and properties come from successful registration. Value origin=0 means no observed value. Payload is the retained 16-byte prefix in four little-endian words. Values and counters are application observations; update success does not prove client receipt. CCCD is for the single current connection.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.characteristics.3.present | 1 means a successfully registered characteristic occupies the slot; 0 means unused. Do not interpret other fields of an unused slot. Values. | Raw value / decoded state |
Parent service handle · ble.characteristics.3.service | Parent local service handle; match it to the service registry in Overview. | Raw value / decoded state |
Identity / Characteristic declaration handle · ble.characteristics.3.declaration | Characteristic declaration handle returned by the registration API. | Raw value / decoded state |
Identity / Value handle · ble.characteristics.3.value_handle | Local value handle, declaration + 1 in this adapter. Remote writes are matched against this handle. | Raw value / decoded state |
Identity / CCCD handle (0 = none) · ble.characteristics.3.cccd_handle | Local client-configuration handle, declaration + 2 for notify/indicate characteristics in this adapter; 0 means none. This layout is adapter-specific. | Raw value / decoded state |
Identity / UUID type · ble.characteristics.3.uuid_type | 1 is a 16-bit UUID, 2 a 128-bit UUID. Use the corresponding UUID words. Values. | Raw value / decoded state |
Properties / Property bitmask · ble.characteristics.3.properties | Raw characteristic property bitmask from successful registration. The derived booleans decode only the named bits, not every possible property. | Raw value / decoded state |
Value / Maximum value bytes · ble.characteristics.3.max_length | Maximum bytes declared at registration. It is not the length of the retained payload. | Raw value / decoded state |
Value / Last observed payload bytes · ble.characteristics.3.length | Length of the latest observed update/write fragment before truncation. With offset-origin 3 it is fragment length, not total characteristic length. | Raw value / decoded state |
Value / Retained prefix bytes · ble.characteristics.3.captured | Bytes actually retained in the four payload words, at most 16. Ignore zero padding beyond this count. | Raw value / decoded state |
Value / Value source · ble.characteristics.3.value_origin | 0 unobserved; 1 accepted local update; 2 remote write callback; 3 nonzero-offset fragment, not a complete value. A displayed zero word is not evidence of an observed zero value when origin is 0. Values. | Raw value / decoded state |
Subscription / Client subscription · ble.characteristics.3.cccd | Subscription for the single current link: 0 disabled, 1 notifications, 2 indications, 3 both. Cleared on disconnect. Values. | Raw value / decoded state |
Activity / Remote value writes observed · ble.characteristics.3.writes | Remote value-write callbacks observed. This does not include CCCD writes, which update subscription state separately. | Raw value / decoded state |
Activity / Local update requests · ble.characteristics.3.updates | Local update API calls for this registered characteristic, including failed calls. | Raw value / decoded state |
Activity / Local updates accepted · ble.characteristics.3.update_ok | Local update calls accepted by the stack. Compare with updates/last_status; acceptance does not prove radio delivery or client consumption. | Raw value / decoded state |
Activity / Last local update status · ble.characteristics.3.last_status | Most recent local update result. It describes update calls, not the success of every remote write or notification. Values. | Raw value / decoded state |
Identity / UUID / UUID word 0 (least-significant first) · ble.characteristics.3.uuid.0 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 1 (least-significant first) · ble.characteristics.3.uuid.1 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 2 (least-significant first) · ble.characteristics.3.uuid.2 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 3 (least-significant first) · ble.characteristics.3.uuid.3 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Value / Payload / Payload bytes 0-3 (little-endian word) · ble.characteristics.3.value.0 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 4-7 (little-endian word) · ble.characteristics.3.value.1 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 8-11 (little-endian word) · ble.characteristics.3.value.2 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 12-15 (little-endian word) · ble.characteristics.3.value.3 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Properties / Readable · ble.characteristics.3.property.1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write without response · ble.characteristics.3.property.2 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write with response · ble.characteristics.3.property.3 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Notifiable · ble.characteristics.3.property.4 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Indicatable · ble.characteristics.3.property.5 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
BLE GATT slots 2 and 3 · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
ble.characteristics.2.present | ble_observer.characteristics[2].present | u32 | See its card/table above. |
ble.characteristics.2.service | ble_observer.characteristics[2].service | u32 | See its card/table above. |
ble.characteristics.2.declaration | ble_observer.characteristics[2].declaration | u32 | See its card/table above. |
ble.characteristics.2.value_handle | ble_observer.characteristics[2].value_handle | u32 | See its card/table above. |
ble.characteristics.2.cccd_handle | ble_observer.characteristics[2].cccd_handle | u32 | See its card/table above. |
ble.characteristics.2.uuid_type | ble_observer.characteristics[2].uuid_type | u32 | See its card/table above. |
ble.characteristics.2.properties | ble_observer.characteristics[2].properties | u32 | See its card/table above. |
ble.characteristics.2.max_length | ble_observer.characteristics[2].max_length | u32 | See its card/table above. |
ble.characteristics.2.length | ble_observer.characteristics[2].length | u32 | See its card/table above. |
ble.characteristics.2.captured | ble_observer.characteristics[2].captured | u32 | See its card/table above. |
ble.characteristics.2.value_origin | ble_observer.characteristics[2].value_origin | u32 | See its card/table above. |
ble.characteristics.2.cccd | ble_observer.characteristics[2].cccd | u32 | See its card/table above. |
ble.characteristics.2.writes | ble_observer.characteristics[2].writes | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.2.updates | ble_observer.characteristics[2].updates | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.2.update_ok | ble_observer.characteristics[2].update_ok | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.2.last_status | ble_observer.characteristics[2].last_status | u32 | See its card/table above. |
ble.characteristics.2.uuid.0 | ble_observer.characteristics[2].uuid[0] | u32 | See its card/table above. |
ble.characteristics.2.uuid.1 | ble_observer.characteristics[2].uuid[1] | u32 | See its card/table above. |
ble.characteristics.2.uuid.2 | ble_observer.characteristics[2].uuid[2] | u32 | See its card/table above. |
ble.characteristics.2.uuid.3 | ble_observer.characteristics[2].uuid[3] | u32 | See its card/table above. |
ble.characteristics.2.value.0 | ble_observer.characteristics[2].value[0] | u32 | See its card/table above. |
ble.characteristics.2.value.1 | ble_observer.characteristics[2].value[1] | u32 | See its card/table above. |
ble.characteristics.2.value.2 | ble_observer.characteristics[2].value[2] | u32 | See its card/table above. |
ble.characteristics.2.value.3 | ble_observer.characteristics[2].value[3] | u32 | See its card/table above. |
ble.characteristics.3.present | ble_observer.characteristics[3].present | u32 | See its card/table above. |
ble.characteristics.3.service | ble_observer.characteristics[3].service | u32 | See its card/table above. |
ble.characteristics.3.declaration | ble_observer.characteristics[3].declaration | u32 | See its card/table above. |
ble.characteristics.3.value_handle | ble_observer.characteristics[3].value_handle | u32 | See its card/table above. |
ble.characteristics.3.cccd_handle | ble_observer.characteristics[3].cccd_handle | u32 | See its card/table above. |
ble.characteristics.3.uuid_type | ble_observer.characteristics[3].uuid_type | u32 | See its card/table above. |
ble.characteristics.3.properties | ble_observer.characteristics[3].properties | u32 | See its card/table above. |
ble.characteristics.3.max_length | ble_observer.characteristics[3].max_length | u32 | See its card/table above. |
ble.characteristics.3.length | ble_observer.characteristics[3].length | u32 | See its card/table above. |
ble.characteristics.3.captured | ble_observer.characteristics[3].captured | u32 | See its card/table above. |
ble.characteristics.3.value_origin | ble_observer.characteristics[3].value_origin | u32 | See its card/table above. |
ble.characteristics.3.cccd | ble_observer.characteristics[3].cccd | u32 | See its card/table above. |
ble.characteristics.3.writes | ble_observer.characteristics[3].writes | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.3.updates | ble_observer.characteristics[3].updates | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.3.update_ok | ble_observer.characteristics[3].update_ok | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.3.last_status | ble_observer.characteristics[3].last_status | u32 | See its card/table above. |
ble.characteristics.3.uuid.0 | ble_observer.characteristics[3].uuid[0] | u32 | See its card/table above. |
ble.characteristics.3.uuid.1 | ble_observer.characteristics[3].uuid[1] | u32 | See its card/table above. |
ble.characteristics.3.uuid.2 | ble_observer.characteristics[3].uuid[2] | u32 | See its card/table above. |
ble.characteristics.3.uuid.3 | ble_observer.characteristics[3].uuid[3] | u32 | See its card/table above. |
ble.characteristics.3.value.0 | ble_observer.characteristics[3].value[0] | u32 | See its card/table above. |
ble.characteristics.3.value.1 | ble_observer.characteristics[3].value[1] | u32 | See its card/table above. |
ble.characteristics.3.value.2 | ble_observer.characteristics[3].value[2] | u32 | See its card/table above. |
ble.characteristics.3.value.3 | ble_observer.characteristics[3].value[3] | u32 | See its card/table above. |
wrapping tells analysis to account for rollover at the declared integer width; a reset can look like a wrap, and multiple wraps between samples cannot be recovered. monotonic uses sampled increases without inventing a reset/wrap delta. clear_on_read reports a consuming read interval, not a lifetime total. A display styled as a counter does not itself establish any of these policies.
BLE GATT slots 2 and 3 · Derived fields and rates
| CHANNEL | CALCULATION | MEANING | UNIT |
|---|---|---|---|
ble.characteristics.2.property.1 | (ble.characteristics.2.properties >> 1) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.2.property.2 | (ble.characteristics.2.properties >> 2) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.2.property.3 | (ble.characteristics.2.properties >> 3) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.2.property.4 | (ble.characteristics.2.properties >> 4) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.2.property.5 | (ble.characteristics.2.properties >> 5) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.3.property.1 | (ble.characteristics.3.properties >> 1) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.3.property.2 | (ble.characteristics.3.properties >> 2) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.3.property.3 | (ble.characteristics.3.properties >> 3) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.3.property.4 | (ble.characteristics.3.properties >> 4) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.3.property.5 | (ble.characteristics.3.properties >> 5) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
Rates need two valid samples at increasing timestamps and are interval averages. Gaps break the calculation. A negative raw delta is clamped to zero by the rate calculation; do not infer an instantaneous event rate from a reset. Unknown map keys pass through numerically; an unmapped code is not a validated physical measurement.
BLE GATT slots 2 and 3 · Findings
This domain declares no automatic findings. Use the fields and the interpretation above; absence of a finding does not establish healthy operation.
BLE GATT slots 4 and 5
com.bkpt.ble.gatt-3 · version 0.1.0 · API 1. Download · GitHub
Each GATT file covers two physical characteristic slots. Read Present and Value source before interpreting payload words. Slots 0–1 serve the supplied P2P application; later slots require additional registrations.
48 inputs, 10 derived channels; requested polling 1 Hz per input.
BLE GATT slots 4 and 5 · Cards and tables
BLE GATT slots 4 and 5 · Characteristic slot 4
Present=0 means unused. Handles, UUIDs and properties come from successful registration. Value origin=0 means no observed value. Payload is the retained 16-byte prefix in four little-endian words. Values and counters are application observations; update success does not prove client receipt. CCCD is for the single current connection.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.characteristics.4.present | 1 means a successfully registered characteristic occupies the slot; 0 means unused. Do not interpret other fields of an unused slot. Values. | Raw value / decoded state |
Parent service handle · ble.characteristics.4.service | Parent local service handle; match it to the service registry in Overview. | Raw value / decoded state |
Identity / Characteristic declaration handle · ble.characteristics.4.declaration | Characteristic declaration handle returned by the registration API. | Raw value / decoded state |
Identity / Value handle · ble.characteristics.4.value_handle | Local value handle, declaration + 1 in this adapter. Remote writes are matched against this handle. | Raw value / decoded state |
Identity / CCCD handle (0 = none) · ble.characteristics.4.cccd_handle | Local client-configuration handle, declaration + 2 for notify/indicate characteristics in this adapter; 0 means none. This layout is adapter-specific. | Raw value / decoded state |
Identity / UUID type · ble.characteristics.4.uuid_type | 1 is a 16-bit UUID, 2 a 128-bit UUID. Use the corresponding UUID words. Values. | Raw value / decoded state |
Properties / Property bitmask · ble.characteristics.4.properties | Raw characteristic property bitmask from successful registration. The derived booleans decode only the named bits, not every possible property. | Raw value / decoded state |
Value / Maximum value bytes · ble.characteristics.4.max_length | Maximum bytes declared at registration. It is not the length of the retained payload. | Raw value / decoded state |
Value / Last observed payload bytes · ble.characteristics.4.length | Length of the latest observed update/write fragment before truncation. With offset-origin 3 it is fragment length, not total characteristic length. | Raw value / decoded state |
Value / Retained prefix bytes · ble.characteristics.4.captured | Bytes actually retained in the four payload words, at most 16. Ignore zero padding beyond this count. | Raw value / decoded state |
Value / Value source · ble.characteristics.4.value_origin | 0 unobserved; 1 accepted local update; 2 remote write callback; 3 nonzero-offset fragment, not a complete value. A displayed zero word is not evidence of an observed zero value when origin is 0. Values. | Raw value / decoded state |
Subscription / Client subscription · ble.characteristics.4.cccd | Subscription for the single current link: 0 disabled, 1 notifications, 2 indications, 3 both. Cleared on disconnect. Values. | Raw value / decoded state |
Activity / Remote value writes observed · ble.characteristics.4.writes | Remote value-write callbacks observed. This does not include CCCD writes, which update subscription state separately. | Raw value / decoded state |
Activity / Local update requests · ble.characteristics.4.updates | Local update API calls for this registered characteristic, including failed calls. | Raw value / decoded state |
Activity / Local updates accepted · ble.characteristics.4.update_ok | Local update calls accepted by the stack. Compare with updates/last_status; acceptance does not prove radio delivery or client consumption. | Raw value / decoded state |
Activity / Last local update status · ble.characteristics.4.last_status | Most recent local update result. It describes update calls, not the success of every remote write or notification. Values. | Raw value / decoded state |
Identity / UUID / UUID word 0 (least-significant first) · ble.characteristics.4.uuid.0 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 1 (least-significant first) · ble.characteristics.4.uuid.1 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 2 (least-significant first) · ble.characteristics.4.uuid.2 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 3 (least-significant first) · ble.characteristics.4.uuid.3 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Value / Payload / Payload bytes 0-3 (little-endian word) · ble.characteristics.4.value.0 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 4-7 (little-endian word) · ble.characteristics.4.value.1 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 8-11 (little-endian word) · ble.characteristics.4.value.2 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 12-15 (little-endian word) · ble.characteristics.4.value.3 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Properties / Readable · ble.characteristics.4.property.1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write without response · ble.characteristics.4.property.2 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write with response · ble.characteristics.4.property.3 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Notifiable · ble.characteristics.4.property.4 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Indicatable · ble.characteristics.4.property.5 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
BLE GATT slots 4 and 5 · Characteristic slot 5
Present=0 means unused. Handles, UUIDs and properties come from successful registration. Value origin=0 means no observed value. Payload is the retained 16-byte prefix in four little-endian words. Values and counters are application observations; update success does not prove client receipt. CCCD is for the single current connection.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.characteristics.5.present | 1 means a successfully registered characteristic occupies the slot; 0 means unused. Do not interpret other fields of an unused slot. Values. | Raw value / decoded state |
Parent service handle · ble.characteristics.5.service | Parent local service handle; match it to the service registry in Overview. | Raw value / decoded state |
Identity / Characteristic declaration handle · ble.characteristics.5.declaration | Characteristic declaration handle returned by the registration API. | Raw value / decoded state |
Identity / Value handle · ble.characteristics.5.value_handle | Local value handle, declaration + 1 in this adapter. Remote writes are matched against this handle. | Raw value / decoded state |
Identity / CCCD handle (0 = none) · ble.characteristics.5.cccd_handle | Local client-configuration handle, declaration + 2 for notify/indicate characteristics in this adapter; 0 means none. This layout is adapter-specific. | Raw value / decoded state |
Identity / UUID type · ble.characteristics.5.uuid_type | 1 is a 16-bit UUID, 2 a 128-bit UUID. Use the corresponding UUID words. Values. | Raw value / decoded state |
Properties / Property bitmask · ble.characteristics.5.properties | Raw characteristic property bitmask from successful registration. The derived booleans decode only the named bits, not every possible property. | Raw value / decoded state |
Value / Maximum value bytes · ble.characteristics.5.max_length | Maximum bytes declared at registration. It is not the length of the retained payload. | Raw value / decoded state |
Value / Last observed payload bytes · ble.characteristics.5.length | Length of the latest observed update/write fragment before truncation. With offset-origin 3 it is fragment length, not total characteristic length. | Raw value / decoded state |
Value / Retained prefix bytes · ble.characteristics.5.captured | Bytes actually retained in the four payload words, at most 16. Ignore zero padding beyond this count. | Raw value / decoded state |
Value / Value source · ble.characteristics.5.value_origin | 0 unobserved; 1 accepted local update; 2 remote write callback; 3 nonzero-offset fragment, not a complete value. A displayed zero word is not evidence of an observed zero value when origin is 0. Values. | Raw value / decoded state |
Subscription / Client subscription · ble.characteristics.5.cccd | Subscription for the single current link: 0 disabled, 1 notifications, 2 indications, 3 both. Cleared on disconnect. Values. | Raw value / decoded state |
Activity / Remote value writes observed · ble.characteristics.5.writes | Remote value-write callbacks observed. This does not include CCCD writes, which update subscription state separately. | Raw value / decoded state |
Activity / Local update requests · ble.characteristics.5.updates | Local update API calls for this registered characteristic, including failed calls. | Raw value / decoded state |
Activity / Local updates accepted · ble.characteristics.5.update_ok | Local update calls accepted by the stack. Compare with updates/last_status; acceptance does not prove radio delivery or client consumption. | Raw value / decoded state |
Activity / Last local update status · ble.characteristics.5.last_status | Most recent local update result. It describes update calls, not the success of every remote write or notification. Values. | Raw value / decoded state |
Identity / UUID / UUID word 0 (least-significant first) · ble.characteristics.5.uuid.0 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 1 (least-significant first) · ble.characteristics.5.uuid.1 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 2 (least-significant first) · ble.characteristics.5.uuid.2 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 3 (least-significant first) · ble.characteristics.5.uuid.3 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Value / Payload / Payload bytes 0-3 (little-endian word) · ble.characteristics.5.value.0 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 4-7 (little-endian word) · ble.characteristics.5.value.1 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 8-11 (little-endian word) · ble.characteristics.5.value.2 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 12-15 (little-endian word) · ble.characteristics.5.value.3 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Properties / Readable · ble.characteristics.5.property.1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write without response · ble.characteristics.5.property.2 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write with response · ble.characteristics.5.property.3 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Notifiable · ble.characteristics.5.property.4 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Indicatable · ble.characteristics.5.property.5 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
BLE GATT slots 4 and 5 · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
ble.characteristics.4.present | ble_observer.characteristics[4].present | u32 | See its card/table above. |
ble.characteristics.4.service | ble_observer.characteristics[4].service | u32 | See its card/table above. |
ble.characteristics.4.declaration | ble_observer.characteristics[4].declaration | u32 | See its card/table above. |
ble.characteristics.4.value_handle | ble_observer.characteristics[4].value_handle | u32 | See its card/table above. |
ble.characteristics.4.cccd_handle | ble_observer.characteristics[4].cccd_handle | u32 | See its card/table above. |
ble.characteristics.4.uuid_type | ble_observer.characteristics[4].uuid_type | u32 | See its card/table above. |
ble.characteristics.4.properties | ble_observer.characteristics[4].properties | u32 | See its card/table above. |
ble.characteristics.4.max_length | ble_observer.characteristics[4].max_length | u32 | See its card/table above. |
ble.characteristics.4.length | ble_observer.characteristics[4].length | u32 | See its card/table above. |
ble.characteristics.4.captured | ble_observer.characteristics[4].captured | u32 | See its card/table above. |
ble.characteristics.4.value_origin | ble_observer.characteristics[4].value_origin | u32 | See its card/table above. |
ble.characteristics.4.cccd | ble_observer.characteristics[4].cccd | u32 | See its card/table above. |
ble.characteristics.4.writes | ble_observer.characteristics[4].writes | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.4.updates | ble_observer.characteristics[4].updates | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.4.update_ok | ble_observer.characteristics[4].update_ok | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.4.last_status | ble_observer.characteristics[4].last_status | u32 | See its card/table above. |
ble.characteristics.4.uuid.0 | ble_observer.characteristics[4].uuid[0] | u32 | See its card/table above. |
ble.characteristics.4.uuid.1 | ble_observer.characteristics[4].uuid[1] | u32 | See its card/table above. |
ble.characteristics.4.uuid.2 | ble_observer.characteristics[4].uuid[2] | u32 | See its card/table above. |
ble.characteristics.4.uuid.3 | ble_observer.characteristics[4].uuid[3] | u32 | See its card/table above. |
ble.characteristics.4.value.0 | ble_observer.characteristics[4].value[0] | u32 | See its card/table above. |
ble.characteristics.4.value.1 | ble_observer.characteristics[4].value[1] | u32 | See its card/table above. |
ble.characteristics.4.value.2 | ble_observer.characteristics[4].value[2] | u32 | See its card/table above. |
ble.characteristics.4.value.3 | ble_observer.characteristics[4].value[3] | u32 | See its card/table above. |
ble.characteristics.5.present | ble_observer.characteristics[5].present | u32 | See its card/table above. |
ble.characteristics.5.service | ble_observer.characteristics[5].service | u32 | See its card/table above. |
ble.characteristics.5.declaration | ble_observer.characteristics[5].declaration | u32 | See its card/table above. |
ble.characteristics.5.value_handle | ble_observer.characteristics[5].value_handle | u32 | See its card/table above. |
ble.characteristics.5.cccd_handle | ble_observer.characteristics[5].cccd_handle | u32 | See its card/table above. |
ble.characteristics.5.uuid_type | ble_observer.characteristics[5].uuid_type | u32 | See its card/table above. |
ble.characteristics.5.properties | ble_observer.characteristics[5].properties | u32 | See its card/table above. |
ble.characteristics.5.max_length | ble_observer.characteristics[5].max_length | u32 | See its card/table above. |
ble.characteristics.5.length | ble_observer.characteristics[5].length | u32 | See its card/table above. |
ble.characteristics.5.captured | ble_observer.characteristics[5].captured | u32 | See its card/table above. |
ble.characteristics.5.value_origin | ble_observer.characteristics[5].value_origin | u32 | See its card/table above. |
ble.characteristics.5.cccd | ble_observer.characteristics[5].cccd | u32 | See its card/table above. |
ble.characteristics.5.writes | ble_observer.characteristics[5].writes | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.5.updates | ble_observer.characteristics[5].updates | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.5.update_ok | ble_observer.characteristics[5].update_ok | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.5.last_status | ble_observer.characteristics[5].last_status | u32 | See its card/table above. |
ble.characteristics.5.uuid.0 | ble_observer.characteristics[5].uuid[0] | u32 | See its card/table above. |
ble.characteristics.5.uuid.1 | ble_observer.characteristics[5].uuid[1] | u32 | See its card/table above. |
ble.characteristics.5.uuid.2 | ble_observer.characteristics[5].uuid[2] | u32 | See its card/table above. |
ble.characteristics.5.uuid.3 | ble_observer.characteristics[5].uuid[3] | u32 | See its card/table above. |
ble.characteristics.5.value.0 | ble_observer.characteristics[5].value[0] | u32 | See its card/table above. |
ble.characteristics.5.value.1 | ble_observer.characteristics[5].value[1] | u32 | See its card/table above. |
ble.characteristics.5.value.2 | ble_observer.characteristics[5].value[2] | u32 | See its card/table above. |
ble.characteristics.5.value.3 | ble_observer.characteristics[5].value[3] | u32 | See its card/table above. |
wrapping tells analysis to account for rollover at the declared integer width; a reset can look like a wrap, and multiple wraps between samples cannot be recovered. monotonic uses sampled increases without inventing a reset/wrap delta. clear_on_read reports a consuming read interval, not a lifetime total. A display styled as a counter does not itself establish any of these policies.
BLE GATT slots 4 and 5 · Derived fields and rates
| CHANNEL | CALCULATION | MEANING | UNIT |
|---|---|---|---|
ble.characteristics.4.property.1 | (ble.characteristics.4.properties >> 1) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.4.property.2 | (ble.characteristics.4.properties >> 2) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.4.property.3 | (ble.characteristics.4.properties >> 3) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.4.property.4 | (ble.characteristics.4.properties >> 4) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.4.property.5 | (ble.characteristics.4.properties >> 5) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.5.property.1 | (ble.characteristics.5.properties >> 1) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.5.property.2 | (ble.characteristics.5.properties >> 2) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.5.property.3 | (ble.characteristics.5.properties >> 3) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.5.property.4 | (ble.characteristics.5.properties >> 4) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.5.property.5 | (ble.characteristics.5.properties >> 5) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
Rates need two valid samples at increasing timestamps and are interval averages. Gaps break the calculation. A negative raw delta is clamped to zero by the rate calculation; do not infer an instantaneous event rate from a reset. Unknown map keys pass through numerically; an unmapped code is not a validated physical measurement.
BLE GATT slots 4 and 5 · Findings
This domain declares no automatic findings. Use the fields and the interpretation above; absence of a finding does not establish healthy operation.
BLE GATT slots 6 and 7
com.bkpt.ble.gatt-4 · version 0.1.0 · API 1. Download · GitHub
Each GATT file covers two physical characteristic slots. Read Present and Value source before interpreting payload words. Slots 0–1 serve the supplied P2P application; later slots require additional registrations.
48 inputs, 10 derived channels; requested polling 1 Hz per input.
BLE GATT slots 6 and 7 · Cards and tables
BLE GATT slots 6 and 7 · Characteristic slot 6
Present=0 means unused. Handles, UUIDs and properties come from successful registration. Value origin=0 means no observed value. Payload is the retained 16-byte prefix in four little-endian words. Values and counters are application observations; update success does not prove client receipt. CCCD is for the single current connection.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.characteristics.6.present | 1 means a successfully registered characteristic occupies the slot; 0 means unused. Do not interpret other fields of an unused slot. Values. | Raw value / decoded state |
Parent service handle · ble.characteristics.6.service | Parent local service handle; match it to the service registry in Overview. | Raw value / decoded state |
Identity / Characteristic declaration handle · ble.characteristics.6.declaration | Characteristic declaration handle returned by the registration API. | Raw value / decoded state |
Identity / Value handle · ble.characteristics.6.value_handle | Local value handle, declaration + 1 in this adapter. Remote writes are matched against this handle. | Raw value / decoded state |
Identity / CCCD handle (0 = none) · ble.characteristics.6.cccd_handle | Local client-configuration handle, declaration + 2 for notify/indicate characteristics in this adapter; 0 means none. This layout is adapter-specific. | Raw value / decoded state |
Identity / UUID type · ble.characteristics.6.uuid_type | 1 is a 16-bit UUID, 2 a 128-bit UUID. Use the corresponding UUID words. Values. | Raw value / decoded state |
Properties / Property bitmask · ble.characteristics.6.properties | Raw characteristic property bitmask from successful registration. The derived booleans decode only the named bits, not every possible property. | Raw value / decoded state |
Value / Maximum value bytes · ble.characteristics.6.max_length | Maximum bytes declared at registration. It is not the length of the retained payload. | Raw value / decoded state |
Value / Last observed payload bytes · ble.characteristics.6.length | Length of the latest observed update/write fragment before truncation. With offset-origin 3 it is fragment length, not total characteristic length. | Raw value / decoded state |
Value / Retained prefix bytes · ble.characteristics.6.captured | Bytes actually retained in the four payload words, at most 16. Ignore zero padding beyond this count. | Raw value / decoded state |
Value / Value source · ble.characteristics.6.value_origin | 0 unobserved; 1 accepted local update; 2 remote write callback; 3 nonzero-offset fragment, not a complete value. A displayed zero word is not evidence of an observed zero value when origin is 0. Values. | Raw value / decoded state |
Subscription / Client subscription · ble.characteristics.6.cccd | Subscription for the single current link: 0 disabled, 1 notifications, 2 indications, 3 both. Cleared on disconnect. Values. | Raw value / decoded state |
Activity / Remote value writes observed · ble.characteristics.6.writes | Remote value-write callbacks observed. This does not include CCCD writes, which update subscription state separately. | Raw value / decoded state |
Activity / Local update requests · ble.characteristics.6.updates | Local update API calls for this registered characteristic, including failed calls. | Raw value / decoded state |
Activity / Local updates accepted · ble.characteristics.6.update_ok | Local update calls accepted by the stack. Compare with updates/last_status; acceptance does not prove radio delivery or client consumption. | Raw value / decoded state |
Activity / Last local update status · ble.characteristics.6.last_status | Most recent local update result. It describes update calls, not the success of every remote write or notification. Values. | Raw value / decoded state |
Identity / UUID / UUID word 0 (least-significant first) · ble.characteristics.6.uuid.0 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 1 (least-significant first) · ble.characteristics.6.uuid.1 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 2 (least-significant first) · ble.characteristics.6.uuid.2 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 3 (least-significant first) · ble.characteristics.6.uuid.3 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Value / Payload / Payload bytes 0-3 (little-endian word) · ble.characteristics.6.value.0 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 4-7 (little-endian word) · ble.characteristics.6.value.1 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 8-11 (little-endian word) · ble.characteristics.6.value.2 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 12-15 (little-endian word) · ble.characteristics.6.value.3 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Properties / Readable · ble.characteristics.6.property.1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write without response · ble.characteristics.6.property.2 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write with response · ble.characteristics.6.property.3 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Notifiable · ble.characteristics.6.property.4 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Indicatable · ble.characteristics.6.property.5 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
BLE GATT slots 6 and 7 · Characteristic slot 7
Present=0 means unused. Handles, UUIDs and properties come from successful registration. Value origin=0 means no observed value. Payload is the retained 16-byte prefix in four little-endian words. Values and counters are application observations; update success does not prove client receipt. CCCD is for the single current connection.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Present · ble.characteristics.7.present | 1 means a successfully registered characteristic occupies the slot; 0 means unused. Do not interpret other fields of an unused slot. Values. | Raw value / decoded state |
Parent service handle · ble.characteristics.7.service | Parent local service handle; match it to the service registry in Overview. | Raw value / decoded state |
Identity / Characteristic declaration handle · ble.characteristics.7.declaration | Characteristic declaration handle returned by the registration API. | Raw value / decoded state |
Identity / Value handle · ble.characteristics.7.value_handle | Local value handle, declaration + 1 in this adapter. Remote writes are matched against this handle. | Raw value / decoded state |
Identity / CCCD handle (0 = none) · ble.characteristics.7.cccd_handle | Local client-configuration handle, declaration + 2 for notify/indicate characteristics in this adapter; 0 means none. This layout is adapter-specific. | Raw value / decoded state |
Identity / UUID type · ble.characteristics.7.uuid_type | 1 is a 16-bit UUID, 2 a 128-bit UUID. Use the corresponding UUID words. Values. | Raw value / decoded state |
Properties / Property bitmask · ble.characteristics.7.properties | Raw characteristic property bitmask from successful registration. The derived booleans decode only the named bits, not every possible property. | Raw value / decoded state |
Value / Maximum value bytes · ble.characteristics.7.max_length | Maximum bytes declared at registration. It is not the length of the retained payload. | Raw value / decoded state |
Value / Last observed payload bytes · ble.characteristics.7.length | Length of the latest observed update/write fragment before truncation. With offset-origin 3 it is fragment length, not total characteristic length. | Raw value / decoded state |
Value / Retained prefix bytes · ble.characteristics.7.captured | Bytes actually retained in the four payload words, at most 16. Ignore zero padding beyond this count. | Raw value / decoded state |
Value / Value source · ble.characteristics.7.value_origin | 0 unobserved; 1 accepted local update; 2 remote write callback; 3 nonzero-offset fragment, not a complete value. A displayed zero word is not evidence of an observed zero value when origin is 0. Values. | Raw value / decoded state |
Subscription / Client subscription · ble.characteristics.7.cccd | Subscription for the single current link: 0 disabled, 1 notifications, 2 indications, 3 both. Cleared on disconnect. Values. | Raw value / decoded state |
Activity / Remote value writes observed · ble.characteristics.7.writes | Remote value-write callbacks observed. This does not include CCCD writes, which update subscription state separately. | Raw value / decoded state |
Activity / Local update requests · ble.characteristics.7.updates | Local update API calls for this registered characteristic, including failed calls. | Raw value / decoded state |
Activity / Local updates accepted · ble.characteristics.7.update_ok | Local update calls accepted by the stack. Compare with updates/last_status; acceptance does not prove radio delivery or client consumption. | Raw value / decoded state |
Activity / Last local update status · ble.characteristics.7.last_status | Most recent local update result. It describes update calls, not the success of every remote write or notification. Values. | Raw value / decoded state |
Identity / UUID / UUID word 0 (least-significant first) · ble.characteristics.7.uuid.0 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 1 (least-significant first) · ble.characteristics.7.uuid.1 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 2 (least-significant first) · ble.characteristics.7.uuid.2 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Identity / UUID / UUID word 3 (least-significant first) · ble.characteristics.7.uuid.3 | Raw UUID word: concatenate hexadecimal words 3,2,1,0 for 128 bits; type 1 uses low 16 bits of word 0. | Raw value / decoded state |
Value / Payload / Payload bytes 0-3 (little-endian word) · ble.characteristics.7.value.0 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 4-7 (little-endian word) · ble.characteristics.7.value.1 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 8-11 (little-endian word) · ble.characteristics.7.value.2 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Value / Payload / Payload bytes 12-15 (little-endian word) · ble.characteristics.7.value.3 | Four payload bytes packed little-endian in one 32-bit word. Reconstruct bytes least-significant first and honor captured length/origin; the bytes have no generic physical unit. | Raw value / decoded state |
Properties / Readable · ble.characteristics.7.property.1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write without response · ble.characteristics.7.property.2 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Write with response · ble.characteristics.7.property.3 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Notifiable · ble.characteristics.7.property.4 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
Properties / Indicatable · ble.characteristics.7.property.5 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Raw value / decoded state |
BLE GATT slots 6 and 7 · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
ble.characteristics.6.present | ble_observer.characteristics[6].present | u32 | See its card/table above. |
ble.characteristics.6.service | ble_observer.characteristics[6].service | u32 | See its card/table above. |
ble.characteristics.6.declaration | ble_observer.characteristics[6].declaration | u32 | See its card/table above. |
ble.characteristics.6.value_handle | ble_observer.characteristics[6].value_handle | u32 | See its card/table above. |
ble.characteristics.6.cccd_handle | ble_observer.characteristics[6].cccd_handle | u32 | See its card/table above. |
ble.characteristics.6.uuid_type | ble_observer.characteristics[6].uuid_type | u32 | See its card/table above. |
ble.characteristics.6.properties | ble_observer.characteristics[6].properties | u32 | See its card/table above. |
ble.characteristics.6.max_length | ble_observer.characteristics[6].max_length | u32 | See its card/table above. |
ble.characteristics.6.length | ble_observer.characteristics[6].length | u32 | See its card/table above. |
ble.characteristics.6.captured | ble_observer.characteristics[6].captured | u32 | See its card/table above. |
ble.characteristics.6.value_origin | ble_observer.characteristics[6].value_origin | u32 | See its card/table above. |
ble.characteristics.6.cccd | ble_observer.characteristics[6].cccd | u32 | See its card/table above. |
ble.characteristics.6.writes | ble_observer.characteristics[6].writes | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.6.updates | ble_observer.characteristics[6].updates | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.6.update_ok | ble_observer.characteristics[6].update_ok | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.6.last_status | ble_observer.characteristics[6].last_status | u32 | See its card/table above. |
ble.characteristics.6.uuid.0 | ble_observer.characteristics[6].uuid[0] | u32 | See its card/table above. |
ble.characteristics.6.uuid.1 | ble_observer.characteristics[6].uuid[1] | u32 | See its card/table above. |
ble.characteristics.6.uuid.2 | ble_observer.characteristics[6].uuid[2] | u32 | See its card/table above. |
ble.characteristics.6.uuid.3 | ble_observer.characteristics[6].uuid[3] | u32 | See its card/table above. |
ble.characteristics.6.value.0 | ble_observer.characteristics[6].value[0] | u32 | See its card/table above. |
ble.characteristics.6.value.1 | ble_observer.characteristics[6].value[1] | u32 | See its card/table above. |
ble.characteristics.6.value.2 | ble_observer.characteristics[6].value[2] | u32 | See its card/table above. |
ble.characteristics.6.value.3 | ble_observer.characteristics[6].value[3] | u32 | See its card/table above. |
ble.characteristics.7.present | ble_observer.characteristics[7].present | u32 | See its card/table above. |
ble.characteristics.7.service | ble_observer.characteristics[7].service | u32 | See its card/table above. |
ble.characteristics.7.declaration | ble_observer.characteristics[7].declaration | u32 | See its card/table above. |
ble.characteristics.7.value_handle | ble_observer.characteristics[7].value_handle | u32 | See its card/table above. |
ble.characteristics.7.cccd_handle | ble_observer.characteristics[7].cccd_handle | u32 | See its card/table above. |
ble.characteristics.7.uuid_type | ble_observer.characteristics[7].uuid_type | u32 | See its card/table above. |
ble.characteristics.7.properties | ble_observer.characteristics[7].properties | u32 | See its card/table above. |
ble.characteristics.7.max_length | ble_observer.characteristics[7].max_length | u32 | See its card/table above. |
ble.characteristics.7.length | ble_observer.characteristics[7].length | u32 | See its card/table above. |
ble.characteristics.7.captured | ble_observer.characteristics[7].captured | u32 | See its card/table above. |
ble.characteristics.7.value_origin | ble_observer.characteristics[7].value_origin | u32 | See its card/table above. |
ble.characteristics.7.cccd | ble_observer.characteristics[7].cccd | u32 | See its card/table above. |
ble.characteristics.7.writes | ble_observer.characteristics[7].writes | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.7.updates | ble_observer.characteristics[7].updates | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.7.update_ok | ble_observer.characteristics[7].update_ok | u32 | See its card/table above. Counter policy: wrapping. |
ble.characteristics.7.last_status | ble_observer.characteristics[7].last_status | u32 | See its card/table above. |
ble.characteristics.7.uuid.0 | ble_observer.characteristics[7].uuid[0] | u32 | See its card/table above. |
ble.characteristics.7.uuid.1 | ble_observer.characteristics[7].uuid[1] | u32 | See its card/table above. |
ble.characteristics.7.uuid.2 | ble_observer.characteristics[7].uuid[2] | u32 | See its card/table above. |
ble.characteristics.7.uuid.3 | ble_observer.characteristics[7].uuid[3] | u32 | See its card/table above. |
ble.characteristics.7.value.0 | ble_observer.characteristics[7].value[0] | u32 | See its card/table above. |
ble.characteristics.7.value.1 | ble_observer.characteristics[7].value[1] | u32 | See its card/table above. |
ble.characteristics.7.value.2 | ble_observer.characteristics[7].value[2] | u32 | See its card/table above. |
ble.characteristics.7.value.3 | ble_observer.characteristics[7].value[3] | u32 | See its card/table above. |
wrapping tells analysis to account for rollover at the declared integer width; a reset can look like a wrap, and multiple wraps between samples cannot be recovered. monotonic uses sampled increases without inventing a reset/wrap delta. clear_on_read reports a consuming read interval, not a lifetime total. A display styled as a counter does not itself establish any of these policies.
BLE GATT slots 6 and 7 · Derived fields and rates
| CHANNEL | CALCULATION | MEANING | UNIT |
|---|---|---|---|
ble.characteristics.6.property.1 | (ble.characteristics.6.properties >> 1) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.6.property.2 | (ble.characteristics.6.properties >> 2) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.6.property.3 | (ble.characteristics.6.properties >> 3) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.6.property.4 | (ble.characteristics.6.properties >> 4) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.6.property.5 | (ble.characteristics.6.properties >> 5) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.7.property.1 | (ble.characteristics.7.properties >> 1) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.7.property.2 | (ble.characteristics.7.properties >> 2) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.7.property.3 | (ble.characteristics.7.properties >> 3) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.7.property.4 | (ble.characteristics.7.properties >> 4) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
ble.characteristics.7.property.5 | (ble.characteristics.7.properties >> 5) & 0x1 | One decoded property bit: bit 1 readable, 2 write without response, 3 write with response, 4 notifiable, 5 indicatable. No/Yes describes capability, not current subscription or observed traffic. Values. | Code / state |
Rates need two valid samples at increasing timestamps and are interval averages. Gaps break the calculation. A negative raw delta is clamped to zero by the rate calculation; do not infer an instantaneous event rate from a reset. Unknown map keys pass through numerically; an unmapped code is not a validated physical measurement.
BLE GATT slots 6 and 7 · Findings
This domain declares no automatic findings. Use the fields and the interpretation above; absence of a finding does not establish healthy operation.
BLE ST peer-to-peer profile
com.bkpt.ble.profile.st-p2p · version 0.2.0 · API 1. Download · GitHub
The P2P service UUID is 0000fe40-cc7a-482a-984a-7f2ed5b3e58f, LED FE41 and button FE42 in their full ST UUIDs. Values contain device selection (1 here) then state. Little-endian word 257 means bytes 01 01, word 1 means 01 00. The LED characteristic does not notify, so a client may need a fresh read. Missing profile symbols affect this profile without making generic GATT observations valid or invalid.
8 inputs, 0 derived channels; requested polling 2 Hz per input.
BLE ST peer-to-peer profile · Cards and tables
BLE ST peer-to-peer profile · LED and button
Optional profile decoder for ST's P2P application context. Missing P2P symbols make this profile unavailable while the generic GATT domains still work. LED is applied application state; button is local state even when notifications are disabled.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Button notifications enabled · p2p.Notification_Status | Application flag for button notifications enabled by the client. A local button toggle can still occur with notifications disabled. Values. | Raw value / decoded state |
Blue LED state · p2p.LedControl.Led1 | Applied application LED state: 0 Off, 1 On. The Send action routes through the application’s real GATT/LED handler. Values. Explicit action: set_led; see Actions below. | Raw value / decoded state |
Button toggle value · p2p.ButtonControl.ButtonStatus | Local button toggle value, alternating 0/1. It is not a count and does not prove a phone received a notification. Values. | Raw value / decoded state |
Button actions since boot · ble.button_presses | Button actions handled since boot, including the application’s supported simulated button path. It is not exclusively a physical switch count. | Raw value / decoded state |
Button actions without subscription · ble.notifications_skipped | Button actions handled without a subscription. This is deliberate suppression, not a radio-delivery failure count. | Raw value / decoded state |
BLE ST peer-to-peer profile · Application commands
Send calls the application's LED handler and updates the readable P2P LED characteristic. An acknowledgement is a local application result; it does not prove phone receipt.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Published request · command.request_seq | Published mailbox request sequence. A draft choice does not advance it; host publication is the command commit point. | Raw value / decoded state |
Completed request · command.response_seq | Last completed mailbox request sequence. Compare with request sequence and fresh application result; the host also matches a nonce internally. | Raw value / decoded state |
Application result · command.status | Application result for the completed request: 0 accepted; 65537 malformed request; 65538 application not ready; 65539 unsupported operation/value. Other values can be returned BLE stack statuses; this card leaves them numeric. Values. | Raw value / decoded state |
BLE ST peer-to-peer profile · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
p2p.Notification_Status | P2P_Server_App_Context.Notification_Status | u8 | See its card/table above. |
p2p.LedControl.Led1 | P2P_Server_App_Context.LedControl.Led1 | u8 | See its card/table above. |
p2p.ButtonControl.ButtonStatus | P2P_Server_App_Context.ButtonControl.ButtonStatus | u8 | See its card/table above. |
ble.button_presses | ble_observer.button_presses | u32 | See its card/table above. Counter policy: wrapping. |
ble.notifications_skipped | ble_observer.notifications_skipped | u32 | See its card/table above. Counter policy: wrapping. |
command.request_seq | domain_command.request_seq | u32 | See its card/table above. |
command.response_seq | domain_command.response_seq | u32 | See its card/table above. |
command.status | domain_command.status | u32 | See its card/table above. |
wrapping tells analysis to account for rollover at the declared integer width; a reset can look like a wrap, and multiple wraps between samples cannot be recovered. monotonic uses sampled increases without inventing a reset/wrap delta. clear_on_read reports a consuming read interval, not a lifetime total. A display styled as a counter does not itself establish any of these policies.
BLE ST peer-to-peer profile · Findings
This domain declares no automatic findings. Use the fields and the interpretation above; absence of a finding does not establish healthy operation.
BLE ST peer-to-peer profile · Actions
The Blue LED draft offers Off (0) or On (1), encoded as one u8. Only explicit Send publishes operation 1 to domain_command; selecting a draft does not write. Firmware validates the mailbox and operation, updates the actual GATT value and applies the LED state, then publishes its result. The host waits up to 3000 ms for matching completion. Rejection/unknown completion is not success, and the host does not automatically retry. Acknowledgement proves local handling, not physical LED verification or phone receipt.
BLE ST peer-to-peer profile · Blue LED
set_led; completion: application.
{
"input": {
"ty": "u8",
"choices": [
{
"value": "0",
"label": "Off"
},
{
"value": "1",
"label": "On"
}
]
},
"target": {
"kind": "mailbox",
"symbol": "domain_command",
"operation": 1,
"timeout_ms": 3000
}
}
BLE STM32WB shared transport
com.bkpt.ble.stm32wb-transport · version 0.1.0 · API 1. Download · GitHub
Three application-copied IPCC registers help correlate a pending command with inter-core transport flags. They measure neither queue depth nor RF activity; the descriptor provides raw words without per-bit decoding.
3 inputs, 0 derived channels; requested polling 2 Hz per input.
BLE STM32WB shared transport · Cards and tables
BLE STM32WB shared transport · IPCC status samples
Application-copied read-only IPCC status and mask registers. Transient flags between samples may be missed; these are not queue lengths. CPU2 private radio/GATT state is inaccessible.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
M4 to M0+ channel flags · ble.ipcc_c1_status | Firmware copy of IPCC C1TOC2SR (M4 to M0+ channel flags). Transient flags can disappear between updates; this is not queue depth. | Raw value / decoded state |
M0+ to M4 channel flags · ble.ipcc_c2_status | Firmware copy of IPCC C2TOC1SR (M0+ to M4 channel flags). Use as transport context, not a packet/RF metric. | Raw value / decoded state |
M4 interrupt mask · ble.ipcc_c1_mask | Firmware copy of IPCC C1MR, the M4 interrupt mask. It is a raw mask; the descriptor declares no per-bit decoding or fault threshold. | Raw value / decoded state |
BLE STM32WB shared transport · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
ble.ipcc_c1_status | ble_observer.ipcc_c1_status | u32 | See its card/table above. |
ble.ipcc_c2_status | ble_observer.ipcc_c2_status | u32 | See its card/table above. |
ble.ipcc_c1_mask | ble_observer.ipcc_c1_mask | u32 | See its card/table above. |
BLE STM32WB shared transport · Findings
This domain declares no automatic findings. Use the fields and the interpretation above; absence of a finding does not establish healthy operation.
BLE activity slots 0-7
com.bkpt.ble.journal-1 · version 0.1.0 · API 1. Download · GitHub
This file exposes eight physical slots of the shared 16-record journal. It is a retained window, not a complete event log. Order by sequence; unused/in-progress sequence zero is not an event. The companion journal file supplies the other eight slots.
48 inputs, 0 derived channels; requested polling 1 Hz per input.
BLE activity slots 0-7 · Cards and tables
BLE activity slots 0-7 · Journal slot 0
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.0.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.0.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.0.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.0.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.0.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.0.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 0-7 · Journal slot 1
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.1.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.1.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.1.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.1.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.1.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.1.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 0-7 · Journal slot 2
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.2.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.2.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.2.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.2.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.2.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.2.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 0-7 · Journal slot 3
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.3.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.3.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.3.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.3.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.3.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.3.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 0-7 · Journal slot 4
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.4.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.4.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.4.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.4.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.4.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.4.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 0-7 · Journal slot 5
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.5.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.5.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.5.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.5.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.5.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.5.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 0-7 · Journal slot 6
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.6.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.6.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.6.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.6.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.6.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.6.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 0-7 · Journal slot 7
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.7.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.7.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.7.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.7.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.7.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.7.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 0-7 · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
ble.journal.0.sequence | ble_observer.journal[0].sequence | u32 | See its card/table above. |
ble.journal.0.tick_ms | ble_observer.journal[0].tick_ms | u32 | See its card/table above. |
ble.journal.0.kind | ble_observer.journal[0].kind | u32 | See its card/table above. |
ble.journal.0.code | ble_observer.journal[0].code | u32 | See its card/table above. |
ble.journal.0.status | ble_observer.journal[0].status | u32 | See its card/table above. |
ble.journal.0.handle | ble_observer.journal[0].handle | u32 | See its card/table above. |
ble.journal.1.sequence | ble_observer.journal[1].sequence | u32 | See its card/table above. |
ble.journal.1.tick_ms | ble_observer.journal[1].tick_ms | u32 | See its card/table above. |
ble.journal.1.kind | ble_observer.journal[1].kind | u32 | See its card/table above. |
ble.journal.1.code | ble_observer.journal[1].code | u32 | See its card/table above. |
ble.journal.1.status | ble_observer.journal[1].status | u32 | See its card/table above. |
ble.journal.1.handle | ble_observer.journal[1].handle | u32 | See its card/table above. |
ble.journal.2.sequence | ble_observer.journal[2].sequence | u32 | See its card/table above. |
ble.journal.2.tick_ms | ble_observer.journal[2].tick_ms | u32 | See its card/table above. |
ble.journal.2.kind | ble_observer.journal[2].kind | u32 | See its card/table above. |
ble.journal.2.code | ble_observer.journal[2].code | u32 | See its card/table above. |
ble.journal.2.status | ble_observer.journal[2].status | u32 | See its card/table above. |
ble.journal.2.handle | ble_observer.journal[2].handle | u32 | See its card/table above. |
ble.journal.3.sequence | ble_observer.journal[3].sequence | u32 | See its card/table above. |
ble.journal.3.tick_ms | ble_observer.journal[3].tick_ms | u32 | See its card/table above. |
ble.journal.3.kind | ble_observer.journal[3].kind | u32 | See its card/table above. |
ble.journal.3.code | ble_observer.journal[3].code | u32 | See its card/table above. |
ble.journal.3.status | ble_observer.journal[3].status | u32 | See its card/table above. |
ble.journal.3.handle | ble_observer.journal[3].handle | u32 | See its card/table above. |
ble.journal.4.sequence | ble_observer.journal[4].sequence | u32 | See its card/table above. |
ble.journal.4.tick_ms | ble_observer.journal[4].tick_ms | u32 | See its card/table above. |
ble.journal.4.kind | ble_observer.journal[4].kind | u32 | See its card/table above. |
ble.journal.4.code | ble_observer.journal[4].code | u32 | See its card/table above. |
ble.journal.4.status | ble_observer.journal[4].status | u32 | See its card/table above. |
ble.journal.4.handle | ble_observer.journal[4].handle | u32 | See its card/table above. |
ble.journal.5.sequence | ble_observer.journal[5].sequence | u32 | See its card/table above. |
ble.journal.5.tick_ms | ble_observer.journal[5].tick_ms | u32 | See its card/table above. |
ble.journal.5.kind | ble_observer.journal[5].kind | u32 | See its card/table above. |
ble.journal.5.code | ble_observer.journal[5].code | u32 | See its card/table above. |
ble.journal.5.status | ble_observer.journal[5].status | u32 | See its card/table above. |
ble.journal.5.handle | ble_observer.journal[5].handle | u32 | See its card/table above. |
ble.journal.6.sequence | ble_observer.journal[6].sequence | u32 | See its card/table above. |
ble.journal.6.tick_ms | ble_observer.journal[6].tick_ms | u32 | See its card/table above. |
ble.journal.6.kind | ble_observer.journal[6].kind | u32 | See its card/table above. |
ble.journal.6.code | ble_observer.journal[6].code | u32 | See its card/table above. |
ble.journal.6.status | ble_observer.journal[6].status | u32 | See its card/table above. |
ble.journal.6.handle | ble_observer.journal[6].handle | u32 | See its card/table above. |
ble.journal.7.sequence | ble_observer.journal[7].sequence | u32 | See its card/table above. |
ble.journal.7.tick_ms | ble_observer.journal[7].tick_ms | u32 | See its card/table above. |
ble.journal.7.kind | ble_observer.journal[7].kind | u32 | See its card/table above. |
ble.journal.7.code | ble_observer.journal[7].code | u32 | See its card/table above. |
ble.journal.7.status | ble_observer.journal[7].status | u32 | See its card/table above. |
ble.journal.7.handle | ble_observer.journal[7].handle | u32 | See its card/table above. |
BLE activity slots 0-7 · Findings
This domain declares no automatic findings. Use the fields and the interpretation above; absence of a finding does not establish healthy operation.
BLE activity slots 8-15
com.bkpt.ble.journal-2 · version 0.1.0 · API 1. Download · GitHub
This file exposes eight physical slots of the shared 16-record journal. It is a retained window, not a complete event log. Order by sequence; unused/in-progress sequence zero is not an event. The companion journal file supplies the other eight slots.
48 inputs, 0 derived channels; requested polling 1 Hz per input.
BLE activity slots 8-15 · Cards and tables
BLE activity slots 8-15 · Journal slot 8
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.8.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.8.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.8.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.8.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.8.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.8.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 8-15 · Journal slot 9
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.9.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.9.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.9.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.9.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.9.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.9.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 8-15 · Journal slot 10
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.10.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.10.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.10.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.10.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.10.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.10.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 8-15 · Journal slot 11
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.11.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.11.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.11.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.11.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.11.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.11.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 8-15 · Journal slot 12
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.12.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.12.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.12.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.12.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.12.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.12.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 8-15 · Journal slot 13
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.13.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.13.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.13.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.13.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.13.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.13.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 8-15 · Journal slot 14
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.14.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.14.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.14.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.14.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.14.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.14.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 8-15 · Journal slot 15
Physical ring slots, not sorted rows. Sort mentally by sequence; sequence 0 is unused/in-progress. Last 16 significant observations are retained. Radio-activity callbacks only increment the event counter. Halt for a consistent journal; polling does not capture every entry.
| CARD OR ROW | READING AND SIGNIFICANCE | UNIT |
|---|---|---|
Sequence · ble.journal.15.sequence | Publication sequence of this physical ring slot. Zero means unused or currently being written. Order nonzero records by sequence; slots are not chronological rows. | Raw value / decoded state |
Firmware time (ms) · ble.journal.15.tick_ms | HAL_GetTick timestamp in milliseconds recorded when the event is retained. It wraps at 32 bits and is not host wall-clock time. | Raw value / decoded state |
Kind · ble.journal.15.kind | 0 unused, 1 command outcome, 2 asynchronous event. It selects how code/status should be interpreted. Values. | Raw value / decoded state |
Opcode / encoded event code · ble.journal.15.code | For commands, (OGF << 10) | OCF. For ordinary events, HCI event code; LE meta events use (event << 8) | subevent; vendor events use 0xFF0000 | 16-bit subevent. This field stays numeric in this descriptor. | Raw value / decoded state |
Command status (events use 0) · ble.journal.15.status | Command outcome status; asynchronous records use 0 as a placeholder. Event status 0 does not prove the event represents a successful operation. Values. | Raw value / decoded state |
Connection handle · ble.journal.15.handle | Connection handle retained at recording time, or 65535 for none. A disconnect record can therefore show none after cleanup. | Raw value / decoded state |
BLE activity slots 8-15 · Every sampled input
All paths below come from the downloadable definition. Integer types specify width and signedness. No scaling is applied to a raw read. A field without a declared unit is a code, count, address or raw register; its engineering meaning is explained above or below.
| INPUT | SOURCE / ADDRESS PATH | TYPE | INTERPRETATION / ACCESS |
|---|---|---|---|
ble.journal.8.sequence | ble_observer.journal[8].sequence | u32 | See its card/table above. |
ble.journal.8.tick_ms | ble_observer.journal[8].tick_ms | u32 | See its card/table above. |
ble.journal.8.kind | ble_observer.journal[8].kind | u32 | See its card/table above. |
ble.journal.8.code | ble_observer.journal[8].code | u32 | See its card/table above. |
ble.journal.8.status | ble_observer.journal[8].status | u32 | See its card/table above. |
ble.journal.8.handle | ble_observer.journal[8].handle | u32 | See its card/table above. |
ble.journal.9.sequence | ble_observer.journal[9].sequence | u32 | See its card/table above. |
ble.journal.9.tick_ms | ble_observer.journal[9].tick_ms | u32 | See its card/table above. |
ble.journal.9.kind | ble_observer.journal[9].kind | u32 | See its card/table above. |
ble.journal.9.code | ble_observer.journal[9].code | u32 | See its card/table above. |
ble.journal.9.status | ble_observer.journal[9].status | u32 | See its card/table above. |
ble.journal.9.handle | ble_observer.journal[9].handle | u32 | See its card/table above. |
ble.journal.10.sequence | ble_observer.journal[10].sequence | u32 | See its card/table above. |
ble.journal.10.tick_ms | ble_observer.journal[10].tick_ms | u32 | See its card/table above. |
ble.journal.10.kind | ble_observer.journal[10].kind | u32 | See its card/table above. |
ble.journal.10.code | ble_observer.journal[10].code | u32 | See its card/table above. |
ble.journal.10.status | ble_observer.journal[10].status | u32 | See its card/table above. |
ble.journal.10.handle | ble_observer.journal[10].handle | u32 | See its card/table above. |
ble.journal.11.sequence | ble_observer.journal[11].sequence | u32 | See its card/table above. |
ble.journal.11.tick_ms | ble_observer.journal[11].tick_ms | u32 | See its card/table above. |
ble.journal.11.kind | ble_observer.journal[11].kind | u32 | See its card/table above. |
ble.journal.11.code | ble_observer.journal[11].code | u32 | See its card/table above. |
ble.journal.11.status | ble_observer.journal[11].status | u32 | See its card/table above. |
ble.journal.11.handle | ble_observer.journal[11].handle | u32 | See its card/table above. |
ble.journal.12.sequence | ble_observer.journal[12].sequence | u32 | See its card/table above. |
ble.journal.12.tick_ms | ble_observer.journal[12].tick_ms | u32 | See its card/table above. |
ble.journal.12.kind | ble_observer.journal[12].kind | u32 | See its card/table above. |
ble.journal.12.code | ble_observer.journal[12].code | u32 | See its card/table above. |
ble.journal.12.status | ble_observer.journal[12].status | u32 | See its card/table above. |
ble.journal.12.handle | ble_observer.journal[12].handle | u32 | See its card/table above. |
ble.journal.13.sequence | ble_observer.journal[13].sequence | u32 | See its card/table above. |
ble.journal.13.tick_ms | ble_observer.journal[13].tick_ms | u32 | See its card/table above. |
ble.journal.13.kind | ble_observer.journal[13].kind | u32 | See its card/table above. |
ble.journal.13.code | ble_observer.journal[13].code | u32 | See its card/table above. |
ble.journal.13.status | ble_observer.journal[13].status | u32 | See its card/table above. |
ble.journal.13.handle | ble_observer.journal[13].handle | u32 | See its card/table above. |
ble.journal.14.sequence | ble_observer.journal[14].sequence | u32 | See its card/table above. |
ble.journal.14.tick_ms | ble_observer.journal[14].tick_ms | u32 | See its card/table above. |
ble.journal.14.kind | ble_observer.journal[14].kind | u32 | See its card/table above. |
ble.journal.14.code | ble_observer.journal[14].code | u32 | See its card/table above. |
ble.journal.14.status | ble_observer.journal[14].status | u32 | See its card/table above. |
ble.journal.14.handle | ble_observer.journal[14].handle | u32 | See its card/table above. |
ble.journal.15.sequence | ble_observer.journal[15].sequence | u32 | See its card/table above. |
ble.journal.15.tick_ms | ble_observer.journal[15].tick_ms | u32 | See its card/table above. |
ble.journal.15.kind | ble_observer.journal[15].kind | u32 | See its card/table above. |
ble.journal.15.code | ble_observer.journal[15].code | u32 | See its card/table above. |
ble.journal.15.status | ble_observer.journal[15].status | u32 | See its card/table above. |
ble.journal.15.handle | ble_observer.journal[15].handle | u32 | See its card/table above. |
BLE activity slots 8-15 · Findings
This domain declares no automatic findings. Use the fields and the interpretation above; absence of a finding does not establish healthy operation.
Value dictionaries
These mappings are shared by the linked fields throughout the suite. Unlisted codes remain numeric and must not be treated as success.
Value map 1
| RAW VALUE | DECODED LABEL |
|---|---|
0 | No |
1 | Yes |
Value map 2
| RAW VALUE | DECODED LABEL |
|---|---|
0 | None |
8 | Supervision timeout |
19 | Remote user terminated |
22 | Local host terminated |
Value map 3
| RAW VALUE | DECODED LABEL |
|---|---|
0 | Unknown |
1 | 1 Mbit/s |
2 | 2 Mbit/s |
3 | Coded |
Value map 4
| RAW VALUE | DECODED LABEL |
|---|---|
1 | BLE full stack |
Value map 5
| RAW VALUE | DECODED LABEL |
|---|---|
64641 | aci_gap_set_non_discoverable |
64642 | aci_gap_set_limited_discoverable |
64643 | aci_gap_set_discoverable |
64644 | aci_gap_set_direct_connectable |
64645 | aci_gap_set_io_capability |
64646 | aci_gap_set_authentication_requirement |
64647 | aci_gap_set_authorization_requirement |
64648 | aci_gap_pass_key_resp |
64649 | aci_gap_authorization_resp |
64650 | aci_gap_init |
64651 | aci_gap_set_non_connectable |
64652 | aci_gap_set_undirected_connectable |
64653 | aci_gap_peripheral_security_req |
64654 | aci_gap_update_adv_data |
64655 | aci_gap_delete_ad_type |
64656 | aci_gap_get_security_level |
64657 | aci_gap_set_event_mask |
64658 | aci_gap_configure_filter_accept_list |
64659 | aci_gap_terminate |
64660 | aci_gap_clear_security_db |
64661 | aci_gap_allow_rebond |
64662 | aci_gap_start_limited_discovery_proc |
64663 | aci_gap_start_general_discovery_proc |
64665 | aci_gap_start_auto_connection_establish_proc |
64666 | aci_gap_start_general_connection_establish_proc |
64667 | aci_gap_start_selective_connection_establish_proc |
64668 | aci_gap_create_connection |
64669 | aci_gap_terminate_gap_proc |
64670 | aci_gap_start_connection_update |
64671 | aci_gap_send_pairing_req |
64673 | aci_gap_set_broadcast_mode |
64674 | aci_gap_start_observation_proc |
64675 | aci_gap_get_bonded_devices |
64676 | aci_gap_check_bonded_device |
64677 | aci_gap_numeric_comparison_value_confirm_yesno |
64678 | aci_gap_passkey_input |
64679 | aci_gap_get_oob_data |
64680 | aci_gap_set_oob_data |
64682 | aci_gap_remove_bonded_device |
64683 | aci_gap_add_devices_to_list |
64685 | aci_gap_pairing_request_reply |
64688 | aci_gap_additional_beacon_start |
64689 | aci_gap_additional_beacon_stop |
64690 | aci_gap_additional_beacon_set_data |
64704 | aci_gap_adv_set_configuration |
64705 | aci_gap_adv_set_enable |
64706 | aci_gap_adv_set_adv_data |
64707 | aci_gap_adv_set_scan_resp_data |
64708 | aci_gap_adv_remove_set |
64709 | aci_gap_adv_clear_sets |
64710 | aci_gap_adv_set_random_address |
64720 | aci_gap_ext_start_scan |
64721 | aci_gap_ext_create_connection |
64769 | aci_gatt_init |
64770 | aci_gatt_add_service |
64771 | aci_gatt_include_service |
64772 | aci_gatt_add_char |
64773 | aci_gatt_add_char_desc |
64774 | aci_gatt_update_char_value |
64775 | aci_gatt_del_char |
64776 | aci_gatt_del_service |
64777 | aci_gatt_del_include_service |
64778 | aci_gatt_set_event_mask |
64779 | aci_gatt_exchange_config |
64780 | aci_att_find_info_req |
64781 | aci_att_find_by_type_value_req |
64782 | aci_att_read_by_type_req |
64783 | aci_att_read_by_group_type_req |
64784 | aci_att_prepare_write_req |
64785 | aci_att_execute_write_req |
64786 | aci_gatt_disc_all_primary_services |
64787 | aci_gatt_disc_primary_service_by_uuid |
64788 | aci_gatt_find_included_services |
64789 | aci_gatt_disc_all_char_of_service |
64790 | aci_gatt_disc_char_by_uuid |
64791 | aci_gatt_disc_all_char_desc |
64792 | aci_gatt_read_char_value |
64793 | aci_gatt_read_using_char_uuid |
64794 | aci_gatt_read_long_char_value |
64795 | aci_gatt_read_multiple_char_value |
64796 | aci_gatt_write_char_value |
64797 | aci_gatt_write_long_char_value |
64798 | aci_gatt_write_char_reliable |
64803 | aci_gatt_write_without_resp |
64804 | aci_gatt_signed_write_without_resp |
64805 | aci_gatt_confirm_indication |
64806 | aci_gatt_permit_write |
64807 | aci_gatt_permit_read |
64808 | aci_gatt_set_security_permission |
64809 | aci_gatt_set_desc_value |
64810 | aci_gatt_read_handle_value |
64812 | aci_gatt_update_char_value_ext |
64814 | aci_gatt_set_access_permission |
64816 | aci_gatt_store_db |
64817 | aci_gatt_send_mult_notification |
64818 | aci_gatt_read_multiple_var_char_value |
64832 | aci_gatt_write_without_resp_ext |
64833 | aci_gatt_write_with_resp_ext |
65280 | aci_reset |
65281 | aci_get_information |
65282 | aci_write_config_data |
65283 | aci_read_config_data |
64524 | aci_hal_write_config_data |
64525 | aci_hal_read_config_data |
64527 | aci_hal_set_tx_power_level |
64532 | aci_hal_le_tx_test_packet_number |
64533 | aci_hal_tone_start |
64534 | aci_hal_tone_stop |
64535 | aci_hal_get_link_status |
64536 | aci_hal_set_radio_activity_mask |
64537 | aci_hal_get_anchor_period |
64538 | aci_hal_set_event_mask |
64544 | aci_hal_set_peripheral_latency |
64546 | aci_hal_read_rssi |
64559 | aci_hal_ead_encrypt_decrypt |
64560 | aci_hal_read_radio_reg |
64561 | aci_hal_write_radio_reg |
64562 | aci_hal_read_raw_rssi |
64563 | aci_hal_rx_start |
64564 | aci_hal_rx_stop |
1030 | hci_disconnect |
1053 | hci_read_remote_version_information |
3073 | hci_set_event_mask |
3075 | hci_reset |
3117 | hci_read_transmit_power_level |
3121 | hci_set_controller_to_host_flow_control |
3123 | hci_host_buffer_size |
3125 | hci_host_number_of_completed_packets |
4097 | hci_read_local_version_information |
4098 | hci_read_local_supported_commands |
4099 | hci_read_local_supported_features |
4105 | hci_read_bd_addr |
5125 | hci_read_rssi |
8193 | hci_le_set_event_mask |
8194 | hci_le_read_buffer_size |
8195 | hci_le_read_local_supported_features_page_0 |
8197 | hci_le_set_random_address |
8198 | hci_le_set_advertising_parameters |
8199 | hci_le_read_advertising_physical_channel_tx_power |
8200 | hci_le_set_advertising_data |
8201 | hci_le_set_scan_response_data |
8202 | hci_le_set_advertising_enable |
8203 | hci_le_set_scan_parameters |
8204 | hci_le_set_scan_enable |
8205 | hci_le_create_connection |
8206 | hci_le_create_connection_cancel |
8207 | hci_le_read_filter_accept_list_size |
8208 | hci_le_clear_filter_accept_list |
8209 | hci_le_add_device_to_filter_accept_list |
8210 | hci_le_remove_device_from_filter_accept_list |
8211 | hci_le_connection_update |
8212 | hci_le_set_host_channel_classification |
8213 | hci_le_read_channel_map |
8214 | hci_le_read_remote_features_page_0 |
8215 | hci_le_encrypt |
8216 | hci_le_rand |
8217 | hci_le_enable_encryption |
8218 | hci_le_long_term_key_request_reply |
8219 | hci_le_long_term_key_request_negative_reply |
8220 | hci_le_read_supported_states |
8221 | hci_le_receiver_test |
8222 | hci_le_transmitter_test |
8223 | hci_le_test_end |
8226 | hci_le_set_data_length |
8227 | hci_le_read_suggested_default_data_length |
8228 | hci_le_write_suggested_default_data_length |
8229 | hci_le_read_local_p256_public_key |
8230 | hci_le_generate_dhkey |
8231 | hci_le_add_device_to_resolving_list |
8232 | hci_le_remove_device_from_resolving_list |
8233 | hci_le_clear_resolving_list |
8234 | hci_le_read_resolving_list_size |
8235 | hci_le_read_peer_resolvable_address |
8236 | hci_le_read_local_resolvable_address |
8237 | hci_le_set_address_resolution_enable |
8238 | hci_le_set_resolvable_private_address_timeout |
8239 | hci_le_read_maximum_data_length |
8240 | hci_le_read_phy |
8241 | hci_le_set_default_phy |
8242 | hci_le_set_phy |
8243 | hci_le_receiver_test_v2 |
8244 | hci_le_transmitter_test_v2 |
8245 | hci_le_set_advertising_set_random_address |
8246 | hci_le_set_extended_advertising_parameters |
8247 | hci_le_set_extended_advertising_data |
8248 | hci_le_set_extended_scan_response_data |
8249 | hci_le_set_extended_advertising_enable |
8250 | hci_le_read_maximum_advertising_data_length |
8251 | hci_le_read_number_of_supported_advertising_sets |
8252 | hci_le_remove_advertising_set |
8253 | hci_le_clear_advertising_sets |
8257 | hci_le_set_extended_scan_parameters |
8258 | hci_le_set_extended_scan_enable |
8259 | hci_le_extended_create_connection |
8267 | hci_le_read_transmit_power |
8268 | hci_le_read_rf_path_compensation |
8269 | hci_le_write_rf_path_compensation |
8270 | hci_le_set_privacy_mode |
8286 | hci_le_generate_dhkey_v2 |
8350 | hci_le_set_resolvable_private_address_timeout_v2 |
64897 | aci_l2cap_connection_parameter_update_req |
64898 | aci_l2cap_connection_parameter_update_resp |
64904 | aci_l2cap_coc_connect |
64905 | aci_l2cap_coc_connect_confirm |
64906 | aci_l2cap_coc_reconf |
64907 | aci_l2cap_coc_reconf_confirm |
64908 | aci_l2cap_coc_disconnect |
64909 | aci_l2cap_coc_flow_control |
64910 | aci_l2cap_coc_tx_data |
Value map 6
| RAW VALUE | DECODED LABEL |
|---|---|
0 | Success |
89 | Dev in blacklist |
90 | Csrk not found |
91 | Irk not found |
92 | Dev not found |
94 | Dev not bonded |
96 | Invalid handle |
97 | Out of handle |
98 | Invalid operation |
100 | Insufficient resources |
101 | Sec permission error |
112 | Address not resolved |
130 | No valid slot |
131 | Scan window short |
132 | New interval failed |
133 | Interval too large |
134 | Length failed |
145 | Failed |
146 | Invalid params |
147 | Busy |
149 | Pending |
151 | Error |
152 | Out of memory |
255 | Timeout |
256 | Transport failure |
257 | No response status |
Value map 7
| RAW VALUE | DECODED LABEL |
|---|---|
1 | 16 bit |
2 | 128 bit |
Value map 8
| RAW VALUE | DECODED LABEL |
|---|---|
0 | No observation |
1 | Accepted local update |
2 | Remote write callback |
3 | Offset fragment; not a complete value |
Value map 9
| RAW VALUE | DECODED LABEL |
|---|---|
0 | Disabled |
1 | Notifications |
2 | Indications |
3 | Notifications and indications |
Value map 10
| RAW VALUE | DECODED LABEL |
|---|---|
0 | Off |
1 | On |
Value map 11
| RAW VALUE | DECODED LABEL |
|---|---|
0 | 0 |
1 | 1 |
Value map 12
| RAW VALUE | DECODED LABEL |
|---|---|
0 | Accepted |
65537 | Malformed request |
65538 | Application not ready |
65539 | Unsupported operation or LED value |
Value map 13
| RAW VALUE | DECODED LABEL |
|---|---|
0 | Unused |
1 | Command outcome |
2 | Asynchronous event |
Source verification and contributions
Verified against observation ABI 1 in ble_observer.h, API wrappers/event decoding/poll copies in ble_observer.c, version/advertising producers in app_entry.c and app_ble.c, the pinned ST BLE status/opcode headers, and descriptor-driven card/enum rendering. Action semantics were checked in domain_command.c and P2PS_APP_Command.
Contribute a correction or an adapted domain. The nine individual downloads are exact copies of the canonical definitions; the ZIP contains those same files.