Releases: anabrid/lucidac-firmware
Releases · anabrid/lucidac-firmware
LUCIDAC Firmware Release v1.1.0
This is the second official release which mainly contains bugfixes and a few new features, which are:
- Improved documentation (now using Sphinx and Doxygen), now available at https://anabrid.dev/docs/lucidac-firmware/
- API calls for client side localization of overload conditions
Upcoming features which did not yet make it into this release:
- Improved multiplier calibration (still using the hotfix using manual calibration data on EEPROM)
- Bundling of the LUCIDAC-GUI
Full Changelog: v1.0.0...v1.1.0
Development Build
Bug Fixes
- tests: test_flexio_mode.cpp used un-commited time_ns_t datatype (Michael Steck)
- chips: AD8402 needs other SPI MODE, but still does not work (Michael Steck)
- carrier: Carrier::calibrate_routes should save and restore old ADC bus selection, not reset it (Raveen Marudachalam)
- tests: removed too much code :) (Raveen Marudachalam)
- daq: fix at least the index overflow and improve code structure. Also adds waveform tests (Lynda Wanza Mwema)
Commits
- b4c59d2: Final cleanups for version 1.0 (SvenK)
- 8eb2f86: Merge branch 'main' of lab.analogparadigm.com:lucidac/firmware/hybrid-controller (SvenK)
- c398c6b: Changed mul calibration to abort on errors (Tobias Pflüger)
- cf3bbb2: Removed unused default value for c block factor (Tobias Pflüger)
- 2efe2c7: Improved parabola test to not use functions which aren't meant to be accessed normally (Tobias Pflüger)
- 28a4328: Adapted DAQs to use better running average class (Tobias Pflüger)
- 61db8c1: Converted all reset functions to use ResetActions (Tobias Pflüger)
- ce31fe5: Exposing overload localization over JSON #204 (SvenK)
- First step towards better docs #210 (SvenK)
- Moving Doxygen and Sphinx together (SvenK)
- Moving pages from doxygen to sphinx (SvenK)
- b43a62a: CI, second try (SvenK)
- 3ad6676: CI, Third Try (SvenK)
- 95638b4: CI, Fourth Try (SvenK)
- d583e18: CI, Fifth try (SvenK)
- apparently the makefile was missing all the time (SvenK)
- Adding all missing makefiles (SvenK)
- 96c9538: Merge branch '210-adopt-sphinx-breathe-for-better-documentation' into 'main' (Sven Köppel)
- Fixing the absolute URLs (SvenK)
- d2cd9a9: fix(tests) (Karl-Heinz Dahlmann)
- 4670a23: Fix of a direct Serial.print call. (SvenK)
- make measure_sh_gain set and restore ADC bus selection (Raveen Marudachalam)
- forgot to commit this (Raveen Marudachalam)
- Adding U-block connectivity testcase (Raveen Marudachalam)
- 5b549dc: Merge branch 'main' of lab.analogparadigm.com:lucidac/firmware/hybrid-controller (SvenK)
- f6087b2: Merge branch 'debug-daq' into 'main' (Michael Steck)
- 5a9e20b: Usage stats (basic performance counters). (SvenK)
- 57bedb3: Merge branch 'main' of lab.analogparadigm.com:lucidac/firmware/hybrid-controller (SvenK)
- 5bcf913: Removing remaining direct serial Prints (SvenK)
- d6e7322: Little fixes (SvenK)
LUCIDAC Firmware Release v1.0.0
This is the first public release of the LUCIDAC Firmware. In a rough overview, the firmware contains the following features:
- Feature-complete C++ API within the firmware to work with LUCIDAC's hardware
- Hardware abstraction in a hierarchical and dynamical way
- Run and state managament, DMA/FlexIO data aquisition, and many more
- JSONL protocol for exposure of core functionality over ethernet and USB
- Basic support for Over-the-Air updates, runtime/compile time plugins
- Basic authentification
- Support for Teensy and entity EEPROMs for permanent configuration
- More then 400 PlatformIO unit tests
- Doxygen documentation
This release makes the following decisions on not-yet mature features:
- integrated webserver and websocket support (built-in but disabled by default to decrease attack surface. Can be enabled as configuration option by user)
- the default run manager is not using FlexIO/DMA (can be changed per run by user)
- the calibration scheme is mostly deactivated by default (can be changed per run by user)
- in particular, we currently use manually calibrated multipliers (will be upgraded to a suitable self-calibration in next release)
Attached to this release are the following build artefacts:
firmware.elf
(statically linked ELF binary): Most generic build product from which all other files can be derivedfirmware.hex
(Intel HEX): Suitable for most uploaders such asteensy_cli_uploader
firmware.bin
(Binary code): Relevant part of the ELF binary for OTA uploadfirmware.elf.a
(linkable ELF binary with symbol table): Suitable for plugin development, next to the header files of this commit