API Reference blue_heron v0.4.1

Modules

Elixir Bluetooth library

simple fifo buffer implementation that handles sending ACL packets synchronously without blocking

Functions for serializing and deserializing ATT data

Linked connection to a BLE device

Helper struct for working with BLE Addresses.

Company identifiers are unique numbers assigned by the Bluetooth SIG to member companies requesting one.

Assigned numbers are used in GAP for inquiry response, EIR data type values, manufacturer-specific data, advertising data, low energy UUIDs and appearance characteristics, and class of device.

Handle to a Bluetooth stack. Fields should be considered opaque

The Manufacturer Specific data type is used for manufacturer specific data.

Serialization module for Apple.

The Service Data data type consists of a service UUID with the data associated with that service.

Defines all error codes and functions to map between error code and name.

Struct that represents a GATT characteristic.

Struct that represents a GATT characteristic descriptor.

A behaviour module for implementing a GATT server.

Struct that represents a GATT service.

Volume 4 of the Bluetooth Spec

Serialization functions for arrayed data.

HCI commands for working with the controller and baseband.

The Read_Local_Name command provides the ability to read the stored user-friendly name for the BR/EDR Controller. See Section 6.23 and 7.3.12 for more details

This command writes the value for the Class_Of_Device parameter.

This command writes the Erroneous_Data_Reporting parameter.

The HCI_Write_Extended_Inquiry_Response command writes the extended inquiry response to be sent during the extended inquiry response procedure.

This command writes the Inquiry_Mode configuration parameter of the local BR/EDR Controller. See Section 6.5.

The HCI_Write_LE_Host_Support command is used to set the LE Supported (Host) and Simultaneous LE and BR/EDR to Same Device Capable (Host) Link Manager Protocol feature bits.

The HCI_Write_Local_Name command provides the ability to modify the user- friendly name for the BR/EDR Controller.

This command writes the value for the Page_Timeout configuration parameter.

This command writes the value for the Scan_Enable configuration parameter.

This command writes the Secure_Connections_Host_Support parameter in the BR/EDR Controller.

This command enables Simple Pairing mode in the BR/EDR Controller.

This command provides the ability to write the Synchronous_Flow_Control_Enable parameter.

HCI commands for working with the informational parameters.

HCI commands for working with the LE Controller.

The HCI_LE_Create_Connection command is used to create an ACL connection to a connectable advertiser

This command is used to try to authenticate the remote device associated with the specified Connection_Handle.

This command is used to try to authenticate the remote device associated with the specified Connection_Handle.

HCI commands for working with the Link Policy.

This command writes the Default Link Policy configuration value.

The Command Complete event is used by the Controller for most commands to transmit return status of a command and the other event parameters that are specified for the issued HCI command.

The HCI_Command_Status event is used to indicate that the command described by the Command_Opcode parameter has been received, and that the Controller is currently performing the task for this command.

The HCI_Disconnection_Complete event occurs when a connection is terminated.

The HCI_Encryption_Change event is used to indicate that the change of the encryption mode has been completed. The Connection_Handle event parameter will be a Connection_Handle for an ACL connection and is used to identify the remote device.

The Inquiry Complete event indicates that the Inquiry is finished. This event contains a Status parameter, which is used to indicate if the Inquiry completed successfully or if the Inquiry was not completed.

The LE Meta Event is used to encapsulate all LE Controller specific events.

A struct representing a LE Advertising Report.

A struct representing a single device within a LE Advertising Report.

The HCI_LE_Connection_Complete event indicates to both of the Hosts forming the connection that a new connection has been created.

The HCI_LE_Long_Term_Key_Request event indicates that the peer device, in the Central role, is attempting to encrypt or re-encrypt the link and is requesting the Long Term Key from the Host. (See [Vol 6] Part B, Section 5.1.3).

The HCINumber_Of_Completed_Packets event is used by the Controller to indicate to the Host how many HCI Data packets have been completed for each Connection_Handle since the previous HCI_Number_Of_Completed- Packets event was sent to the Host.

Handles sending and receiving HCI binaries via a physical link that implements the callbacks in this module

Transport impl that can be used to mock out HCI commands

Interface to writing/reading PKTLOG formatted data

Wrapper around Elixir's Logger to facilitate HCI Logging.

Defines a behaviour that manufacturer data modules should implement.

Handles management of advertising and GATT server

A behaviour module for implementing BLE Security Manager Protocol.

Callback behavior for handling SMP IO requests

Handles storage of keys for SMP

Mix Tasks