[BH-1708] Fix buttons behavior When the button is pressed/released we get an interrupt which falls or rises edge. We read the gpio state a bit later so in case of debouncing we can register the wrong pin state. After the debounce interval the state is stable.
[MOS-230] Print last instruction address before RTWDOG reset Added mechanism that stores address of last executed instruction before RTWDOG timeout to enable some basic debugging in such cases, as such resets do not create crashdumps and leave no information in logs.
[BH-1702] Fix RTWDOG main DCDC reset Fix of the issue that RTWDOG performed only CPU reset in case of timeout due to IRQ misconfiguration resulting in RTWDOG handler not being called.
[BH-1673] Harmony random resets fixes * Switching VDD_SOC_IN only after PLL2 is turned off. * Weak LDO stabilization delay. * Removed switching to 1.275V before frequency change. * Cleanups in LDO switching. * Removed switching PeriphClk2Div for fCPU <= 24MHz, using AhbDiv instead. * Removed log from _exit that caused logger mutex deadlock
[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.
[BH-1661] E-ink display power management tweaks Tweaks and changes required to optimize power consumption for Harmony.
[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-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.
[MOS-670] Change clang-format AlwaysBreakTemplateDeclarations to Yes Add --all and --fix-all options to style-check-hook
[MOS-648] Fix USB connection/disconnection detection If there were errors while charging the battery, e.g. too high temperature, the detection of USB connection/disconnection failed.
[BH-1552] Harmony crashes during startup Fixed crashing device. Bell temperature sensor refactor.
[BH-1552] Minor power optimization Switched off temperature sensor and its driver. Minor GPIO pads configuration tweaks.
[BH-1536] Remove unneeded compilation flags Removed -Wno-unused-variable from module-bsp. Fixed issues that were reported after removing it. Removed unneeded compile flags from rt1051 cmake file.
[MOS-451] Drop invalid SoC Invalid state of charge is now dropped. Invalid SoC was interpreted as 0% battery.
[BH-1453] Fix audio on the simulator Replaced PortAudio library with PulseAudio. Fixed minor issues with the WorkerQueue module.
[BH-1424] FreeRTOS update Updated FreeRTOS source code to 10.4.6. Moved FreeRTOS sources to the third-party directory. Added necessary changes to the CMake configuration. Split FreeRTOSConfig.h. From now, each board has its own. Added missing log headers. Minor refactor of the module-os cmake. Fixed stack overflows in bell application main and time service.
[BH-1443] Lower CPU freq before going to SNVS Going to SNVS requires usage of periph clock That reuires further cpu configuration changes Easiest way is to just change cpu freq to level 2