[BH-1583] Fix SNVS LP lockup after debugging * Fix of the issue that manifested after running MuditaOS on Harmony via JLink, which resulted in OS freezing when trying to set time in normally booted (via the bootloader) device. * Minor RTC code cleanup. * Partial T6 JLink script cleanup.
[BH-1689] Turn off charging for CDP and SPD Due to high current consumption the device will be charging only for DCP mode and if the timeout will occur.
[BH-1595] USB charger detection issues * Fixed issues with USB charging port detection * Fixed memory leak in usb_stack/OS integration layer * Fixed incorrect handling of software timer * Minor cleaning/refactor. [BH-1595] Turned off USB/PC charging Charging enabled only for a dedicated charger. Users won't be able to charger while connected to the PC.
[MOS-981] Fix crash on phone turn off Fix of the issue that the phone might sometimes crash on shutdown.
[MOS-981] Magnetometer driver cleanup Cleanup of the magnetometer driver. Added checks of all I2C operations return codes and error messages in case of failures.
[BH-1671] Reinit eMMC driver Reinit eMMC driver if write/read transmission failed.
[BH-1661] E-ink display power management tweaks Tweaks and changes required to optimize power consumption for Harmony.
[BH-1672] Add logging of eMMC parameters Added logging of eMMC storage card parameters so that it's easy to determine what chip is installed in the device the logs are from.
[BH-1655] Fix memory leaks in clock faces and shortcuts Disable libphonenumber initialization since it is not used in Harmony but takes around 1.4MB of memory Add heap allocation statistics
[BH-1649] Reimplement I2C communication attempts The CW2015 driver should avoid any logic. Thus I2C communication attempts were moved to the BatteryCharger which is product specific.
[MOS-000] Remove redundant newlines when printing clocks As described.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[MOS-807] Update scripts Added update scripts for both variants: UDM update and further 'normal' updates. Minor updates to the directories layout
[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.