Merge branch 'master' into feature/mqtt-rework

master
Ryan Summers 2021-04-29 11:07:00 +02:00
commit 01349a39b3
4 changed files with 89 additions and 6 deletions

View File

@ -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

2
Cargo.lock generated
View File

@ -732,7 +732,7 @@ dependencies = [
[[package]]
name = "stabilizer"
version = "0.4.1"
version = "0.5.0"
dependencies = [
"ad9959",
"asm-delay",

View File

@ -1,6 +1,6 @@
[package]
name = "stabilizer"
version = "0.4.1"
version = "0.5.0"
authors = ["Robert Jördens <rj@quartiq.de>"]
description = "Firmware for the Sinara Stabilizer board (stm32h743, eth, poe, 2 adc, 2 dac)"
categories = ["embedded", "no-std", "hardware-support", "science"]

View File

@ -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<Settings>,
// Format: iir_state[ch][cascade-no][coeff]
#[init([[[0.; 5]; IIR_CASCADE_LENGTH]; 2])]
iir_state: [[iir::Vec5; IIR_CASCADE_LENGTH]; 2],
settings: Settings,