diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a42efa..04aa2fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,73 @@ -# Changelog +# Change Log -## [v0.2.0] 2019-05-28 +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/) +and this project adheres to [Semantic Versioning](http://semver.org/). + +## [Unreleased] + +### Added + +### Changed + +### Fixed + +## [v0.5.0] - 2021-04-21 + +### Added + +* Batch sample processing +* DMA for ADC and DAC batches +* Pounder profile streaming +* DSP library with lots of optimized algorithms +* Digital input support +* Hardware in the loop continuous integration testing +* Dependency updates +* MQTT settings interface through miniconf/minimq +* Multi-binary support +* DHCP support + +### Changed + +* Removed JSON-over-TCP interface + +### Fixed + +* Robust EEPROM MAC address reading slow supply start + +## [v0.4.1] - 2020-06-23 + +### Fixed + +* Fix DAC clr/ldac, SPI speed + +## [v0.4.0] - 2020-06-22 + +### Added + +* Hardware v1.1 only +* AD9959/Pounder support + +### Changed + +* HAL port + +## [v0.3.0] - 2020-01-20 + +### Added + +* Red LED handling +* EEPROM MAC address reading + +### Changed + +* Panic handler cleanup +* Dependency updates (smoltcp, rtfm) + +## [v0.2.0] - 2019-05-28 + +### Added * Initial basic release * Ethernet support @@ -9,6 +76,15 @@ * ADC/DAC timing and interrupts * Board configuration, bootstrap -## [v0.1.0] 2019-03-10 +## [v0.1.0] - 2019-03-10 + +### Added * First bits of code published + +[Unreleased]: https://github.com/quartiq/stabilizer/compare/v0.5.0...HEAD +[v0.5.0]: https://github.com/quartiq/stabilizer/compare/v0.4.1...v0.5.0 +[v0.4.1]: https://github.com/quartiq/stabilizer/compare/v0.4.0...v0.4.1 +[v0.4.0]: https://github.com/quartiq/stabilizer/compare/v0.3.0...v0.4.0 +[v0.3.0]: https://github.com/quartiq/stabilizer/compare/v0.2.0...v0.3.0 +[v0.2.0]: https://github.com/quartiq/stabilizer/compare/v0.1.0...v0.2.0 diff --git a/Cargo.lock b/Cargo.lock index 9007083..a002739 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -732,7 +732,7 @@ dependencies = [ [[package]] name = "stabilizer" -version = "0.4.1" +version = "0.5.0" dependencies = [ "ad9959", "asm-delay", diff --git a/Cargo.toml b/Cargo.toml index 29480d5..095fb74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stabilizer" -version = "0.4.1" +version = "0.5.0" authors = ["Robert Jördens "] description = "Firmware for the Sinara Stabilizer board (stm32h743, eth, poe, 2 adc, 2 dac)" categories = ["embedded", "no-std", "hardware-support", "science"] diff --git a/src/bin/dual-iir.rs b/src/bin/dual-iir.rs index b275de0..65d3f2e 100644 --- a/src/bin/dual-iir.rs +++ b/src/bin/dual-iir.rs @@ -31,9 +31,17 @@ pub struct Settings { impl Default for Settings { fn default() -> Self { Self { + // Analog frontend programmable gain amplifier gains (G1, G2, G5, G10) afe: [AfeGain::G1, AfeGain::G1], + // IIR filter tap gains are an array `[b0, b1, b2, a1, a2]` such that the + // new output is computed as `y0 = a1*y1 + a2*y2 + b0*x0 + b1*x1 + b2*x2`. + // The array is `iir_state[channel-index][cascade-index][coeff-index]`. + // The IIR coefficients can be mapped to other transfer function + // representations, for example as described in https://arxiv.org/abs/1508.06319 iir_ch: [[iir::IIR::new(1., -SCALE, SCALE); IIR_CASCADE_LENGTH]; 2], + // Permit the DI1 digital input to suppress filter output updates. allow_hold: false, + // Force suppress filter output updates. force_hold: false, } } @@ -48,7 +56,6 @@ const APP: () = { dacs: (Dac0Output, Dac1Output), mqtt: MqttInterface, - // Format: iir_state[ch][cascade-no][coeff] #[init([[[0.; 5]; IIR_CASCADE_LENGTH]; 2])] iir_state: [[iir::Vec5; IIR_CASCADE_LENGTH]; 2], settings: Settings,