~aleteoryx/muditaos

ref: e39871f8a9434caa9679569aeefb481348f3af57 muditaos/module-bsp/board d---------
3934e718 — Lefucjusz 2 years ago
[MOS-000] Remove redundant newlines when printing clocks

As described.
9279e9ac — Dawid Wojtas 3 years ago
[BH-1628] Reinit I2C after bus error

A lack of timeout in I2C could cause
the worker could get stuck in a loop
if the communication has been broken somehow.
The Harmony is unresponsive in this case.
The only solution is just to perform a hardware
reset using Frontlight and Back buttons simultaneously.

There are also additional 5 attempts to read and write
transactions if the bus error occurs in the Fuel Gauge driver.
It should be sufficient but if it would still persists
the system just will read 0% SOC and shutdown system.
5098d060 — Dawid Wojtas 3 years ago
[BH-1627] Enable brownout detection

There is the possibility of hanging
the MCU due to a power glitch
if the voltage drops to 2.8V
and the system wants to use some
peripherals like the eink or the backlight.

To prevent this situation brownout
detection has been enabled
which monitors the 1.1V and 2.5V
LDO regulators. If the voltage
will drop to the trigger voltages
then the interrupt is invoked.
The interrupt checks the source
of the interrupt and then reset
the MCU using WDOG_B pin
which is connected to the main power source.

After restarting, the MCU checks
the voltage. If it is too low
the system enters SNVS mode.
c3ccf0fb — Dawid Wojtas 3 years ago
[BH-1554] Add delay after init external oscillator

Some Harmony devices are struggling to switch between
internal to external oscillators.
According to the newest version of the library
(lpm.c - Low Power Mode) the NXP is recommending
adding at least a 200us delay after
enabling the external oscillator.

Their implementation is not full because
the CPU speed used in the delay function is hardcoded.
So if the CPU has a frequency 4MHz the delay takes ~26ms.

To avoid that situation we use
the proper speed of the CPU in the delay function.
e1a73af2 — Lefucjusz 2 years ago
[MOS-176] Fix long turn off time

Fix of the issue that resulted in long
turn off time of the phone, which was
caused by unfortunate coincidence
of functions names - as a result the
one from the included header file was
called instead of the one from the
anonymous namespace inside the file,
what resulted on not cutting off
board power until the watchdog
triggered.
9ece62c1 — Lefucjusz 3 years ago
[MOS-903] Remove reboot to USB MSC mode

Remove mechanics enabling to perform reboot
to MSC mode by sending request to one of the
endpoints via serial port, as it is not
implemented in bootloader and may potentially
be unsafe.
c0577999 — Lefucjusz 3 years ago
[MOS-887] Fix black screen left after power off

Fix of the issue that after powering off
the phone with dark mode enabled the
screen remained black instead of being
cleared to white.
d28fdb65 — Lefucjusz 3 years ago
[MOS-882] Fix FLAC file playback with USB cable connected

Fix of the issue that caused system crash when
trying to play 96kHz FLAC file with USB cable
connected. The reason of the issue was the lack
of FreeRTOS heap space left, what caused
pvPortMalloc() to fail when allocating
memory for stream buffer.

Additionally minor code cleanup.
09bab001 — Mateusz Piesta 3 years ago
[MOS-807] Update scripts

Added update scripts for both variants:
UDM update and further 'normal' updates.

Minor updates to the directories layout
eeafb5f1 — Lefucjusz 3 years ago
[MOS-783] Moved battery config file to '/user/data'

Moved battery config file from root
directory of user partition to
'data' directory to comply with
new directory layout design.
fef2ad61 — Bartosz 3 years ago
[MOS-786] A/B Booting - fixed factory reset from menu

Now factory reset works both from ecoboot and from menu
afd7e7bc — Lefucjusz 3 years ago
[MOS-783] Working Pure simulator after partition changes

Fixed iosyscalls so that Pure simulator
works after directory structure changes.
01857dd1 — Bartosz 3 years ago
[MOS-786] Added support for A/B boot codes in OS

Further implementation of A/B booting
178fba16 — Lefucjusz 3 years ago
[MOS-783] First part of new dir structure implementation

    Works:
    - generating .img for Pure;
    - Pure boots after flashing new image and
    seems to be working fine;

    Not yet:
    - generating update package;
    - generating image for Harmony;
    - simulator;
    - path-related unit tests fail
    due to paths being hardcoded
    in test scenarios.
0867d172 — Pawel Olejniczak 3 years ago
[CP-1424] Refactor backup and restore endpoints

Redesign of backup and restore endpoints in the
service-desktop to delegate responsibility for
execution of the actual backup and restore process
onto the Updater.
25096a1e — Bartosz Szostak 3 years ago
[MOS-820] Fix crashes caused by plugging the charger

The deleting of the USBLinuxReceive task has been added
in the USB stack de-initialization process to avoid creating
multiple instances during next initializations.
f4aaf4e3 — Maciej-Mudita 3 years ago
[MOS-775] Create run-time statistics for tasks

Every hour, statistics of tasks that put a heavy load
on the CPU will be logged
49bbaf51 — Adam Wulkiewicz 3 years ago
[MOS-550] Improve refresh of the display

1. Implement partial refresh.
2. Implement refresh canceling mechanism.
3. Refactor some parts of the gui and display code.

ad 1.
- Detect parts of the screen changed since last update and merge them
  into bigger regions. These regions defines parts of the context sent
  to the display.
- Refresh the region covering all of the parts since this is the most
  time consuming part and the size of the refreshed region doesn't
  change the time much.
- Refresh the whole screen if deep refresh is requested and previously
  fast refresh was used. This is needed to prevent unwanted artifacts
  in some cases.

ad 2.
- Separate display update and refresh logic.
- Divide image display message handling into two handlers, one updating
  and other one refreshing the screen.
- Add cancel refresh message and use it to cancel refresh during update.
- Store sum of refresh regions gathered during updates to refresh them
  all at once at the end.
f7771013 — Adam Wulkiewicz 3 years ago
[MOS-550] Revert - Implement eink partial refresh

This reverts commit 41d6e786b6264925caac34650d512e30b8848f8d.
41d6e786 — Adam Wulkiewicz 3 years ago
[MOS-550] Implement eink partial refresh

Detect parts of the screen changed since last update and merge them into
bigger regions. These regions defines parts of the context sent to the
display.
Refresh the region covering all of the parts since this is the most time
consuming part and the size of the refreshed region doesn't change the
time much.
Refresh the whole screen if deep refresh is requested and previously
fast refresh was used. This is needed to prevent unwanted artifacts in
some cases.

Refactor some parts of the gui and display code.
Next