Commit Graph

80 Commits

Author SHA1 Message Date
Bartosz Cichocki
12aff015de [EGD-7874] Fix no disconnect after unpair
When user tried to unpair connected device, the device was not
disconnecting. Now it's fixed
2021-11-22 14:04:51 +01:00
Bartosz Cichocki
8581bef2b1 [EGD-7799] Revert enable SSP authorised pairing
This reverts commit 649cacd1c3 as
the SSP was not working properly with all devices
2021-10-26 10:08:43 +02:00
Bartosz Cichocki
649cacd1c3 [EGD-7799] Enable SSP authorised pairing
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
2021-10-15 13:43:57 +02:00
Bartosz Cichocki
33b19759ff [EGD-7440] Fix BT statusbar after BT disconnect
BT statusbar was set by disconnect message, which was not
aware of BT on/off status, thus always after disconnect
the statusbar icon was set to idle/enabled
2021-10-12 12:28:21 +02:00
Bartosz Cichocki
682fb74e0e [EGD-7086] Add BT profile connection info
Added info about connected profile to the devices list
2021-10-06 08:27:34 +02:00
Bartosz Cichocki
c1c392c303 [EGD-7743] Fix crash on BT device name save
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
2021-10-04 18:10:29 +02:00
Bartosz Cichocki
80ea3a74e0 [EGD-7405] Add volume control
Added volume control for HFP
2021-09-24 13:25:07 +02:00
Bartosz Cichocki
7274f691d7 [EGD-7405] Connect HFP with audio system
Connected HFP with audio system so 2-way audio transmission is
possible
2021-09-24 13:25:07 +02:00
Marcin Smoczyński
57874cab33 [BH-912] Improve sys module structure
Improve structure of the module sys. Problems within this module
prevents from linking others.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-24 10:01:19 +02:00
Marcin Smoczyński
bd90e57516 [BH-907] Split utils module into components
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>
2021-09-23 15:14:40 +02:00
Artur Śleszyński
b15006a94c [CP-564] Make desktop endpoints a separate lib
In order to have different sets of endpoints for different products,
we need to separate endpoints from the desktop service.
2021-09-21 10:41:37 +02:00
Piotr Tański
bf3897b649 [EGD-7610] Unnecessary services and apps removed
Removed lwIP, FOTA and clock application.
2021-09-21 08:34:53 +02:00
Bartosz Cichocki
8145a88401 [EGD-7077] Rework of BT connection status in AppSettings
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
2021-09-10 13:19:29 +02:00
Piotr Tański
90e7a48198 [EGD-7362] Merge release/0.76.1 into master
Merge release/0.76.1 into master.
2021-09-02 11:12:59 +02:00
Przemyslaw Brudny
ee2c085e56 [EGD-7130] Renamed settings application
Renamed settings application.
2021-07-09 18:20:12 +02:00
Jakub Pyszczak
6d61aabbec [EGD-6514] HSP volume control
Bluetooth headset profile volume control
introduced. Small refactor on A2DP volume control
done.
2021-06-25 18:05:01 +02:00
Lukasz Skrzypczak
7fee0d9cfb [BH-378] Utils move log to library
Moved log to separate library
2021-06-08 12:24:29 +02:00
Bartosz Cichocki
52d5a35c1b [EGD-6447] Add Bluetooth PIN pairing
Implemented legacy pairing using PIN code
2021-05-25 16:12:01 +02:00
Adam Dobrowolski
b38adceced [EGD-6019] Minimum settings ownership lifetime fixups
added weakptr link to settings and checks
    it wont crash on deinitialized setings now
Pseuto UT are passing
Added:
    - deregistration on Settings destrution
    - weak referencing of Service to not crash Settings on missuse
    - Proxy as initialization parameter to Settings
Unused code removed
Enabled tests to be written for Settings
Removed dependency from freertos in test global file
EntryPath tests updated and compilation slimed
2021-05-18 13:25:54 +02:00
Przemysław Brudny
e71a044bd3 [EGD-6019] Revert of two commits
This reverts commit b6416b15da.
This reverts commit e2f3882d8a.
2021-05-14 09:54:36 +02:00
Adam Dobrowolski
b6416b15da [EGD-6019] Minimum settings ownership lifetime fixups
added weakptr link to settings and checks
    it wont crash on deinitialized setings now
Pseuto UT are passing
Added:
    - deregistration on Settings destrution
    - weak referencing of Service to not crash Settings on missuse
    - Proxy as initialization parameter to Settings
Unused code removed
Enabled tests to be written for Settings
2021-05-13 18:22:44 +02:00
Bartosz Cichocki
a3aa441b0f [EGD-6682] Fix BT name change bug
To update the BT name there is a need to restart the BT stack.
Sending proper command during working stack wasn't working
2021-05-06 14:17:29 +02:00
Pawel Olejniczak
aebc8e7641 [EGD-6626] Fix displaying bluetooth phone name in app settings
Reading bluetooth phone name was not implemented
on service bluetooth side.
2021-04-29 18:35:45 +02:00
Jakub Pyszczak
6be93bef43 [EGD-6166] HSP ringing
Added HSP ring sound on incoming call event while
there's bluetooth connection active and HSP is
selected as the current profile.
Possibility of pick up/decline the call using
BT device buttons added.
Slightly changed HSP initialization according
to the UML-s added.
Changed call hangup handler in service cellular.
2021-04-20 10:29:30 +02:00
Jakub Pyszczak
9c41f6f592 [EGD-6350] Added bluetooth device volume control
Bluetooth device volume control can be set by Pure Phone
while paired and is in A2DP mode. Temporarly disabled
HSP since it's not fully working and causing control issues.
2021-04-07 21:08:11 +02:00
Przemyslaw Brudny
3408fafa8f [EGD-6066] Removed Message default constructor
Forced each message to have declared type as parts of Bus logic
depends on it and previously we encountered undefined
behaviours. Added tests and messages validators.
2021-03-29 22:37:09 +02:00
Marcin Smoczyński
b890bcd6e3 [EGD-5260] Add A2DP playback to audio
Add basic playback capability using Bluetooth A2DP profile.
Only stereo/44100/16bit files are supported at the moment

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-03-25 01:01:35 +01:00
Bartosz Cichocki
7d4452f90c [EGD-6052] Add idle BT device disconnect
After 30 minutes of inactivity (no stream) the device
is disconnected
2021-03-24 12:51:01 +01:00
SP2FET
acc7acf108 [EGD-6168] Lock CPU frequency only while BT is working
Due to fixed BT transmission, the CPU frequency can be lower.
To be more power-friendly, minimal working freq is being set while
working with Bluetooth
2021-03-24 09:44:15 +01:00
Michał Kamoń
46b8914054 [EGD-5945] Bluetooth-harness API messages
This PR:
* provides Bluetooth-Harness API messages definition [EGD-5944]
* provides Bluetooth-Harness API messages implementation
* provides Bluetooth-Harness API usage on harness side [EGD-5946]
* provides Bluetooth-Harness tests [EGD-5947]
2021-03-19 10:27:29 +01:00
Piotr Tański
4de9970108 [EGD-5952] Changed service stack depths acc. to real usage
Stack depth changed for:
- Application Manager
- Service Bluetooth
- Bluetooth Worker
- Service Eink
- Service GUI
- Application Special Input
2021-03-11 11:15:29 +01:00
SP2FET
da27b16dcc [EGD-6100] Add BT device turn off handling
After BT device disconnects (e.g. because of shutdown) Pure is now
aware of this
2021-03-11 10:33:51 +01:00
Pawel Olejniczak
77faaaec7f [EGD-6024] Return to All Devices window after attempt to retry action
Execution of retry pairing/unpairing/connecting took too long
to wait for it on retry popup. Fixed minor bugs.
2021-03-05 09:57:46 +01:00
Wojtek Rzepecki
ef63ee267c [EGD-5304] Add new way of system close
Unified method of closing
the system orchestrated by
system manager
2021-03-04 15:55:55 +01:00
SP2FET
d325f1bd43 [EGD-5984] Add BT implementation of added GUI actions
Implemented BT-side actions for GUI usage, e.g. connection status
2021-03-03 12:42:50 +01:00
SP2FET
b911ad9044 [EGD-5940] Add BT device unpairing
Implemented possibility to forget/unpair a device via GUI
2021-03-03 08:40:59 +01:00
SP2FET
6fcf2ee8e7 [EGD-5982] Fix no window refresh after pairing
Fixes no refresh after finished scan
2021-03-02 11:03:17 +01:00
Pawel Olejniczak
c51411c876 [EGD-5861] Complete bluetooth connecting process on settings side
Enable connecting BT devices in settings.
Connect popup and add adjust messages for connection error handling.
2021-02-26 09:51:48 +01:00
SP2FET
2b1ce1aa0e [EGD-5879] Fix BT uart error
To be able to properly send data via UART, the frequency has to
be higher (to be fixed in the future)
2021-02-25 14:14:17 +01:00
SP2FET
f9b80ac26c [EGD-5764] Implement handling multiple BT profiles
To be able to connect to the BT device with more than one audio
profile, we need something to manage those profiles. Created here
ProfileManager made it convenient
To be able to work properly with BT, CPU freq has to be at least
at Level_5 - to be fixed!
2021-02-25 14:03:44 +01:00
SP2FET
1929a38252 [EGD-5848] Fix bluetooth pairing key import
After BT refactor settings init for key storage has been moved,
thus in the initial phase settings were unavailable and btstack
couldn't import keys from storage
2021-02-23 09:18:24 +01:00
SP2FET
5c7b518136 [EGD-5700] Fix Bluetooth pairing
To be able to proper propagate the pair message there was a need
for Command wrapper (to be able to send command and parameter in
one piece)
2021-02-21 14:17:29 +01:00
SP2FET
619ad219d2 [EGD-4394] Add BT device name change
Added handling of BT device name changing
2021-02-16 12:38:16 +01:00
SP2FET
a30887bb40 [EGD-5666] Add BT off function
Turning BT off was impossible thus there was the need of fixing it
Updated harness test
2021-02-11 12:01:58 +01:00
SP2FET
fa24dcc829 [EGD-5483] Updated BT harness tests
Added harness test for BT scan in order to be able
to test regression
2021-02-11 11:48:07 +01:00
Piotr Tański
65119cb495 [EGD-5027] Services synchronization introduced
Dependencies between services are now supported.
2021-02-10 12:37:42 +01:00
Piotr Tański
bc4d32c7d8 [EGD-5158] Change access to the bus methods
The bus is now accessible only via Service object.
2021-02-08 16:56:42 +01:00
Piotr Tański
1db3f19205 [EGD-5472] Bluetooth worker state machine
State machine POC implemented using SML library.
2021-02-03 12:48:07 +01:00
SP2FET
0fad723135 [EGD-5457] Add harness test for bluetooth on/off
There is no functional tests related to the Bluetooth. As the
refactor is on the way,we need to have a tool to check if it works
By the way fixed worker deinit
2021-01-28 17:14:59 +01:00
SP2FET
6befeb5073 [EGD-5316] Add Bluetooth run loop integration into worker
To be able to handle properly the Bluetooth stack we need to
get rid of doubled FreeRTOS task and do refactor of
the whole BT section. This is first part of refactor and it
includes integrating run loop into our worker and unifying
namespaces
2021-01-28 12:36:43 +01:00