Module bluetooth_hci::host[][src]

Host-side interface to the Bluetooth HCI.

Ideas for discussion and improvements

  • Remove cmd_link and event_link modules. These provide alternative mechanisms for writing to and reading from the controller, respectively, without the packet identifier byte. The open-source Bluetooth implementations I have found (admittedly, I haven't looked hard) only support sending the packet ID, as uart does. In that case, it would make sense to also remove uart and move its contents up one level.

Modules

cmd_link

Implementation of the HCI that includes the packet ID byte in the header.

event_link

Implementation of the HCI that only supports reading events from the controller.

uart

Implementation of the HCI that includes the packet ID byte in the header.

Structs

AdvertisingInterval

Define an advertising interval range.

AdvertisingParameters

Parameters for the le_set_advertising_parameters command.

AesParameters

Parameters for the le_encrypt command.

Channels

The advertising channels that shall be used when transmitting advertising packets.

ConnectionInterval

Define a connection interval range with its latency and supervision timeout. This value is passed to the controller, which determines the actual connection interval.

ConnectionIntervalBuilder

Intermediate builder for the ConnectionInterval

ConnectionParameters

Parameters for the le_create_connection event.

ConnectionUpdateParameters

Parameters for the le_connection_update command.

EncryptionKey

Newtype for the encryption key.

EncryptionParameters

Parameters for the le_start_encryption command.

EventFlags

Event flags defined for the set_event_mask command.

ExpectedConnectionLength

Define an expected connection length range

LeEventFlags

Event flags defined for the le_set_event_mask command.

PlaintextBlock

Newtype for the plaintext data.

ScanParameters

Parameters for the le_set_scan_parameters command.

ScanWindow

Define a scanning window.

Enums

AdvertisingFilterPolicy

Possible filter policies used for undirected advertising.

AdvertisingType

The advertising type is used in the AdvertisingParameters to determine the packet type that is used for advertising when advertising is enabled.

ConnectionFilterPolicy

Possible values for the initiator filter policy in the le_create_connection command.

Error

Errors that may occur when sending commands to the controller. Must be specialized on the types of communication errors.

OwnAddressType

Indicates the type of address being used in the advertising packets.

PeerAddrType

Possible values for the peer address in the le_create_connection command.

ScanFilterPolicy

Which advertising packets to accept from a scan.

ScanType

Types of scan to perform.

TestPacketPayload

Possible values of the payload parameter for the le_transmitter_test command.

TxPowerLevel

For the read_tx_power_level command, the allowed values for the type of power level to read.

Traits

Hci

Trait defining the interface from the host to the controller.

HciHeader

Trait to define a command packet header.