The Controller class is a shim for communication between the Host and the Controller. Controller is a pw::Channel
used to send and receive HCI packets. The first byte of each datagram is a UART packet indicator (H4PacketType
Emboss enum).
Public Types | |
enum class | FeaturesBits : uint32_t { FeaturesBits::kHciSco = (1 << 0) , FeaturesBits::kSetAclPriorityCommand = (1 << 1) , FeaturesBits::kAndroidVendorExtensions = (1 << 2) } |
Bitmask of features the controller supports. More... | |
enum class | ScoCodingFormat : uint8_t { kCvsd , kMsbc } |
enum class | ScoEncoding : uint8_t { k8Bits , k16Bits } |
enum class | ScoSampleRate : uint8_t { k8Khz , k16Khz } |
Public Member Functions | |
virtual async2::Poll< Status > | PendError (async2::Context &cx)=0 |
virtual async2::OnceReceiver< Status > | Initialize ()=0 |
virtual async2::OnceReceiver< Status > | ConfigureSco (ScoCodingFormat coding_format, ScoEncoding encoding, ScoSampleRate sample_rate)=0 |
virtual async2::OnceReceiver< Status > | ResetSco ()=0 |
virtual async2::OnceReceiver< FeaturesBits > | GetFeatures ()=0 |
virtual async2::OnceReceiver< Result< multibuf::MultiBuf > > | EncodeVendorCommand (VendorCommandParameters parameters)=0 |