Go to file
2019-04-12 15:44:09 +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 cleanup, edition 2018 2019-04-12 15:44:09 +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
build.rs start 2019-03-18 12:56:26 +01:00
Cargo.lock cargo: update 2019-04-12 10:55:38 +00:00
Cargo.toml manifest: update 2019-03-31 11:33:03 +00:00
LICENSE readme, license 2019-03-20 18:33:35 +00: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
README.md README: update 2019-04-12 15:43:51 +00:00
stabilizer.cfg working 2019-03-18 13:10:00 +00:00

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