Commit Graph

102 Commits

Author SHA1 Message Date
Wojtek Rzepecki
a03817ab96 [EGD-7766] Vibration level PWM addition
PWM channels separate control added.
2021-10-20 14:06:39 +03:00
Przemyslaw Brudny
d768eb3665 [EGD-7766] Vibration level PWM addition
Added base PWM settings to vibrations. Added vibration
volume setting.
2021-10-20 14:06:39 +03:00
Przemyslaw Brudny
289316b32d [EGD-7730] Alarm audio calls fixes
Added system sound setting. Refactored Alarm sound settings.
Fixed linux audio device initial volume level. Fixed Alarm
vibrations.
2021-10-06 19:36:02 +03:00
Bartosz Cichocki
80ea3a74e0 [EGD-7405] Add volume control
Added volume control for HFP
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
Bartosz Cichocki
e8dd8aacbe [EGD-7404] Adapt & prepare CVSD codec for usage in HFP
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
2021-09-23 10:08:30 +02:00
Marcin Smoczyński
958ce4906c [BH-897] Split module-sys
Split system module to better manage dependencies between system
components.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-21 16:11:59 +02:00
Mateusz Piesta
58b8297b99 [BH-660] Alarm tone playback
Implemented tone playback handler.
Added product specific databases.
Fixed minor issues with CMake.
Minor refactor of alarm handlers.
2021-09-07 08:24:22 +02:00
Jakub Pyszczak
200c9b949d [EGD-7432] Tags fetcher
Added tags fetcher as universal audio utility
which can be used without bus overhead
2021-09-03 16:35:59 +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
Alek Rudnik
cf019e3d96 [EGD-6776] Music Player All Songs Window
Full MVP design.
Removed redundant Empty Window.
Added play/pause/resume/stop control.
2021-07-30 10:36:30 +02:00
Jakub Pyszczak
d31e1c2c43 [EGD-7219] Notifications from service audio
Notifications from service audio reworked.
Information about stop/pause state is distributed
to the system. Unnecessary logic removed.
2021-07-29 09:57:22 +02:00
Jakub Pyszczak
689bd3069d [EGD-7206] Fix audio profiles priorities
Audio profiles priorities should be set as stated below:
1. Jack
2. Bluetooth
3. Earspeaker.
Added UT's to cover those requirements.
2021-07-28 13:49:04 +02:00
Jakub Pyszczak
214451ccf1 [EGD-7083] Fixed earspeaker bt HSP
Routing and ringtone are now hearable via earspeaker/jack
while pure is connected to the device that doesn't support HSP.
2021-07-23 13:03:50 +02:00
DariuszSabala
1f0d51d109 [BH-671] Fixed CMake in service-audio
Made service-audio CMake comply to Mudita internal guide
2021-07-22 11:12:42 +02:00
Pawel.Paprocki
3c5649df95 [EGD-6624] Audio support for linux simulator
When using simulator user should hear audio output to test apps like
Music Player.

Co-authored-by: Tomasz Krosnowski <tomasz.krosnowski@mudita.com>
Co-authored-by: Piotr Tański <piotr.tanski@mudita.com>
Co-authored-by: Marcin Smoczyński <marcin.smoczynski@mudita.com>
Tested-by: Marcin Smoczyński <marcin.smoczynski@mudita.com>
2021-07-20 15:42:32 +02:00
Jakub Pyszczak
01e44a7c13 [EGD-5659] Cpu frequency for audio
Set CPU frequency level to the highest for audio tasks.
2021-07-13 12:38:23 +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
Alek Rudnik
a63976dcb9 [EGD-5011] Set headphones maximal sound level
In order to pass certification IEC 62368-1, set maximal headphones sound
level accordinly to measurements done by certification laboratory.
2021-06-16 09:39:35 +02:00
Marcin Smoczyński
ef3f840a4d [EGD-6049] Add voice call over HSP
Add support for voice calls over HSP.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-05-28 15:38:56 +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
Jakub Pyszczak
afa71c7e53 [EGD-6051] Receiving notifications on bt
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 .
2021-05-05 16:11:13 +02:00
Lucjan Bryndza
4a19cc3bfb [EGD-6579] Fix audio crash after playback
Fix phone crash after playback ringtone in new alarm window

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-04-27 13:54:59 +02:00
Jakub Pyszczak
49c132c622 [EGD-6513] Volume control feedback
Added volume control feedback during music playback over Bluetooth.
Changed volume buttons handler logic in service audio to use actions
instead of messages.
2021-04-22 15:30:02 +02:00
Tomasz Krosnowski
64b4849d20 [EGD-6452] Sound selection GUI
Sound selection GUI used to change ringtone, message sound and
notification sound in settings.
2021-04-21 18:00:58 +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
0d2a647fab [EGD-6573] Fix default audio paths
Default audio paths updated to the newest ones.
2021-04-19 13:53:32 +02:00
Alek Rudnik
fd935f4179 [EGD-6093] Audio settings API
Refactored Audio settings API.
Moved phone modes logic from serivce audio to service clients level.
Removed redundant API.
Seprated API for vibration and sound enable/disable.
Fixed issues with vibrations logic.
2021-04-16 14:50:38 +02:00
Piotr Tański
81adfe41ab [EGD-6347] Refactored phone modes handling in applications
PhoneModeObserver doesn't work properly in applications.
Applications have to handle the phone mode changes via AppMgr.
Phone mode and tethering handlers separated.
2021-04-12 14:54:55 +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
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
Jakub Pyszczak
863d805d24 [EGD-6304] Popup overall fixes
Removed duplicated mode observer from application
that was introduced during the rebase in this commit
1860bf210f.
Fixed mute logic according to the design.
Fixed switching back to the meditation window.
2021-03-24 23:41:30 +01:00
Marcin Smoczyński
cf75cfc012 [EGD-5973] Reduce audio stack usage
Verify stack usage of:
 - ServiceAudio
 - application music player
 - decoder worker
Change if possible to a realistic value keeping a 30% margin.
Stack usage reduction is limited due to an extensive stack usage of
every call to the filesystem, which uses around 2 kB of stack.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-03-19 09:55:06 +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
Hubert Chrzaniuk
686d5395c7 [EGD-5880] Change mode related volume logic
Volume logic has been changed to make the
values independent from selected mode.
2021-03-02 21:28:03 +01:00
Hubert Chrzaniuk
bb76fe4080 [EGD-5713] Change volume hardware buttons behaviour
The volume button policy has been redesigned to be less
ambiguous for the user.
2021-03-01 13:54:39 +01:00
Hubert Chrzaniuk
4490d0da7f [EGD-5714] Add phone mode handling for Audio Service
Added separate set of settings for all phone modes along
with basic support for phone mode change.
2021-02-24 13:00:43 +01:00
Hubert Chrzaniuk
e29bd7fb88 [EGD-5717] Add vibration API calls in audio service
Vibration API is utilized to enable physical feedback
for the phone user.
2021-02-23 11:23:03 +01:00
Hubert Chrzaniuk
18f9227fce [EGD-5716] Change sound priorities
Sound API has been extended with new playback types.
2021-02-19 12:37:45 +01:00
Marcin Smoczyński
bda18b5b54 [EGD-5706] Refactor creating audio device
Audio devices are created in the audio subsystem and it is not possible
to send a device to bt service upon creation.

Introduce hookable audio device factory to allow sharing bluetooth
audio device. Move audio devices from bsp to audio allowing removal of
unwanted bsp -> audio dependency.

Remove Bluetooth proxy device which turned out to be a dead end.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-02-17 16:20:59 +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
Lukasz Skrzypczak
e4462dce33 [EGD-5298] Microphone Adjust
Changed parameters for mic GSM path to get clear voice
2021-02-02 18:31:03 +01:00
Hubert Chrzaniuk
f75c6add56 [EGD-5034] Change gain values to reduce echo during call
Default values of the gain for the build-in and headphones
microphone has been changed. Previously set excessive values
caused echo during call.

Signed-off-by: Lukasz Skrzypczak <lukasz.skrzypczak@mudita.com>
2021-01-14 16:54:58 +01:00
Przemyslaw Brudny
e7b9bcf7e9 [EGD-5133] Fix settings bus add duplications
Changed Bus Channels vector to set to prevent
duplicates and cleaned logging.
2021-01-08 17:33:00 +01:00
Hubert Chrzaniuk
bb6989c2a8 [EGD-4978] Add Bluetooth virtual audio device
Bluetooth audio device requires different handling than other
audio devices. The commit adds proxy device that does not
handle requests itself but instead sends requests too Bluetooth
service.
2020-12-21 13:46:40 +01:00
Hubert Chrzaniuk
6b36d35507 [EGD-5009] Change messy callback logic in audio module
Refactor audio module to use only one callback for communication
with audio service. This also simplifies the logic and removes
necessity to define defaults for audio values in multiple places.
2020-12-18 14:52:57 +01:00
RobertPiet
54bb1d4a7f [EGD-4343] use new settings in ServiceAudio (#997)
* [EGD-4343] ServiceAudio moved to new settings
2020-12-04 14:10:44 +01:00