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
Images generated using PlantUML had transparent backgrounds which made
their text difficult to read on GitHub when using "Dark Mode". Forcing
a background color of #F0F0F0 ensures they are all readable.
Remove obsolete target dependencies across modules.
Remove 'cross' and 'unittests' targets.
Refactor some remaining target dependencies to use board include macro.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
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