Skip to content

Releases: Bemeier/bmcv

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 18:07

v0.20.0 (2026-08-20)

Feat

  • ui: red and green mean a voltage, and nothing else on a ring does

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 16:41

v0.19.0 (2026-08-20)

Feat

  • ui: a page is left by its own button, or by letting go of it

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 16:05

v0.18.0 (2026-08-20)

Feat

  • pwm: MOD is an attack and a decay inside the pulse
  • copy: channel -> channel carries the channel's own settings

Fix

  • ci: keep newlib, and let a failed ARM build fail its own step
  • fram: come back on the last patch, not on the defaults
  • dac: let the ramp span be a guess, and stop compensating for it

Perf

  • dac: two substeps, where the engine has the headroom for them

v0.17.2

Choose a tag to compare

@github-actions github-actions released this 18 Aug 20:47

v0.17.2 (2026-08-18)

Fix

  • dac: put the output back on a continuous ramp
  • pll: stop correcting toward a grid the ratio has left

Perf

  • dac: four substeps a tick, and only the pair that leaves

v0.17.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 18:14

v0.17.1 (2026-08-18)

Fix

  • bad PLL sync

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 15:04

v0.17.0 (2026-08-18)

Feat

  • stepped: let a pattern keep a spike, instead of normalising it away

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 10:12

v0.16.0 (2026-08-17)

Feat

  • engine: run the tick at 2kHz, and the DAC at two substeps
  • engine: run the tick at 3.2kHz

Fix

  • sim: copy the snapshot's length on import, not the struct's
  • stepped: hold the level across the reshapings, not just up to them
  • engine: keep the derived stepped caches out of the snapshot
  • pll: stop the beat phase wrapping past a beat the counter has not reached
  • stepped: remember what a slot offers, not just what a step shows
  • stepped: pay for a step once, not once per tick
  • dac: arm the transfer by hand, not through HAL
  • dac: one substep, because four starved the engine outright
  • dac: give the outputs a clock instead of the loop's leftovers

Refactor

  • dac: drop what the register path made dead, and re-date the docs

Perf

  • channel: memoise the alignment-period search on the ratio

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 15:11

v0.15.0 (2026-08-16)

Feat

  • sr: measure what a small turn does to the pattern's order, not its values
  • drift: a third random mode, with no pattern in it
  • sr: a second stepped mode, driven for modulation
  • sr: measure each channel's own pattern, a slot at a time
  • sr: compute the correction from the pattern, behind a build knob

Fix

  • dac: serve a due transaction where it lands, not when the loop notices
  • profile: ask gdb for plain integers, and say what failed
  • profile: read the struct's layout from the ELF, not from counting by hand
  • dac: spread the ramp over the tick that is actually being served
  • sr: give out one pattern measurement per tick, not one per channel
  • sr: keep SHP and MOD off the level, and leave the pattern centred

Refactor

  • call it stepped, not stepped random
  • sr: keep the generator's arithmetic off the channel's path
  • sr: one stepped mode, and it is the one driven for modulation
  • sr: make the correction a function, not only a table

v0.14.1

Choose a tag to compare

@github-actions github-actions released this 15 Aug 23:52

v0.14.1 (2026-08-15)

Fix

  • usblink: give each credit counter a single writer, as its comment claimed
  • web: bound every call the updater makes to the device
  • midi: count the clocks in a transfer, not whether there were any
  • core: a request from an interrupt is not a plain uint8_t

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 23:02

v0.14.0 (2026-08-15)

Feat

  • build: flash over USB, with the module still in the rack
  • ui: a parameter button gives you its parameter, on the way out of a page too

Fix

  • web: the scope gap belongs between the cells, not around them
  • ui: a press and a turn in the same tick is a fine adjust, not a reset