[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.
[EGD-4952] Moved battery level check to separate module
[EGD-4952] Added battery check at init and if crit level changed
[EGD-4952] Added critical level check + messages
[EGD-4534] Change audio data path synchronization
Refactor audio data path to fix several synchronization issues and
excessive copy operations on large memory blocks. Introduce
audio::Stream data structure to allow connecting audio source and sink
with a zero-copy capability.
Introduce system mechanisms:
- critical section guard lock needed for stream synchronization
- non-cacheable memory allocator to allocate memory for DMA safe
buffers
Update the Googletest CMake template to match the capabilities of the
Catch2 template.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@mudita.com>
Merge branch 'master' into stable
[EGD 4654] spike light sensor to display (#1158)
* [EGD-4654] Light control first working
* [EGD-4654] Extended interface with custom brightness function
* [EGD-4654] Extended set of actions
* [EGD-4654] Fixed timer issue + cleanup
* [EGD-4654] Improving switch-case logic
* [EGD-4654] Moved keypad light control to previous state
* [EGD-4654] Refactor in screen light message
* [EGD-4654] Documentation work
* [EGD-4654] Extension of docu
* [EGD-4654] Typo fixing
* [EGD-4654] More improvements in doc
* [EGD-4654] Doxy generation fixes
* [EGD-4654] Pre pr cleanup
* [EGD-4654] PR comments pt 1
* [EGD-4654] Docu small change
* [EGD-4654] Doc updated with pumls
* [EGD-4654] added newlines at the end
Co-authored-by: Wojtek Rzepecki <wojtek.rzepecki@mudita.com>
Merge branch 'master' into stable
[EGD-4582] Bluetooth over DMA (#1115)
[EGD-4582] Bluetooth UART: replace polling with DMA
[EGD-4653] BSP: amblient light sensor (#1135)
* [EGD-4653] Added first working readout
* [EGD-4653] Light sensor first working irq
* [EGD-4653] Interrupt config
* [EGD-4653] Cleanup
* [EGD-4653] Linux target file added
* [EGD-4653] Added messages with readout + fix of keypad light message
* [EGD-4653] Proper lux calculation
* [EGD-4653] Branch fix
* [EGD-4653] Pre PR cleanup
* [EGD-4653] Clang tidy hints application
* [EGD-4653] PR comments pt1
* [EGD-4653] Style branch fix
* [EGD-4653] Pr comments pt2
Co-authored-by: Wojtek Rzepecki <wojtek.rzepecki@mudita.com>
Merge branch 'master' into stable
[EGD-4472] PowerManagement: Separation of CPU clock into separate clock domain (#1125)
Change CPU clock into separate clock domain
We can control the CPU frequency independently of the peripherals.
[EGD 4449] display backlight (#1120)
* [EGD-4449] Added fsl drivers for pwm
* [EGD-4449] Added sketch of cpp wrapper for PWM driver
* [EGD-4449] First configuration of pwm
* [EGD-4449] Pin Mux config added
* [EGD-4449] Finalized basic configuration
* [EGD-4449] Added layer of eink frontlight control
* [EGD-4449] Added to worker event
* [EGD-4449] Added getter for brightness level
* [EGD-4449] Added mutex and clamp
* [EGD-4449] First working PWM driver configuration
* [EGD-4449] More minimalistic interface
* [EGD-4449] Cleaning and refactoring
* [EGD-4449] Connected to message system
* [EGD-4449] Added gamma correction
* [EGD-4449] PWM Start/Stop logic configuration
* [EGD-4449] Linux target file added
* [EGD-4449] Minor refactorings
* [EGD-4449] Branch style fix
* [EGD-4449] PR comments pt 1
* [EGD-4449] PR comments pt 2
* [EGD-4449] branch style fix
* [EGD-4449] PR pt3 - messages change
* [EGD-4449] Minor change
* [EGD-4449] BrightnessLevel type added
* [EGD-4449] Moved processing to EventManager
* [EGD-4449] 1-5 levels to percentage
* [EGD-4449] Fix style
Co-authored-by: Wojtek Rzepecki <wojtek.rzepecki@mudita.com>
[EGD-4557] implement usb-deinit (#1101)
Added usb deinit calls for rt1051 and linux
[EGD-4175] keyboard backlight (#1082)
* [EGD-4483] fix for put_64 in libmtp
* [EGD-4175] Added cpp to cmake script
* [EGD-4175] Rename to keypad_backlight and first test
* [EGD-4175] First working setup
* [EGD-4175] Remaking the interface
* [EGD-4175] Added class to event manager
* [EGD-4175] Cleaning
* [EGD-4175] Added linux target file
* [EGD-4175] Added missing deinit
* [EGD-4175] cleanup
* [EGD-4175] Added check state function
* [EGD-4175] Simpler interface
* [EGD-4175] Linux target file adjustment
* [EGD-4175] Cleanup ..
* [EGD-4175] Style check fail repair
* [EGD-4175] Another style check fix
* [EGD-4175] Applying style branch fix
* [EGD-4175] Red<->Green exchange
* [EGD-4175] PR comments pt1
* [EGD-4175] PR comments pt2
* [EGD-4175] PR comments pt3
* [EGD-4175] Another style check fix
* [EGD-4175] next PR comments
* [EGD-4175] New cpp file for evm, namespaces fix
* [EGD-4175] Last pr cleaning
* [EGD-4175] Yet another style check fix...
* [EGD-4175] Final fixes from pr
Co-authored-by: Roman Kubiak <roman.kubiak@mudita.com>
Co-authored-by: Wojtek Rzepecki <wojtek.rzepecki@mudita.com>
[EGD-4318] enable service desktop (#973)
* [EGD-3688] Relax retries count for send
enable ServiceDesktop
* [EGD-3688] Relax retries count for send
enable ServiceDesktop
* [EGD-4318] enable service desktop and USB communication
CDC for serial port (communication with Mudita Center)
MTP for file transfer
* [EGD-4318] include path fix
* [egd-4318] constexpr brought back
* [EGD-4318]: review changes
- all BSP specific code moved to bsp files
- added a device listener class for USB
- simplified WorkerDesktop
* [EGD-4318] more reivew fixes mostly include paths and enums
* [EGD-4319] review fixes for SP2FET
* [EGD-4318] updates for large messages sent from phone
* [EGD-4318] more review fixes
- error checks on linux (ptms open and ptsname)
- removed all vfs
- service-desktop won't start if worker init fails
* [EGD-4318] updated return values for usbInit
* Update module-services/service-desktop/WorkerDesktop.cpp
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
* Update module-services/service-desktop/endpoints/update/UpdateMuditaOS.hpp
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
* [EGD-4318] review fixes
- removed #define
- return values for usbInit
* Update module-bsp/board/linux/usb_cdc/usb_cdc.cpp
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
* [EGD-4318] updated taglib
* [EGD-4318] style fixes
* Update module-bsp/board/linux/usb_cdc/usb_cdc.cpp
Co-authored-by: Alek Rudnik <54846206+alekrudnik@users.noreply.github.com>
* [EGD-4318] switches from freertos Timer class to sys::Timer
* Update module-services/service-desktop/WorkerDesktop.cpp
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
* Update module-services/service-desktop/WorkerDesktop.cpp
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
* [EGD-4318] added mutex/lock during raw data transfers
* [EGD-4318] if the TAR file is zero size or invalid
mtar_close causes HF. This is a workaround
* [EGD-4318] timer should not start on constructor
* [EGD-4318] getRawMode is const noecept
Co-authored-by: unknown <atom@prostate.local>
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
Co-authored-by: Alek Rudnik <54846206+alekrudnik@users.noreply.github.com>
[EGD-3510] audio codec configuration for headset microphone (#1004)
[EGD-3510] Audio stereo outputs fixed. Microphone bias handling for headset. Headset microphone gain adjusted.
[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