Fixed HSP sound quality issues:
- fixed HF caused by invalid output block size during interpolation of
the bluetooth input,
- increased block size to increase time send interval to 8ms
Fixed issue with error handling when writing to overflowed stream.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
To be able to pair properly using SSP the BT device have to know
which services we're running, thus we need to register SDP entries
after startup of the BT stack
This enables Simple Secure Pairing which is required to pair
from another device (device -> Pure). As for now, only KeyboardOnly
capabilities are enabled as we have all frontend and backend
already enabled for entering the pin code/passkey
Due to enabled EHCILL the shutdown procedure takes longer time
than before, so restarting by turning off and on without a delay
caused crash in the BT stack. Added delay between shutdown and
power on to let the stack turn off completely
Break circular dependencies in the BSP module. Fix some missing
dependencies which surfaced after fixing BSP.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Adapted both codec and HFP profile to be able to work together.
Now it's possible to stream 2-way audio via HFP profile, but it
has to be integrated properly with EGD-7405
Reworked AppSettings handling of BT devices to be prepared for
handling the HFP profile, eliminating by the way few bugs and
speeding up the flow (by getting rid of few refreshes).
Added unit tests for handling the BT devices flow
Some devices were giving different results after querying for
Class of Device (CoD) and our filters were too restrictive.
Now filtering only take place at pairing, so every suitable
device can be connected
Due to wrong logic, all devices were disconnecing during unparing
Now, the disconnecting is performed only when the unpaired devices
is the connected one
Updated the BT stack with events that are handled through the
button so now it's possible to fallback to the earspeaker when
BT connection is lost
Added handling of those events
This refactoring removes invalid interface dependencies of the original
AudioDevice implementation:
- move things characteristic to RT1051AudioCodec to audio::codec
- remove dead methods
- make start/stop optional and codec configuration independent
- add more convenient way to get supported formats
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Replace faulty implementation which produced ambiguous results with one
which is suited for both phone calls and music playback requirements,
including A2DP and HSP Bluetooth profiles.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Any notification could be heard via bt audio device while
it's connected to the pure.
If any notification is being played and bt device would disconnect,
playback will be stopped.
Disabled bluetooth low power as it was causing issues with the playback.
JIRA for the low power bug
https://appnroll.atlassian.net/browse/EGD-6681 .