BKPT LabsDOCS/TRACE DOMAINS/STM32WB55 BLE SUITE BKPT DEBUG & VIEWALYZER RS
TRACE DOMAINS · PRACTICAL GUIDES

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.advertisingApplication 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.connectedSingle-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_handleCurrent connection handle; 65535 means none. Use it to distinguish a live link from retained timing/version fields.Raw value / decoded state
Successful connections · ble.connectsSuccessful connection events since boot, a 32-bit count. No wrapping policy is declared for this display.Raw value / decoded state
Disconnections · ble.disconnectsSuccessful disconnect events since boot, a 32-bit count. Compare its increase with the retained reason.Raw value / decoded state
Last disconnect reason · ble.disconnect_reasonLast 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_unitsNegotiated interval in 1.25 ms units: multiply by 1.25 for milliseconds. Retained after disconnect.Raw value / decoded state
Peripheral latency (events) · ble.latencyNegotiated peripheral latency in connection events, not milliseconds. Retained after disconnect.Raw value / decoded state
Supervision timeout (10 ms units) · ble.timeout_unitsSupervision timeout in 10 ms units: multiply by 10 for milliseconds. Retained after disconnect.Raw value / decoded state
TX PHY · ble.tx_phyLast 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_phyLast 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_mtuObserved 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.encryptedObserved 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.abiFirmware observation contract version. This adapter uses 1; it is distinct from descriptor format compatibility.Raw value / decoded state
Application uptime · ble.tick_msHAL_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_readyA 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_versionWireless 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_versionFUS 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_typeReported 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.commandsWrapped HCI/ACI requests since boot. Counts requests even when their outcome fails.Raw value / decoded state
Command awaiting response · ble.command_pendingSet 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_opcodeMost 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_statusMost 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_errorsCount 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_opcodeMost 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_statusStatus of that retained failure. It can remain nonzero throughout subsequent healthy operation. Values.Raw value / decoded state
Asynchronous events since boot · ble.eventsAsynchronous 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_eventsAttribute-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_overflowsSuccessful 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_truncationsPayload 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_countSuccessfully 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_countSuccessfully 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_overwrittenSignificant 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.present1 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.handleHandle 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_typeUUID 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.0One 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.1One 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.2One 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.3One 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.present1 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.handleHandle 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_typeUUID 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.0One 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.1One 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.2One 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.3One 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.present1 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.handleHandle 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_typeUUID 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.0One 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.1One 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.2One 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.3One 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.present1 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.handleHandle 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_typeUUID 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.0One 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.1One 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.2One 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.3One 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.advertisingble_observer.advertisingu32See its card/table above.
ble.connectedble_observer.connectedu32See its card/table above.
ble.connection_handleble_observer.connection_handleu32See its card/table above.
ble.connectsble_observer.connectsu32See its card/table above.
ble.disconnectsble_observer.disconnectsu32See its card/table above.
ble.disconnect_reasonble_observer.disconnect_reasonu32See its card/table above.
ble.interval_unitsble_observer.interval_unitsu32See its card/table above.
ble.latencyble_observer.latencyu32See its card/table above.
ble.timeout_unitsble_observer.timeout_unitsu32See its card/table above.
ble.tx_phyble_observer.tx_phyu32See its card/table above.
ble.rx_phyble_observer.rx_phyu32See its card/table above.
ble.att_mtuble_observer.att_mtuu32See its card/table above.
ble.encryptedble_observer.encryptedu32See its card/table above.
ble.abible_observer.abiu32See its card/table above.
ble.tick_msble_observer.tick_msu32See its card/table above.
ble.cpu2_readyble_observer.cpu2_readyu32See its card/table above.
ble.stack_versionble_observer.stack_versionu32See its card/table above.
ble.fus_versionble_observer.fus_versionu32See its card/table above.
ble.stack_typeble_observer.stack_typeu32See its card/table above.
ble.commandsble_observer.commandsu32See its card/table above. Counter policy: wrapping.
ble.command_pendingble_observer.command_pendingu32See its card/table above.
ble.last_opcodeble_observer.last_opcodeu32See its card/table above.
ble.last_statusble_observer.last_statusu32See its card/table above.
ble.command_errorsble_observer.command_errorsu32See its card/table above. Counter policy: wrapping.
ble.last_error_opcodeble_observer.last_error_opcodeu32See its card/table above.
ble.last_error_statusble_observer.last_error_statusu32See its card/table above.
ble.eventsble_observer.eventsu32See its card/table above. Counter policy: wrapping.
ble.malformed_eventsble_observer.malformed_eventsu32See its card/table above. Counter policy: wrapping.
ble.registry_overflowsble_observer.registry_overflowsu32See its card/table above. Counter policy: wrapping.
ble.value_truncationsble_observer.value_truncationsu32See its card/table above. Counter policy: wrapping.
ble.services_countble_observer.services_countu32See its card/table above.
ble.characteristics_countble_observer.characteristics_countu32See its card/table above.
ble.journal_overwrittenble_observer.journal_overwrittenu32See its card/table above.
ble.services.0.presentble_observer.services[0].presentu32See its card/table above.
ble.services.0.handleble_observer.services[0].handleu32See its card/table above.
ble.services.0.uuid_typeble_observer.services[0].uuid_typeu32See its card/table above.
ble.services.0.uuid.0ble_observer.services[0].uuid[0]u32See its card/table above.
ble.services.0.uuid.1ble_observer.services[0].uuid[1]u32See its card/table above.
ble.services.0.uuid.2ble_observer.services[0].uuid[2]u32See its card/table above.
ble.services.0.uuid.3ble_observer.services[0].uuid[3]u32See its card/table above.
ble.services.1.presentble_observer.services[1].presentu32See its card/table above.
ble.services.1.handleble_observer.services[1].handleu32See its card/table above.
ble.services.1.uuid_typeble_observer.services[1].uuid_typeu32See its card/table above.
ble.services.1.uuid.0ble_observer.services[1].uuid[0]u32See its card/table above.
ble.services.1.uuid.1ble_observer.services[1].uuid[1]u32See its card/table above.
ble.services.1.uuid.2ble_observer.services[1].uuid[2]u32See its card/table above.
ble.services.1.uuid.3ble_observer.services[1].uuid[3]u32See its card/table above.
ble.services.2.presentble_observer.services[2].presentu32See its card/table above.
ble.services.2.handleble_observer.services[2].handleu32See its card/table above.
ble.services.2.uuid_typeble_observer.services[2].uuid_typeu32See its card/table above.
ble.services.2.uuid.0ble_observer.services[2].uuid[0]u32See its card/table above.
ble.services.2.uuid.1ble_observer.services[2].uuid[1]u32See its card/table above.
ble.services.2.uuid.2ble_observer.services[2].uuid[2]u32See its card/table above.
ble.services.2.uuid.3ble_observer.services[2].uuid[3]u32See its card/table above.
ble.services.3.presentble_observer.services[3].presentu32See its card/table above.
ble.services.3.handleble_observer.services[3].handleu32See its card/table above.
ble.services.3.uuid_typeble_observer.services[3].uuid_typeu32See its card/table above.
ble.services.3.uuid.0ble_observer.services[3].uuid[0]u32See its card/table above.
ble.services.3.uuid.1ble_observer.services[3].uuid[1]u32See its card/table above.
ble.services.3.uuid.2ble_observer.services[3].uuid[2]u32See its card/table above.
ble.services.3.uuid.3ble_observer.services[3].uuid[3]u32See 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.present1 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.serviceParent local service handle; match it to the service registry in Overview.Raw value / decoded state
Identity / Characteristic declaration handle · ble.characteristics.0.declarationCharacteristic declaration handle returned by the registration API.Raw value / decoded state
Identity / Value handle · ble.characteristics.0.value_handleLocal 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_handleLocal 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_type1 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.propertiesRaw 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_lengthMaximum 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.lengthLength 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.capturedBytes 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_origin0 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.cccdSubscription 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.writesRemote 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.updatesLocal update API calls for this registered characteristic, including failed calls.Raw value / decoded state
Activity / Local updates accepted · ble.characteristics.0.update_okLocal 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_statusMost 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.0Raw 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.1Raw 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.2Raw 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.3Raw 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.0Four 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.1Four 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.2Four 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.3Four 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.1One 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.2One 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.3One 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.4One 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.5One 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.present1 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.serviceParent local service handle; match it to the service registry in Overview.Raw value / decoded state
Identity / Characteristic declaration handle · ble.characteristics.1.declarationCharacteristic declaration handle returned by the registration API.Raw value / decoded state
Identity / Value handle · ble.characteristics.1.value_handleLocal 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_handleLocal 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_type1 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.propertiesRaw 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_lengthMaximum 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.lengthLength 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.capturedBytes 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_origin0 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.cccdSubscription 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.writesRemote 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.updatesLocal update API calls for this registered characteristic, including failed calls.Raw value / decoded state
Activity / Local updates accepted · ble.characteristics.1.update_okLocal 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_statusMost 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.0Raw 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.1Raw 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.2Raw 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.3Raw 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.0Four 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.1Four 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.2Four 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.3Four 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.1One 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.2One 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.3One 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.4One 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.5One 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.presentble_observer.characteristics[0].presentu32See its card/table above.
ble.characteristics.0.serviceble_observer.characteristics[0].serviceu32See its card/table above.
ble.characteristics.0.declarationble_observer.characteristics[0].declarationu32See its card/table above.
ble.characteristics.0.value_handleble_observer.characteristics[0].value_handleu32See its card/table above.
ble.characteristics.0.cccd_handleble_observer.characteristics[0].cccd_handleu32See its card/table above.
ble.characteristics.0.uuid_typeble_observer.characteristics[0].uuid_typeu32See its card/table above.
ble.characteristics.0.propertiesble_observer.characteristics[0].propertiesu32See its card/table above.
ble.characteristics.0.max_lengthble_observer.characteristics[0].max_lengthu32See its card/table above.
ble.characteristics.0.lengthble_observer.characteristics[0].lengthu32See its card/table above.
ble.characteristics.0.capturedble_observer.characteristics[0].capturedu32See its card/table above.
ble.characteristics.0.value_originble_observer.characteristics[0].value_originu32See its card/table above.
ble.characteristics.0.cccdble_observer.characteristics[0].cccdu32See its card/table above.
ble.characteristics.0.writesble_observer.characteristics[0].writesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.0.updatesble_observer.characteristics[0].updatesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.0.update_okble_observer.characteristics[0].update_oku32See its card/table above. Counter policy: wrapping.
ble.characteristics.0.last_statusble_observer.characteristics[0].last_statusu32See its card/table above.
ble.characteristics.0.uuid.0ble_observer.characteristics[0].uuid[0]u32See its card/table above.
ble.characteristics.0.uuid.1ble_observer.characteristics[0].uuid[1]u32See its card/table above.
ble.characteristics.0.uuid.2ble_observer.characteristics[0].uuid[2]u32See its card/table above.
ble.characteristics.0.uuid.3ble_observer.characteristics[0].uuid[3]u32See its card/table above.
ble.characteristics.0.value.0ble_observer.characteristics[0].value[0]u32See its card/table above.
ble.characteristics.0.value.1ble_observer.characteristics[0].value[1]u32See its card/table above.
ble.characteristics.0.value.2ble_observer.characteristics[0].value[2]u32See its card/table above.
ble.characteristics.0.value.3ble_observer.characteristics[0].value[3]u32See its card/table above.
ble.characteristics.1.presentble_observer.characteristics[1].presentu32See its card/table above.
ble.characteristics.1.serviceble_observer.characteristics[1].serviceu32See its card/table above.
ble.characteristics.1.declarationble_observer.characteristics[1].declarationu32See its card/table above.
ble.characteristics.1.value_handleble_observer.characteristics[1].value_handleu32See its card/table above.
ble.characteristics.1.cccd_handleble_observer.characteristics[1].cccd_handleu32See its card/table above.
ble.characteristics.1.uuid_typeble_observer.characteristics[1].uuid_typeu32See its card/table above.
ble.characteristics.1.propertiesble_observer.characteristics[1].propertiesu32See its card/table above.
ble.characteristics.1.max_lengthble_observer.characteristics[1].max_lengthu32See its card/table above.
ble.characteristics.1.lengthble_observer.characteristics[1].lengthu32See its card/table above.
ble.characteristics.1.capturedble_observer.characteristics[1].capturedu32See its card/table above.
ble.characteristics.1.value_originble_observer.characteristics[1].value_originu32See its card/table above.
ble.characteristics.1.cccdble_observer.characteristics[1].cccdu32See its card/table above.
ble.characteristics.1.writesble_observer.characteristics[1].writesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.1.updatesble_observer.characteristics[1].updatesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.1.update_okble_observer.characteristics[1].update_oku32See its card/table above. Counter policy: wrapping.
ble.characteristics.1.last_statusble_observer.characteristics[1].last_statusu32See its card/table above.
ble.characteristics.1.uuid.0ble_observer.characteristics[1].uuid[0]u32See its card/table above.
ble.characteristics.1.uuid.1ble_observer.characteristics[1].uuid[1]u32See its card/table above.
ble.characteristics.1.uuid.2ble_observer.characteristics[1].uuid[2]u32See its card/table above.
ble.characteristics.1.uuid.3ble_observer.characteristics[1].uuid[3]u32See its card/table above.
ble.characteristics.1.value.0ble_observer.characteristics[1].value[0]u32See its card/table above.
ble.characteristics.1.value.1ble_observer.characteristics[1].value[1]u32See its card/table above.
ble.characteristics.1.value.2ble_observer.characteristics[1].value[2]u32See its card/table above.
ble.characteristics.1.value.3ble_observer.characteristics[1].value[3]u32See 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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.present1 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.serviceParent local service handle; match it to the service registry in Overview.Raw value / decoded state
Identity / Characteristic declaration handle · ble.characteristics.2.declarationCharacteristic declaration handle returned by the registration API.Raw value / decoded state
Identity / Value handle · ble.characteristics.2.value_handleLocal 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_handleLocal 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_type1 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.propertiesRaw 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_lengthMaximum 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.lengthLength 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.capturedBytes 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_origin0 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.cccdSubscription 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.writesRemote 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.updatesLocal update API calls for this registered characteristic, including failed calls.Raw value / decoded state
Activity / Local updates accepted · ble.characteristics.2.update_okLocal 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_statusMost 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.0Raw 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.1Raw 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.2Raw 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.3Raw 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.0Four 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.1Four 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.2Four 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.3Four 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.1One 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.2One 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.3One 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.4One 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.5One 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.present1 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.serviceParent local service handle; match it to the service registry in Overview.Raw value / decoded state
Identity / Characteristic declaration handle · ble.characteristics.3.declarationCharacteristic declaration handle returned by the registration API.Raw value / decoded state
Identity / Value handle · ble.characteristics.3.value_handleLocal 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_handleLocal 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_type1 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.propertiesRaw 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_lengthMaximum 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.lengthLength 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.capturedBytes 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_origin0 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.cccdSubscription 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.writesRemote 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.updatesLocal update API calls for this registered characteristic, including failed calls.Raw value / decoded state
Activity / Local updates accepted · ble.characteristics.3.update_okLocal 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_statusMost 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.0Raw 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.1Raw 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.2Raw 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.3Raw 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.0Four 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.1Four 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.2Four 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.3Four 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.1One 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.2One 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.3One 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.4One 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.5One 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.presentble_observer.characteristics[2].presentu32See its card/table above.
ble.characteristics.2.serviceble_observer.characteristics[2].serviceu32See its card/table above.
ble.characteristics.2.declarationble_observer.characteristics[2].declarationu32See its card/table above.
ble.characteristics.2.value_handleble_observer.characteristics[2].value_handleu32See its card/table above.
ble.characteristics.2.cccd_handleble_observer.characteristics[2].cccd_handleu32See its card/table above.
ble.characteristics.2.uuid_typeble_observer.characteristics[2].uuid_typeu32See its card/table above.
ble.characteristics.2.propertiesble_observer.characteristics[2].propertiesu32See its card/table above.
ble.characteristics.2.max_lengthble_observer.characteristics[2].max_lengthu32See its card/table above.
ble.characteristics.2.lengthble_observer.characteristics[2].lengthu32See its card/table above.
ble.characteristics.2.capturedble_observer.characteristics[2].capturedu32See its card/table above.
ble.characteristics.2.value_originble_observer.characteristics[2].value_originu32See its card/table above.
ble.characteristics.2.cccdble_observer.characteristics[2].cccdu32See its card/table above.
ble.characteristics.2.writesble_observer.characteristics[2].writesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.2.updatesble_observer.characteristics[2].updatesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.2.update_okble_observer.characteristics[2].update_oku32See its card/table above. Counter policy: wrapping.
ble.characteristics.2.last_statusble_observer.characteristics[2].last_statusu32See its card/table above.
ble.characteristics.2.uuid.0ble_observer.characteristics[2].uuid[0]u32See its card/table above.
ble.characteristics.2.uuid.1ble_observer.characteristics[2].uuid[1]u32See its card/table above.
ble.characteristics.2.uuid.2ble_observer.characteristics[2].uuid[2]u32See its card/table above.
ble.characteristics.2.uuid.3ble_observer.characteristics[2].uuid[3]u32See its card/table above.
ble.characteristics.2.value.0ble_observer.characteristics[2].value[0]u32See its card/table above.
ble.characteristics.2.value.1ble_observer.characteristics[2].value[1]u32See its card/table above.
ble.characteristics.2.value.2ble_observer.characteristics[2].value[2]u32See its card/table above.
ble.characteristics.2.value.3ble_observer.characteristics[2].value[3]u32See its card/table above.
ble.characteristics.3.presentble_observer.characteristics[3].presentu32See its card/table above.
ble.characteristics.3.serviceble_observer.characteristics[3].serviceu32See its card/table above.
ble.characteristics.3.declarationble_observer.characteristics[3].declarationu32See its card/table above.
ble.characteristics.3.value_handleble_observer.characteristics[3].value_handleu32See its card/table above.
ble.characteristics.3.cccd_handleble_observer.characteristics[3].cccd_handleu32See its card/table above.
ble.characteristics.3.uuid_typeble_observer.characteristics[3].uuid_typeu32See its card/table above.
ble.characteristics.3.propertiesble_observer.characteristics[3].propertiesu32See its card/table above.
ble.characteristics.3.max_lengthble_observer.characteristics[3].max_lengthu32See its card/table above.
ble.characteristics.3.lengthble_observer.characteristics[3].lengthu32See its card/table above.
ble.characteristics.3.capturedble_observer.characteristics[3].capturedu32See its card/table above.
ble.characteristics.3.value_originble_observer.characteristics[3].value_originu32See its card/table above.
ble.characteristics.3.cccdble_observer.characteristics[3].cccdu32See its card/table above.
ble.characteristics.3.writesble_observer.characteristics[3].writesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.3.updatesble_observer.characteristics[3].updatesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.3.update_okble_observer.characteristics[3].update_oku32See its card/table above. Counter policy: wrapping.
ble.characteristics.3.last_statusble_observer.characteristics[3].last_statusu32See its card/table above.
ble.characteristics.3.uuid.0ble_observer.characteristics[3].uuid[0]u32See its card/table above.
ble.characteristics.3.uuid.1ble_observer.characteristics[3].uuid[1]u32See its card/table above.
ble.characteristics.3.uuid.2ble_observer.characteristics[3].uuid[2]u32See its card/table above.
ble.characteristics.3.uuid.3ble_observer.characteristics[3].uuid[3]u32See its card/table above.
ble.characteristics.3.value.0ble_observer.characteristics[3].value[0]u32See its card/table above.
ble.characteristics.3.value.1ble_observer.characteristics[3].value[1]u32See its card/table above.
ble.characteristics.3.value.2ble_observer.characteristics[3].value[2]u32See its card/table above.
ble.characteristics.3.value.3ble_observer.characteristics[3].value[3]u32See 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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.present1 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.serviceParent local service handle; match it to the service registry in Overview.Raw value / decoded state
Identity / Characteristic declaration handle · ble.characteristics.4.declarationCharacteristic declaration handle returned by the registration API.Raw value / decoded state
Identity / Value handle · ble.characteristics.4.value_handleLocal 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_handleLocal 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_type1 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.propertiesRaw 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_lengthMaximum 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.lengthLength 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.capturedBytes 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_origin0 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.cccdSubscription 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.writesRemote 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.updatesLocal update API calls for this registered characteristic, including failed calls.Raw value / decoded state
Activity / Local updates accepted · ble.characteristics.4.update_okLocal 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_statusMost 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.0Raw 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.1Raw 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.2Raw 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.3Raw 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.0Four 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.1Four 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.2Four 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.3Four 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.1One 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.2One 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.3One 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.4One 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.5One 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.present1 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.serviceParent local service handle; match it to the service registry in Overview.Raw value / decoded state
Identity / Characteristic declaration handle · ble.characteristics.5.declarationCharacteristic declaration handle returned by the registration API.Raw value / decoded state
Identity / Value handle · ble.characteristics.5.value_handleLocal 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_handleLocal 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_type1 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.propertiesRaw 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_lengthMaximum 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.lengthLength 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.capturedBytes 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_origin0 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.cccdSubscription 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.writesRemote 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.updatesLocal update API calls for this registered characteristic, including failed calls.Raw value / decoded state
Activity / Local updates accepted · ble.characteristics.5.update_okLocal 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_statusMost 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.0Raw 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.1Raw 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.2Raw 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.3Raw 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.0Four 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.1Four 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.2Four 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.3Four 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.1One 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.2One 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.3One 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.4One 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.5One 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.presentble_observer.characteristics[4].presentu32See its card/table above.
ble.characteristics.4.serviceble_observer.characteristics[4].serviceu32See its card/table above.
ble.characteristics.4.declarationble_observer.characteristics[4].declarationu32See its card/table above.
ble.characteristics.4.value_handleble_observer.characteristics[4].value_handleu32See its card/table above.
ble.characteristics.4.cccd_handleble_observer.characteristics[4].cccd_handleu32See its card/table above.
ble.characteristics.4.uuid_typeble_observer.characteristics[4].uuid_typeu32See its card/table above.
ble.characteristics.4.propertiesble_observer.characteristics[4].propertiesu32See its card/table above.
ble.characteristics.4.max_lengthble_observer.characteristics[4].max_lengthu32See its card/table above.
ble.characteristics.4.lengthble_observer.characteristics[4].lengthu32See its card/table above.
ble.characteristics.4.capturedble_observer.characteristics[4].capturedu32See its card/table above.
ble.characteristics.4.value_originble_observer.characteristics[4].value_originu32See its card/table above.
ble.characteristics.4.cccdble_observer.characteristics[4].cccdu32See its card/table above.
ble.characteristics.4.writesble_observer.characteristics[4].writesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.4.updatesble_observer.characteristics[4].updatesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.4.update_okble_observer.characteristics[4].update_oku32See its card/table above. Counter policy: wrapping.
ble.characteristics.4.last_statusble_observer.characteristics[4].last_statusu32See its card/table above.
ble.characteristics.4.uuid.0ble_observer.characteristics[4].uuid[0]u32See its card/table above.
ble.characteristics.4.uuid.1ble_observer.characteristics[4].uuid[1]u32See its card/table above.
ble.characteristics.4.uuid.2ble_observer.characteristics[4].uuid[2]u32See its card/table above.
ble.characteristics.4.uuid.3ble_observer.characteristics[4].uuid[3]u32See its card/table above.
ble.characteristics.4.value.0ble_observer.characteristics[4].value[0]u32See its card/table above.
ble.characteristics.4.value.1ble_observer.characteristics[4].value[1]u32See its card/table above.
ble.characteristics.4.value.2ble_observer.characteristics[4].value[2]u32See its card/table above.
ble.characteristics.4.value.3ble_observer.characteristics[4].value[3]u32See its card/table above.
ble.characteristics.5.presentble_observer.characteristics[5].presentu32See its card/table above.
ble.characteristics.5.serviceble_observer.characteristics[5].serviceu32See its card/table above.
ble.characteristics.5.declarationble_observer.characteristics[5].declarationu32See its card/table above.
ble.characteristics.5.value_handleble_observer.characteristics[5].value_handleu32See its card/table above.
ble.characteristics.5.cccd_handleble_observer.characteristics[5].cccd_handleu32See its card/table above.
ble.characteristics.5.uuid_typeble_observer.characteristics[5].uuid_typeu32See its card/table above.
ble.characteristics.5.propertiesble_observer.characteristics[5].propertiesu32See its card/table above.
ble.characteristics.5.max_lengthble_observer.characteristics[5].max_lengthu32See its card/table above.
ble.characteristics.5.lengthble_observer.characteristics[5].lengthu32See its card/table above.
ble.characteristics.5.capturedble_observer.characteristics[5].capturedu32See its card/table above.
ble.characteristics.5.value_originble_observer.characteristics[5].value_originu32See its card/table above.
ble.characteristics.5.cccdble_observer.characteristics[5].cccdu32See its card/table above.
ble.characteristics.5.writesble_observer.characteristics[5].writesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.5.updatesble_observer.characteristics[5].updatesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.5.update_okble_observer.characteristics[5].update_oku32See its card/table above. Counter policy: wrapping.
ble.characteristics.5.last_statusble_observer.characteristics[5].last_statusu32See its card/table above.
ble.characteristics.5.uuid.0ble_observer.characteristics[5].uuid[0]u32See its card/table above.
ble.characteristics.5.uuid.1ble_observer.characteristics[5].uuid[1]u32See its card/table above.
ble.characteristics.5.uuid.2ble_observer.characteristics[5].uuid[2]u32See its card/table above.
ble.characteristics.5.uuid.3ble_observer.characteristics[5].uuid[3]u32See its card/table above.
ble.characteristics.5.value.0ble_observer.characteristics[5].value[0]u32See its card/table above.
ble.characteristics.5.value.1ble_observer.characteristics[5].value[1]u32See its card/table above.
ble.characteristics.5.value.2ble_observer.characteristics[5].value[2]u32See its card/table above.
ble.characteristics.5.value.3ble_observer.characteristics[5].value[3]u32See 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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.present1 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.serviceParent local service handle; match it to the service registry in Overview.Raw value / decoded state
Identity / Characteristic declaration handle · ble.characteristics.6.declarationCharacteristic declaration handle returned by the registration API.Raw value / decoded state
Identity / Value handle · ble.characteristics.6.value_handleLocal 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_handleLocal 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_type1 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.propertiesRaw 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_lengthMaximum 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.lengthLength 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.capturedBytes 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_origin0 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.cccdSubscription 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.writesRemote 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.updatesLocal update API calls for this registered characteristic, including failed calls.Raw value / decoded state
Activity / Local updates accepted · ble.characteristics.6.update_okLocal 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_statusMost 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.0Raw 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.1Raw 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.2Raw 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.3Raw 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.0Four 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.1Four 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.2Four 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.3Four 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.1One 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.2One 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.3One 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.4One 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.5One 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.present1 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.serviceParent local service handle; match it to the service registry in Overview.Raw value / decoded state
Identity / Characteristic declaration handle · ble.characteristics.7.declarationCharacteristic declaration handle returned by the registration API.Raw value / decoded state
Identity / Value handle · ble.characteristics.7.value_handleLocal 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_handleLocal 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_type1 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.propertiesRaw 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_lengthMaximum 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.lengthLength 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.capturedBytes 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_origin0 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.cccdSubscription 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.writesRemote 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.updatesLocal update API calls for this registered characteristic, including failed calls.Raw value / decoded state
Activity / Local updates accepted · ble.characteristics.7.update_okLocal 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_statusMost 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.0Raw 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.1Raw 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.2Raw 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.3Raw 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.0Four 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.1Four 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.2Four 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.3Four 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.1One 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.2One 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.3One 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.4One 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.5One 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.presentble_observer.characteristics[6].presentu32See its card/table above.
ble.characteristics.6.serviceble_observer.characteristics[6].serviceu32See its card/table above.
ble.characteristics.6.declarationble_observer.characteristics[6].declarationu32See its card/table above.
ble.characteristics.6.value_handleble_observer.characteristics[6].value_handleu32See its card/table above.
ble.characteristics.6.cccd_handleble_observer.characteristics[6].cccd_handleu32See its card/table above.
ble.characteristics.6.uuid_typeble_observer.characteristics[6].uuid_typeu32See its card/table above.
ble.characteristics.6.propertiesble_observer.characteristics[6].propertiesu32See its card/table above.
ble.characteristics.6.max_lengthble_observer.characteristics[6].max_lengthu32See its card/table above.
ble.characteristics.6.lengthble_observer.characteristics[6].lengthu32See its card/table above.
ble.characteristics.6.capturedble_observer.characteristics[6].capturedu32See its card/table above.
ble.characteristics.6.value_originble_observer.characteristics[6].value_originu32See its card/table above.
ble.characteristics.6.cccdble_observer.characteristics[6].cccdu32See its card/table above.
ble.characteristics.6.writesble_observer.characteristics[6].writesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.6.updatesble_observer.characteristics[6].updatesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.6.update_okble_observer.characteristics[6].update_oku32See its card/table above. Counter policy: wrapping.
ble.characteristics.6.last_statusble_observer.characteristics[6].last_statusu32See its card/table above.
ble.characteristics.6.uuid.0ble_observer.characteristics[6].uuid[0]u32See its card/table above.
ble.characteristics.6.uuid.1ble_observer.characteristics[6].uuid[1]u32See its card/table above.
ble.characteristics.6.uuid.2ble_observer.characteristics[6].uuid[2]u32See its card/table above.
ble.characteristics.6.uuid.3ble_observer.characteristics[6].uuid[3]u32See its card/table above.
ble.characteristics.6.value.0ble_observer.characteristics[6].value[0]u32See its card/table above.
ble.characteristics.6.value.1ble_observer.characteristics[6].value[1]u32See its card/table above.
ble.characteristics.6.value.2ble_observer.characteristics[6].value[2]u32See its card/table above.
ble.characteristics.6.value.3ble_observer.characteristics[6].value[3]u32See its card/table above.
ble.characteristics.7.presentble_observer.characteristics[7].presentu32See its card/table above.
ble.characteristics.7.serviceble_observer.characteristics[7].serviceu32See its card/table above.
ble.characteristics.7.declarationble_observer.characteristics[7].declarationu32See its card/table above.
ble.characteristics.7.value_handleble_observer.characteristics[7].value_handleu32See its card/table above.
ble.characteristics.7.cccd_handleble_observer.characteristics[7].cccd_handleu32See its card/table above.
ble.characteristics.7.uuid_typeble_observer.characteristics[7].uuid_typeu32See its card/table above.
ble.characteristics.7.propertiesble_observer.characteristics[7].propertiesu32See its card/table above.
ble.characteristics.7.max_lengthble_observer.characteristics[7].max_lengthu32See its card/table above.
ble.characteristics.7.lengthble_observer.characteristics[7].lengthu32See its card/table above.
ble.characteristics.7.capturedble_observer.characteristics[7].capturedu32See its card/table above.
ble.characteristics.7.value_originble_observer.characteristics[7].value_originu32See its card/table above.
ble.characteristics.7.cccdble_observer.characteristics[7].cccdu32See its card/table above.
ble.characteristics.7.writesble_observer.characteristics[7].writesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.7.updatesble_observer.characteristics[7].updatesu32See its card/table above. Counter policy: wrapping.
ble.characteristics.7.update_okble_observer.characteristics[7].update_oku32See its card/table above. Counter policy: wrapping.
ble.characteristics.7.last_statusble_observer.characteristics[7].last_statusu32See its card/table above.
ble.characteristics.7.uuid.0ble_observer.characteristics[7].uuid[0]u32See its card/table above.
ble.characteristics.7.uuid.1ble_observer.characteristics[7].uuid[1]u32See its card/table above.
ble.characteristics.7.uuid.2ble_observer.characteristics[7].uuid[2]u32See its card/table above.
ble.characteristics.7.uuid.3ble_observer.characteristics[7].uuid[3]u32See its card/table above.
ble.characteristics.7.value.0ble_observer.characteristics[7].value[0]u32See its card/table above.
ble.characteristics.7.value.1ble_observer.characteristics[7].value[1]u32See its card/table above.
ble.characteristics.7.value.2ble_observer.characteristics[7].value[2]u32See its card/table above.
ble.characteristics.7.value.3ble_observer.characteristics[7].value[3]u32See 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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) & 0x1One 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_StatusApplication 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.Led1Applied 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.ButtonStatusLocal 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_pressesButton 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_skippedButton 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_seqPublished 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_seqLast 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.statusApplication 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_StatusP2P_Server_App_Context.Notification_Statusu8See its card/table above.
p2p.LedControl.Led1P2P_Server_App_Context.LedControl.Led1u8See its card/table above.
p2p.ButtonControl.ButtonStatusP2P_Server_App_Context.ButtonControl.ButtonStatusu8See its card/table above.
ble.button_pressesble_observer.button_pressesu32See its card/table above. Counter policy: wrapping.
ble.notifications_skippedble_observer.notifications_skippedu32See its card/table above. Counter policy: wrapping.
command.request_seqdomain_command.request_sequ32See its card/table above.
command.response_seqdomain_command.response_sequ32See its card/table above.
command.statusdomain_command.statusu32See 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_statusFirmware 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_statusFirmware 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_maskFirmware 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_statusble_observer.ipcc_c1_statusu32See its card/table above.
ble.ipcc_c2_statusble_observer.ipcc_c2_statusu32See its card/table above.
ble.ipcc_c1_maskble_observer.ipcc_c1_masku32See 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequenceble_observer.journal[0].sequenceu32See its card/table above.
ble.journal.0.tick_msble_observer.journal[0].tick_msu32See its card/table above.
ble.journal.0.kindble_observer.journal[0].kindu32See its card/table above.
ble.journal.0.codeble_observer.journal[0].codeu32See its card/table above.
ble.journal.0.statusble_observer.journal[0].statusu32See its card/table above.
ble.journal.0.handleble_observer.journal[0].handleu32See its card/table above.
ble.journal.1.sequenceble_observer.journal[1].sequenceu32See its card/table above.
ble.journal.1.tick_msble_observer.journal[1].tick_msu32See its card/table above.
ble.journal.1.kindble_observer.journal[1].kindu32See its card/table above.
ble.journal.1.codeble_observer.journal[1].codeu32See its card/table above.
ble.journal.1.statusble_observer.journal[1].statusu32See its card/table above.
ble.journal.1.handleble_observer.journal[1].handleu32See its card/table above.
ble.journal.2.sequenceble_observer.journal[2].sequenceu32See its card/table above.
ble.journal.2.tick_msble_observer.journal[2].tick_msu32See its card/table above.
ble.journal.2.kindble_observer.journal[2].kindu32See its card/table above.
ble.journal.2.codeble_observer.journal[2].codeu32See its card/table above.
ble.journal.2.statusble_observer.journal[2].statusu32See its card/table above.
ble.journal.2.handleble_observer.journal[2].handleu32See its card/table above.
ble.journal.3.sequenceble_observer.journal[3].sequenceu32See its card/table above.
ble.journal.3.tick_msble_observer.journal[3].tick_msu32See its card/table above.
ble.journal.3.kindble_observer.journal[3].kindu32See its card/table above.
ble.journal.3.codeble_observer.journal[3].codeu32See its card/table above.
ble.journal.3.statusble_observer.journal[3].statusu32See its card/table above.
ble.journal.3.handleble_observer.journal[3].handleu32See its card/table above.
ble.journal.4.sequenceble_observer.journal[4].sequenceu32See its card/table above.
ble.journal.4.tick_msble_observer.journal[4].tick_msu32See its card/table above.
ble.journal.4.kindble_observer.journal[4].kindu32See its card/table above.
ble.journal.4.codeble_observer.journal[4].codeu32See its card/table above.
ble.journal.4.statusble_observer.journal[4].statusu32See its card/table above.
ble.journal.4.handleble_observer.journal[4].handleu32See its card/table above.
ble.journal.5.sequenceble_observer.journal[5].sequenceu32See its card/table above.
ble.journal.5.tick_msble_observer.journal[5].tick_msu32See its card/table above.
ble.journal.5.kindble_observer.journal[5].kindu32See its card/table above.
ble.journal.5.codeble_observer.journal[5].codeu32See its card/table above.
ble.journal.5.statusble_observer.journal[5].statusu32See its card/table above.
ble.journal.5.handleble_observer.journal[5].handleu32See its card/table above.
ble.journal.6.sequenceble_observer.journal[6].sequenceu32See its card/table above.
ble.journal.6.tick_msble_observer.journal[6].tick_msu32See its card/table above.
ble.journal.6.kindble_observer.journal[6].kindu32See its card/table above.
ble.journal.6.codeble_observer.journal[6].codeu32See its card/table above.
ble.journal.6.statusble_observer.journal[6].statusu32See its card/table above.
ble.journal.6.handleble_observer.journal[6].handleu32See its card/table above.
ble.journal.7.sequenceble_observer.journal[7].sequenceu32See its card/table above.
ble.journal.7.tick_msble_observer.journal[7].tick_msu32See its card/table above.
ble.journal.7.kindble_observer.journal[7].kindu32See its card/table above.
ble.journal.7.codeble_observer.journal[7].codeu32See its card/table above.
ble.journal.7.statusble_observer.journal[7].statusu32See its card/table above.
ble.journal.7.handleble_observer.journal[7].handleu32See 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequencePublication 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_msHAL_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.kind0 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.codeFor 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.statusCommand 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.handleConnection 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.sequenceble_observer.journal[8].sequenceu32See its card/table above.
ble.journal.8.tick_msble_observer.journal[8].tick_msu32See its card/table above.
ble.journal.8.kindble_observer.journal[8].kindu32See its card/table above.
ble.journal.8.codeble_observer.journal[8].codeu32See its card/table above.
ble.journal.8.statusble_observer.journal[8].statusu32See its card/table above.
ble.journal.8.handleble_observer.journal[8].handleu32See its card/table above.
ble.journal.9.sequenceble_observer.journal[9].sequenceu32See its card/table above.
ble.journal.9.tick_msble_observer.journal[9].tick_msu32See its card/table above.
ble.journal.9.kindble_observer.journal[9].kindu32See its card/table above.
ble.journal.9.codeble_observer.journal[9].codeu32See its card/table above.
ble.journal.9.statusble_observer.journal[9].statusu32See its card/table above.
ble.journal.9.handleble_observer.journal[9].handleu32See its card/table above.
ble.journal.10.sequenceble_observer.journal[10].sequenceu32See its card/table above.
ble.journal.10.tick_msble_observer.journal[10].tick_msu32See its card/table above.
ble.journal.10.kindble_observer.journal[10].kindu32See its card/table above.
ble.journal.10.codeble_observer.journal[10].codeu32See its card/table above.
ble.journal.10.statusble_observer.journal[10].statusu32See its card/table above.
ble.journal.10.handleble_observer.journal[10].handleu32See its card/table above.
ble.journal.11.sequenceble_observer.journal[11].sequenceu32See its card/table above.
ble.journal.11.tick_msble_observer.journal[11].tick_msu32See its card/table above.
ble.journal.11.kindble_observer.journal[11].kindu32See its card/table above.
ble.journal.11.codeble_observer.journal[11].codeu32See its card/table above.
ble.journal.11.statusble_observer.journal[11].statusu32See its card/table above.
ble.journal.11.handleble_observer.journal[11].handleu32See its card/table above.
ble.journal.12.sequenceble_observer.journal[12].sequenceu32See its card/table above.
ble.journal.12.tick_msble_observer.journal[12].tick_msu32See its card/table above.
ble.journal.12.kindble_observer.journal[12].kindu32See its card/table above.
ble.journal.12.codeble_observer.journal[12].codeu32See its card/table above.
ble.journal.12.statusble_observer.journal[12].statusu32See its card/table above.
ble.journal.12.handleble_observer.journal[12].handleu32See its card/table above.
ble.journal.13.sequenceble_observer.journal[13].sequenceu32See its card/table above.
ble.journal.13.tick_msble_observer.journal[13].tick_msu32See its card/table above.
ble.journal.13.kindble_observer.journal[13].kindu32See its card/table above.
ble.journal.13.codeble_observer.journal[13].codeu32See its card/table above.
ble.journal.13.statusble_observer.journal[13].statusu32See its card/table above.
ble.journal.13.handleble_observer.journal[13].handleu32See its card/table above.
ble.journal.14.sequenceble_observer.journal[14].sequenceu32See its card/table above.
ble.journal.14.tick_msble_observer.journal[14].tick_msu32See its card/table above.
ble.journal.14.kindble_observer.journal[14].kindu32See its card/table above.
ble.journal.14.codeble_observer.journal[14].codeu32See its card/table above.
ble.journal.14.statusble_observer.journal[14].statusu32See its card/table above.
ble.journal.14.handleble_observer.journal[14].handleu32See its card/table above.
ble.journal.15.sequenceble_observer.journal[15].sequenceu32See its card/table above.
ble.journal.15.tick_msble_observer.journal[15].tick_msu32See its card/table above.
ble.journal.15.kindble_observer.journal[15].kindu32See its card/table above.
ble.journal.15.codeble_observer.journal[15].codeu32See its card/table above.
ble.journal.15.statusble_observer.journal[15].statusu32See its card/table above.
ble.journal.15.handleble_observer.journal[15].handleu32See 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
0No
1Yes

Value map 2

RAW VALUE DECODED LABEL
0None
8Supervision timeout
19Remote user terminated
22Local host terminated

Value map 3

RAW VALUE DECODED LABEL
0Unknown
11 Mbit/s
22 Mbit/s
3Coded

Value map 4

RAW VALUE DECODED LABEL
1BLE full stack

Value map 5

RAW VALUE DECODED LABEL
64641aci_gap_set_non_discoverable
64642aci_gap_set_limited_discoverable
64643aci_gap_set_discoverable
64644aci_gap_set_direct_connectable
64645aci_gap_set_io_capability
64646aci_gap_set_authentication_requirement
64647aci_gap_set_authorization_requirement
64648aci_gap_pass_key_resp
64649aci_gap_authorization_resp
64650aci_gap_init
64651aci_gap_set_non_connectable
64652aci_gap_set_undirected_connectable
64653aci_gap_peripheral_security_req
64654aci_gap_update_adv_data
64655aci_gap_delete_ad_type
64656aci_gap_get_security_level
64657aci_gap_set_event_mask
64658aci_gap_configure_filter_accept_list
64659aci_gap_terminate
64660aci_gap_clear_security_db
64661aci_gap_allow_rebond
64662aci_gap_start_limited_discovery_proc
64663aci_gap_start_general_discovery_proc
64665aci_gap_start_auto_connection_establish_proc
64666aci_gap_start_general_connection_establish_proc
64667aci_gap_start_selective_connection_establish_proc
64668aci_gap_create_connection
64669aci_gap_terminate_gap_proc
64670aci_gap_start_connection_update
64671aci_gap_send_pairing_req
64673aci_gap_set_broadcast_mode
64674aci_gap_start_observation_proc
64675aci_gap_get_bonded_devices
64676aci_gap_check_bonded_device
64677aci_gap_numeric_comparison_value_confirm_yesno
64678aci_gap_passkey_input
64679aci_gap_get_oob_data
64680aci_gap_set_oob_data
64682aci_gap_remove_bonded_device
64683aci_gap_add_devices_to_list
64685aci_gap_pairing_request_reply
64688aci_gap_additional_beacon_start
64689aci_gap_additional_beacon_stop
64690aci_gap_additional_beacon_set_data
64704aci_gap_adv_set_configuration
64705aci_gap_adv_set_enable
64706aci_gap_adv_set_adv_data
64707aci_gap_adv_set_scan_resp_data
64708aci_gap_adv_remove_set
64709aci_gap_adv_clear_sets
64710aci_gap_adv_set_random_address
64720aci_gap_ext_start_scan
64721aci_gap_ext_create_connection
64769aci_gatt_init
64770aci_gatt_add_service
64771aci_gatt_include_service
64772aci_gatt_add_char
64773aci_gatt_add_char_desc
64774aci_gatt_update_char_value
64775aci_gatt_del_char
64776aci_gatt_del_service
64777aci_gatt_del_include_service
64778aci_gatt_set_event_mask
64779aci_gatt_exchange_config
64780aci_att_find_info_req
64781aci_att_find_by_type_value_req
64782aci_att_read_by_type_req
64783aci_att_read_by_group_type_req
64784aci_att_prepare_write_req
64785aci_att_execute_write_req
64786aci_gatt_disc_all_primary_services
64787aci_gatt_disc_primary_service_by_uuid
64788aci_gatt_find_included_services
64789aci_gatt_disc_all_char_of_service
64790aci_gatt_disc_char_by_uuid
64791aci_gatt_disc_all_char_desc
64792aci_gatt_read_char_value
64793aci_gatt_read_using_char_uuid
64794aci_gatt_read_long_char_value
64795aci_gatt_read_multiple_char_value
64796aci_gatt_write_char_value
64797aci_gatt_write_long_char_value
64798aci_gatt_write_char_reliable
64803aci_gatt_write_without_resp
64804aci_gatt_signed_write_without_resp
64805aci_gatt_confirm_indication
64806aci_gatt_permit_write
64807aci_gatt_permit_read
64808aci_gatt_set_security_permission
64809aci_gatt_set_desc_value
64810aci_gatt_read_handle_value
64812aci_gatt_update_char_value_ext
64814aci_gatt_set_access_permission
64816aci_gatt_store_db
64817aci_gatt_send_mult_notification
64818aci_gatt_read_multiple_var_char_value
64832aci_gatt_write_without_resp_ext
64833aci_gatt_write_with_resp_ext
65280aci_reset
65281aci_get_information
65282aci_write_config_data
65283aci_read_config_data
64524aci_hal_write_config_data
64525aci_hal_read_config_data
64527aci_hal_set_tx_power_level
64532aci_hal_le_tx_test_packet_number
64533aci_hal_tone_start
64534aci_hal_tone_stop
64535aci_hal_get_link_status
64536aci_hal_set_radio_activity_mask
64537aci_hal_get_anchor_period
64538aci_hal_set_event_mask
64544aci_hal_set_peripheral_latency
64546aci_hal_read_rssi
64559aci_hal_ead_encrypt_decrypt
64560aci_hal_read_radio_reg
64561aci_hal_write_radio_reg
64562aci_hal_read_raw_rssi
64563aci_hal_rx_start
64564aci_hal_rx_stop
1030hci_disconnect
1053hci_read_remote_version_information
3073hci_set_event_mask
3075hci_reset
3117hci_read_transmit_power_level
3121hci_set_controller_to_host_flow_control
3123hci_host_buffer_size
3125hci_host_number_of_completed_packets
4097hci_read_local_version_information
4098hci_read_local_supported_commands
4099hci_read_local_supported_features
4105hci_read_bd_addr
5125hci_read_rssi
8193hci_le_set_event_mask
8194hci_le_read_buffer_size
8195hci_le_read_local_supported_features_page_0
8197hci_le_set_random_address
8198hci_le_set_advertising_parameters
8199hci_le_read_advertising_physical_channel_tx_power
8200hci_le_set_advertising_data
8201hci_le_set_scan_response_data
8202hci_le_set_advertising_enable
8203hci_le_set_scan_parameters
8204hci_le_set_scan_enable
8205hci_le_create_connection
8206hci_le_create_connection_cancel
8207hci_le_read_filter_accept_list_size
8208hci_le_clear_filter_accept_list
8209hci_le_add_device_to_filter_accept_list
8210hci_le_remove_device_from_filter_accept_list
8211hci_le_connection_update
8212hci_le_set_host_channel_classification
8213hci_le_read_channel_map
8214hci_le_read_remote_features_page_0
8215hci_le_encrypt
8216hci_le_rand
8217hci_le_enable_encryption
8218hci_le_long_term_key_request_reply
8219hci_le_long_term_key_request_negative_reply
8220hci_le_read_supported_states
8221hci_le_receiver_test
8222hci_le_transmitter_test
8223hci_le_test_end
8226hci_le_set_data_length
8227hci_le_read_suggested_default_data_length
8228hci_le_write_suggested_default_data_length
8229hci_le_read_local_p256_public_key
8230hci_le_generate_dhkey
8231hci_le_add_device_to_resolving_list
8232hci_le_remove_device_from_resolving_list
8233hci_le_clear_resolving_list
8234hci_le_read_resolving_list_size
8235hci_le_read_peer_resolvable_address
8236hci_le_read_local_resolvable_address
8237hci_le_set_address_resolution_enable
8238hci_le_set_resolvable_private_address_timeout
8239hci_le_read_maximum_data_length
8240hci_le_read_phy
8241hci_le_set_default_phy
8242hci_le_set_phy
8243hci_le_receiver_test_v2
8244hci_le_transmitter_test_v2
8245hci_le_set_advertising_set_random_address
8246hci_le_set_extended_advertising_parameters
8247hci_le_set_extended_advertising_data
8248hci_le_set_extended_scan_response_data
8249hci_le_set_extended_advertising_enable
8250hci_le_read_maximum_advertising_data_length
8251hci_le_read_number_of_supported_advertising_sets
8252hci_le_remove_advertising_set
8253hci_le_clear_advertising_sets
8257hci_le_set_extended_scan_parameters
8258hci_le_set_extended_scan_enable
8259hci_le_extended_create_connection
8267hci_le_read_transmit_power
8268hci_le_read_rf_path_compensation
8269hci_le_write_rf_path_compensation
8270hci_le_set_privacy_mode
8286hci_le_generate_dhkey_v2
8350hci_le_set_resolvable_private_address_timeout_v2
64897aci_l2cap_connection_parameter_update_req
64898aci_l2cap_connection_parameter_update_resp
64904aci_l2cap_coc_connect
64905aci_l2cap_coc_connect_confirm
64906aci_l2cap_coc_reconf
64907aci_l2cap_coc_reconf_confirm
64908aci_l2cap_coc_disconnect
64909aci_l2cap_coc_flow_control
64910aci_l2cap_coc_tx_data

Value map 6

RAW VALUE DECODED LABEL
0Success
89Dev in blacklist
90Csrk not found
91Irk not found
92Dev not found
94Dev not bonded
96Invalid handle
97Out of handle
98Invalid operation
100Insufficient resources
101Sec permission error
112Address not resolved
130No valid slot
131Scan window short
132New interval failed
133Interval too large
134Length failed
145Failed
146Invalid params
147Busy
149Pending
151Error
152Out of memory
255Timeout
256Transport failure
257No response status

Value map 7

RAW VALUE DECODED LABEL
116 bit
2128 bit

Value map 8

RAW VALUE DECODED LABEL
0No observation
1Accepted local update
2Remote write callback
3Offset fragment; not a complete value

Value map 9

RAW VALUE DECODED LABEL
0Disabled
1Notifications
2Indications
3Notifications and indications

Value map 10

RAW VALUE DECODED LABEL
0Off
1On

Value map 11

RAW VALUE DECODED LABEL
00
11

Value map 12

RAW VALUE DECODED LABEL
0Accepted
65537Malformed request
65538Application not ready
65539Unsupported operation or LED value

Value map 13

RAW VALUE DECODED LABEL
0Unused
1Command outcome
2Asynchronous 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.