Go to file
Robert Jördens 8ff8a4ce31 main: work around spi stall erratum and debug 2019-04-17 14:04:05 +00:00
.cargo cargo: gdb-multicarch 2019-03-20 09:48:44 +00:00
doc cargo: tweak 2019-03-29 19:34:31 +01:00
src main: work around spi stall erratum and debug 2019-04-17 14:04:05 +00:00
.gitignore start 2019-03-18 12:56:26 +01:00
.travis.yml travis: install target 2019-03-29 09:12:07 +00:00
Cargo.lock cargo: update 2019-04-16 11:27:01 +00:00
Cargo.toml cargo: update 2019-04-16 11:27:01 +00:00
LICENSE readme, license 2019-03-20 18:33:35 +00:00
README.md README: update 2019-04-12 15:43:51 +00:00
build.rs start 2019-03-18 12:56:26 +01:00
memory.x use tim2,dma1 to trigger cr1 2019-03-27 13:50:25 +00:00
openocd.gdb iir: tweak, add offset 2019-03-29 18:33:32 +00:00
stabilizer.cfg working 2019-03-18 13:10:00 +00:00

README.md

Stabilizer Firmware

Features

  • dual channel
  • SPI ADC
  • SPI DAC
  • fixed AFE gains
  • 500 kHz rate, timed
  • < 2 µs latency, unmatched
  • f32 IIR math
  • generic biquad (second order) IIR filter
  • anti-windup
  • derivative kick avoidance
  • configurable output limits

Hardware

See https://github.com/sinara-hw/Stabilizer

Minimal bootstrapping documentation

  • Clone or download this
  • Get a recent openocd, a JTAG adapter ("st-link" or some clone) and everything connected and permissions setup
  • Get a multiarch gdb (or a cross arm gdb and edit .cargo/config accordingly)
  • Get rustup
  • rustup override add nightly
  • rustup target add thumbv7em-none-eabihf
  • openocd -f stabilizer.cfg and leave it running
  • cargo run --release