Project: /_project.yaml Book: /_book.yaml

fuchsia.bluetooth.test

PROTOCOLS

Peer {:#Peer}

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

Protocol used to drive the state of a fake peer device.

AssignConnectionStatus {:#AssignConnectionStatus}

Assign a HCI status for the controller to generate in response to connection requests. Applies to all successive HCI_Create_Connection and HCI_LE_Create_Connection commands. The procedure is acknowledged with an empty response.

Request

Response

EmulateLeConnectionComplete {:#EmulateLeConnectionComplete}

Emulates a LE connection event. Does nothing if the peer is already connected. The role parameter determines the link layer connection role.

Request

EmulateDisconnectionComplete {:#EmulateDisconnectionComplete}

Emulate disconnection. Does nothing if the peer is not connected.

Request

WatchConnectionStates {:#WatchConnectionStates}

Watch connection state changes using the hanging get pattern. Notifies the most recent controller connection state if there has been a change since the last time this method was called.

Only one call to this method can be outstanding at a given time. The Peer channel will be closed if a call is received when one is already pending.

Request

Response

HciEmulator {:#HciEmulator}

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

Protocol used to emulate a Bluetooth controller that supports the standard Bluetooth HCI.

Publish {:#Publish}

Publish a bt-hci device using the provided settings. Each HciEmulator instance can only manage a single bt-hci device. Returns Emulator.HCI_ALREADY_PUBLISHED if the device has already been published.

Request

Response

AddLowEnergyPeer {:#AddLowEnergyPeer}

Inserts a new LE peer device to be emulated by this controller. Once registered, the state of the fake peer can be driven and observed using the peer handle.

A reply will be sent to acknowledge the creation of the fake peer. If a peer cannot be initialized (e.g. due to a missing required field in parameters or for containing an address that is already emulated) the peer handle will be closed and an error reply will be sent.

The peer will appear in advertising reports and respond to requests according to its configuration as long as the peer channel is open. The emulator stops emulating this peer when the channel gets closed, which makes it no longer discoverable and not respond to any requests.

Request

Response

AddBredrPeer {:#AddBredrPeer}

Inserts a new BR/EDR peer device to be emulated by this controller. Once registered, the state of the fake peer can be driven and observed using the peer handle.

A reply will be sent to acknowledge the creation of the fake peer. If a peer cannot be initialized (e.g. due to a missing required field in parameters or for containing an address that is already emulated) the peer handle will be closed and an error reply will be sent.

The peer will appear in inquiry results and respond to requests according to its configuration as long as the peer channel is open. The emulator stops emulating this peer when the channel gets closed, which makes it no longer discoverable and not respond to any requests.

Request

Response

WatchLeScanStates {:#WatchLeScanStates}

Returns the most recent set of state transitions for the link layer LE scan procedure. This method returns when there has been a state change since the last invocation of this method by this client.

Only one call to this method can be outstanding at a given time. The HciEmulator channel will be closed if a call received when one is already pending. (see hanging get pattern)

Request

Response

WatchLegacyAdvertisingStates {:#WatchLegacyAdvertisingStates}

Returns the most recent set of state transitions for the link layer LE legacy advertising procedure. This method returns when there has been a state change since the last invocation of this method by this client.

Only one call to this method can be outstanding at a given time. The HciEmulator channel will be closed if a call received when one is already pending. (see hanging get pattern)

Request

Response

STRUCTS

HciEmulator_Publish_Response {:#HciEmulator_Publish_Response}

generated

HciEmulator_AddLowEnergyPeer_Response {:#HciEmulator_AddLowEnergyPeer_Response}

generated

HciEmulator_AddBredrPeer_Response {:#HciEmulator_AddBredrPeer_Response}

generated

AclBufferSettings {:#AclBufferSettings}

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

The HCI ACL data flow-control parameters.

AdvertisingData {:#AdvertisingData}

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

ENUMS

EmulatorError {:#EmulatorError}

Type: uint32

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

Error codes that can be generated for emulator-wide configurations.

EmulatorPeerError {:#EmulatorPeerError}

Type: uint32

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

Error codes that are generated for functions that manipulate fake peers.

HciConfig {:#HciConfig}

Type: uint32

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

Pre-set HCI configurations.

ConnectionState {:#ConnectionState}

Type: uint32

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

HciError {:#HciError}

Type: uint8

Defined in fuchsia.bluetooth.test/hci_errors.fidl

Defines the list of HCI protocol error codes that a Bluetooth controller can report. These values are taken from Bluetooth Core Specification v5.1, Vol 2, Part D.

LegacyAdvertisingType {:#LegacyAdvertisingType}

Type: uint8

Defined in fuchsia.bluetooth.test/le_procedures.fidl

LE legacy advertising types from Bluetooth Core Specification 5.1 Vol 2, Part E, Section 7.8.5.

TABLES

EmulatorSettings {:#EmulatorSettings}

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

Controller settings used by the emulator.

LowEnergyPeerParameters {:#LowEnergyPeerParameters}

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

Parameters used to emulate a peer's behavior over the Low Energy transport.

BredrPeerParameters {:#BredrPeerParameters}

Defined in fuchsia.bluetooth.test/hci_emulator.fidl

Parameters used to emulate a peer's behavior over the BR/EDR transport.

LegacyAdvertisingState {:#LegacyAdvertisingState}

Defined in fuchsia.bluetooth.test/le_procedures.fidl

Controller parameters for legacy advertising.

LeScanState {:#LeScanState}

Defined in fuchsia.bluetooth.test/le_procedures.fidl

Represents the LE scan state. The fields are present if scan parameters have been configured.

UNIONS

HciEmulator_Publish_Result {:#HciEmulator_Publish_Result}

generated

HciEmulator_AddLowEnergyPeer_Result {:#HciEmulator_AddLowEnergyPeer_Result}

generated

HciEmulator_AddBredrPeer_Result {:#HciEmulator_AddBredrPeer_Result}

generated

CONSTANTS