Commit Graph

42 Commits

Author SHA1 Message Date
Borys Jelenski
d9ae779a37 [EGD-5503] Add watchdog implementation
The system watchdog monitors whether there is message traffic
on the Bus. If no message was sent for an extended period of time,
a reset will occur. It should also protect against system-wide hangs.

On Linux, watchdog is simulated by a FreeRTOS task that will call exit
on timeout.
2021-02-19 11:32:12 +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
wojtekrzepecki
4aef4d8166 [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>
2020-12-04 15:21:45 +01:00
wojtekrzepecki
be057d28d4 [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>
2020-12-02 16:29:03 +01:00
wojtekrzepecki
7e568d3c95 [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>
2020-11-30 09:25:11 +01:00
Bartosz Cichocki
d5baec3837 [EGD-4211] moved test harness into service-desktop (#945)
Co-authored-by: SP2FET <bartosz.cichocki@mudita.com>
2020-11-05 13:37:34 +01:00
Bartosz Cichocki
061479780b [EGD-4011] added BT audio device with A2DP playback (#870)
Co-authored-by: SP2FET <bartosz.cichocki@mudita.com>
2020-10-22 09:59:13 +02:00
Bartek Cichocki
6d22e00544 [EGD-3637] restoration of Bluetooth stack
[EGD-3637] Bluetooth hangup fix
2020-09-22 09:52:15 +02:00
Szymon Mroczek
a180eaa14f [EGD-3427] Headset module added 2020-08-07 11:32:05 +02:00
Mateusz Grzywacz
e87c54409a [EGD-3449] torch skeleton - renames and static 2020-08-04 12:24:59 +02:00
Roman Kubiak
1925bb2ac6 removed all bluetooth code 2020-07-24 12:21:07 +02:00
Adam Dobrowolski
bebcffc95b Fix cd: removed weaks 2020-05-11 14:53:08 +02:00
Kuba Kleczkowski
6ebae24abd [EGD-2911-modem-init-rework] modem init fixes (cold start) & missing Linux files/implementation 2020-05-11 14:04:31 +02:00
Mateusz Grzywacz
6c9ebb83c3 [EGD-2961] vibrator CMake target fix 2020-03-24 15:16:24 +01:00
pawel-mudita
d1665ed3ba [EGD-2855][EGD-2856] Parser for desktop app (#188)
* [EGD-2306] DESKTOP application initial commit

most of this code is foreign and unverified
it's low level magic numbers for the platform

on Linux i used PTY to simulate a serial line

* [EGD-2306] Add contact-list and contact-count commands

* [EGD-2306] Add command for geting contact by id and minor fixes

* [EGD-2856][WIP] Add basic serial parser

* [EGD-2855] Set usb device config buffer property cacheable

* [EGD-2856] Separate handlers from fsms, add status codes

* [EGD-2855] fd passed to state machine for linux renderer support

* [EGD-2856] Fix warnings

* [EGD-2855] New send task added and buffer queque

* [EGD-2856] Add simple ServiceDesktop documentation

* [EGD-2855] rt1051 worker refactor

* [EGD-2855] Added service workers for desktop app.
Changed linux USB driver mock up.
Added queue name mapping for service workers.
Added queue registry support (maybe redundant with mapping)

* [EGD-2855] Added proper message pointer to queue send and memory free
Added bsp driver namespace for linux and rt1051

* [EGD-2856] Major cleanup

* [EGD-2856] Fix typo

* [EGD-2856] Fix warnings

* [EGD-2856] Delete recursive fsm calling to prevent stack overflow

* [EGD-2856] Reduce http codes

* [EGD-2856] Rename serial parser to parser

* [EGD-2855] USB_CDC drives renames and cleanups
Service Worker queue cleanups

* [EGD-2855] Service Worker queue cleanups

* [EGD2855] Fixed external driver import

* [EGD-2856] Remove redundant message type

* [EGD-2856] Switch on enums instead of ints, and other minor changes requested after code review

* [EGD-2855] usb driver moved to bsp directory structure, pull request fixes

* [EGD-2855] clang #include fix

* [EGD-2856] Add tinyfsm as git submodule, update readme and minor fix

Co-authored-by: rkubiak01 <56821808+rkubiak01@users.noreply.github.com>
Co-authored-by: PrzeBrudny <60609703+PrzeBrudny@users.noreply.github.com>
2020-02-27 15:34:42 +01:00
Adam Dobrowolski
3abbe29556 [EGD-2508] Added linux test harness stub 2020-01-22 08:26:20 +01:00
Adam Dobrowolski
8c2622b2c2 Bluetooth compiles and starts on Purephone and Linux fine 2019-10-14 15:32:06 +02:00
pholat
eaa79e3032 Bluetooth: Added BlueKitchen & split build depending on bluetooth library
Compiles for both Linux and Cross
2019-10-14 15:32:06 +02:00
pholat
11cdbf1c9c Bluetooth Bluetopia interface added
Compiles, starts service and initializes Bluetopia in A2DP mode
2019-10-14 15:32:06 +02:00
Mateusz
383d40fc52 Fix: Linux build 2019-09-09 07:55:31 +02:00
Robert Borzecki
8e6d13a1e2 Added add new contact window. 2019-09-08 10:19:33 +02:00
Mateusz
dd4474f3c3 WiP: Massive refactor in module-bsp, cleaned up include paths and compilation warnings/errors 2019-08-08 10:27:45 +02:00
Robert Borzecki
040fbac8fd Merge branch 'master' of github.com:muditacom/PurePhone into application-starting 2019-08-05 18:06:12 +02:00
Mateusz
fce0de53ef WiP: routing tests 2019-08-05 08:05:40 +02:00
Robert Borzecki
e0e6d9e3c6 Merge branch 'master' of github.com:muditacom/PurePhone into application-starting 2019-08-05 06:43:03 +02:00
Mateusz
13da92cb71 Wip: added audio bsp
Fixed CMake include paths in bsp module
2019-07-22 11:20:42 +02:00
Robert Borzecki
79d3e6aca8 Added power manager implementation for linux. 2019-07-17 08:49:59 +02:00
Kuba
05e66ab736 Merge branch 'master' of github.com:muditacom/PurePhone into module-bsp-battery 2019-07-10 15:45:13 +02:00
Mateusz
ebc2fb367b WiP: Created CellularService template 2019-07-03 15:36:13 +02:00
Mateusz
36d2e45e6b Merge remote-tracking branch 'origin/master' into module-cell 2019-07-03 14:35:37 +02:00
Kuba
3d32956e05 Skeleton for battery charger driver for Linux. 2019-07-01 14:24:16 +02:00
Kuba
8e9238ca58 Testing RTC functions. Added linux RTC driver skeleton. 2019-06-26 15:54:52 +02:00
Kuba
bc3204fa1c Linux and target keyboard driver refactor. Deleted keyboard class. 2019-06-14 15:58:38 +02:00
Mati
fef0aa9977 Added module-cellular template
Added BSP_Cellular layer
Added Linux Cellular driver
Added the very first test
2019-06-14 15:15:27 +02:00
Mati
243ca37549 Fixed compilation errors 2019-06-11 14:03:39 +02:00
Mati
61ac4f477a Fixed cross-compilation warnings 2019-06-11 12:28:02 +02:00
Kuba
3aaca350dd Merge branch 'master' of github.com:muditacom/PurePhone into module-bsp-lin-keyboard 2019-06-04 08:48:46 +02:00
Mati
2782c6b3ea Added i18 module 2019-06-03 09:09:22 +02:00
Robert Borzecki
eeef91b47f Displaying test image on eink. 2019-05-30 12:27:13 +02:00
Kuba
614477869a Basic implementation of keyboard worker. 2019-05-28 08:20:34 +02:00
Robert Borzecki
d3235d54d7 Removed submodule 2019-05-21 23:35:00 +02:00