Commit Graph

49 Commits

Author SHA1 Message Date
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
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
Lukasz Skrzypczak
2911b6b4a1 [BH-378] PR changes
PR changes - mainly includes
2021-06-08 12:24:29 +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
Alek Rudnik
93c4675d1d [EGD-6701] System time usage fixes
Fixed all calls to stdlib time.
Removed all redundant calls to Timestamp treated as time source.
2021-05-27 16:54:44 +02:00
Marcin Smoczyński
f6dd452c41 [EGD-6799] Cleanup audio device interface
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>
2021-05-20 19:31:06 +02:00
Marcin Smoczyński
a3e512a89b [EGD-6674] Change negotiation of audio block size
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>
2021-05-05 21:36:00 +02: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
Marcin Smoczyński
f1fc9df152 [EGD-4977] Reduce audio lag during voice call
Reduce audio delay by reducing audio buffer size in router operation.
Audio streams are now created directly in the operations, not in the
audio service, which gives more flexibility.

Audio Buffer size is calculated based on endpoints (source, sink) and
operation capabilities. This commit also enables allocations in a
non-cacheable region of OCRAM for endpoints that use DMA for data
transport.

Introduce power-of-two operations that use built-in functions and
possibly dedicated hardware instructions of an MCU. These operations
are required by the audio stream buffer size calculation algorithm.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-02-01 22:22:12 +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
Hubert Chrzaniuk
7ccc52c04c [EGD-4357] Improve error handling in audio (#990)
- error code can be now returned also during
   initialization
 - fixed crash when user requested to playback
   file that does not exist
2020-11-12 16:15:42 +01:00
Hubert Chrzaniuk
b7e1a04a12 [EGD-4301] Bluetooth Audio profile support (#984)
- implemented audio sink/source switching
 - reorganized / renamed sound events
 - moved SetBluetoothStreamData and AudioDevice instance to base Operation class
 - added audio profiles RecordingBluetoothHSP, RoutingBluetoothHSP
 - removed unused audio Profiles
 - removed redundant OutputPath and InputPath classes from CodecParamsMAX98090
2020-11-09 17:53:28 +01:00
Hubert Chrzaniuk
4c22ef5107 [EGD-4099] BT set stream (#846) 2020-10-20 13:43:53 +02:00
Przemyslaw Brudny
e131dae68f [EGD-3743] Removed old doxygen copyright statements from project. 2020-10-20 12:55:10 +02:00
Radoslaw Wicik
2276ceed67 [EGD-3743] Update copyrights in fies 2020-10-20 12:55:10 +02:00
Hubert Chrzaniuk
78f075712c [EGD-4023] Vibration - get values from DB (#807) 2020-10-15 10:16:58 +02:00
Hubert Chrzaniuk
ebcef7a692 [EGD-4054] Audio API for setting stream parameters (#826) 2020-10-15 09:27:15 +02:00
Jakub Pyszczak
2df98eea48 [EGD-3841] Add audio vibration and enable sound option 2020-10-06 17:06:34 +02:00
Hubert Chrzaniuk
f38960e1b3 [EDG-3870] Fix audio looping (#769) 2020-10-05 16:56:19 +02:00
hubert-chrzaniuk
b327fc36e2 [EGD-3778] Add priorities and sound mux to audio system (#726) 2020-09-28 11:50:13 +02:00
jimmorrisson
7b626ce755 [EGD-3098] Add audio volume control per functionality. 2020-09-20 13:41:19 +02:00
jimmorrisson
63685f9247 [EGD-3097] Add storing and updating audio settings in database. 2020-09-11 12:06:03 +02:00
Szymon Mroczek
217148cf43 [EGD-3099] SwitchProfile and SendEvent APIs converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek
151c804b2e [EGD-3099] Volume and Gain APIs converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek
8d7b2a4eb8 [EGD-3099] Resume API converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek
1aca6706f6 [EGD-3099] Pause API converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek
b2894c596d [EGD-3099] Stop API converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek
eb3fd9c4c6 [EGD-3099] Start API converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Przemyslaw Brudny
c0822b6658 [EDG-3019] Moved log.hpp and debug.hpp into main PurePhone repo 2020-03-24 15:55:32 +01:00
Przemyslaw Brudny
8f92715951 [EDG-3019] Segger utils moved to git submodule 2020-03-23 18:37:37 +01:00
Radoslaw Wicik
a8573a404c Apply new style 2020-03-17 10:03:16 +01:00
Mateusz
9d56b804aa Turned off performance stats 2019-08-05 14:55:02 +02:00
Mateusz
f3af3ae12b Preparations to merge
Added TODOs
Fixed minor bugs
2019-08-05 14:50:30 +02:00
Mateusz
fce0de53ef WiP: routing tests 2019-08-05 08:05:40 +02:00
Mateusz
0df92c22c7 WiP: Fixed error handling in decoder/encoder/Operation layer 2019-08-02 13:55:25 +02:00
Mati
b098ab98fb WiP: fixed linux build 2019-08-02 11:02:11 +02:00
Mateusz
0fced67c65 WiP: optimized ram usage by MP3 decoder 2019-08-01 21:07:48 +02:00
Mateusz
749c14c7c6 WiP: fixed unit tests
Small profile refactor
Fixed bugs
2019-08-01 13:06:57 +02:00
Mateusz
d3a76d8b99 WiP: new BSP layer for I2C, RT1051 driver for audiocodec 2019-07-29 19:49:43 +02:00
Mateusz
933854a704 WiP: added service-audio 2019-07-29 14:39:44 +02:00
Mateusz
43d794910c WiP: Added volume control API 2019-07-29 12:13:25 +02:00
Mati
5970fe7762 WiP: proper support for mono streams inside AudioDevice 2019-07-28 22:50:22 +02:00
Mati
22e9acba3a WiP: fixed profile switching 2019-07-27 15:25:45 +02:00
Mati
f9133ec388 WiP: Removed Pause/Resume APi from bsp::AudioDevice
Volume calculation fix
2019-07-27 12:33:33 +02:00
Mateusz
30678c1ee8 WiP: Implementation of profiles switching logic 2019-07-25 22:53:57 +02:00
Mateusz
de8cf25acd WiP: fixed profile loading 2019-07-25 20:54:45 +02:00
Mateusz
236939c2e7 WiP: refactor, state machine implementation 2019-07-25 15:39:56 +02:00
Mateusz
f4a55d5caf Wip: Operations refactor, template of StateMachine class 2019-07-25 11:11:40 +02:00