diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2e90708b8be7dd3217c61ca7bc3a545231ac135..7a32263dd1a617eb5a820a2e5c1589494e80cdd4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,7 @@ image: "derq3k/card10-build-env:20190806-195837Z-f95b541-dirty" build: stage: build script: + - git submodule deinit --all -f - ./bootstrap.sh --werror - ninja -C build/ - arm-none-eabi-size build/bootloader/bootloader.elf build/epicardium/epicardium.elf build/pycardium/pycardium.elf @@ -22,6 +23,7 @@ build: release: stage: build script: + - git submodule deinit --all -f - ./bootstrap.sh --werror - ninja -C build/ - arm-none-eabi-size build/bootloader/bootloader.elf build/epicardium/epicardium.elf build/pycardium/pycardium.elf diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f66b563cce297e4a99f533df5a574d1f11b2897..981db78e35208ac917fa2b77fa95849339918ca0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### For Users -#### Added +- Much improved battery runtime, up to 160% more time without recharging! +- Integration of the [ctx.graphics] vector graphics renderer! This + means much smoother looking graphics as CTX comes with anti-aliasing! +- As part of that, we have integrated a new font. You can also use your own, by + replacing `lib/ctx/fira-mono.ttf` with a font of your choice and then + rebuilding the firmware. - Automatically return from USB storage mode after the host (= your computer) ejects the device. +### For Hackers +- Disable IRQs on core 1 during all Epicardium API calls. This means API calls + are now always safe to use from ISRs. +- Added an [`epic_sleep()`] API call which can be used as a hint to Epicardium + that it can enter a deep-sleep mode. [`epic_sleep()`] will only return once + either the time is up or an interrupt to core 1 is pending. Pycardium now + uses this call for all delays by default. +- Update MicroPython to v1.17. + ### Internals -#### Changed - Restructured `epicardium/modules` into more sensible subdirectories. +- Switched the UART peripheral to use the HIRC8 clock. +- Converted the "personal state" implementation to use the workqueue. +- Switched the SysTick in Pycardium to use the 32kHz clock source. +- Made display backlight PWM robust against changes to the MCU's PCLK speed. +- During tickless idle, lower the core-clock (PCLK) to reduce power consumption. +- Rewrote the LCD driver. +- Put the display to sleep when the backlight is off to save power. + +[ctx.graphics]: https://ctx.graphics/ +[`epic_sleep()`]: https://firmware.card10.badge.events.ccc.de/epicardium/api.html#c.epic_sleep ## [v1.17] - 2021-04-04 - [R2R Rocket]