Skip to content

February 19th, 2021

Compare
Choose a tag to compare
@theacodes theacodes released this 19 Feb 06:01
· 300 commits to main since this release

This is a bugfix & maintenance release for Castor & Pollux's firmware, Gemini ♊️.

👉 Most users should download gemini-firmware-2021.2.19-release.uf2 👈

Please follow the firmware upgrade instructions in the user's guide to upgrade your device's firmware.

About the files

  • The uf2 files can be installed using the firmware upgrade instructions in the user's guide.
  • The elf files and are for testing & debugging and can be programmed using an appropriate debug probe.
  • The release builds are built without debugging information.
  • The debug builds are built with debugging information.

Build identifier

Each release of the firmware has a unique build ID. This ID can be seen when using the online settings editor and allows finding the exact firmware version on your device. The build IDs for this version are:

Changes from 2021.2.9

Features:

  • Added the ability to restore ADC calibration from factory backup in the settings editor.
  • Modified the way pitch knob non-linearity is applied- it now creates a virtual notch/detent at 0.0 (true tune) regardless of the range of the pitch knob. Previously the virtual notch/detent would be in the center of the range, which could be different from 0.0.

Bugfixes:

  • Made the settings editor work with the firmware's updated settings chunking protocol.
  • Fixed the control type for the knob non-linearity in the settings editor.

Documentation:

  • Increased overall contrast
  • Explicitly marked external links with an icon

Internal changes:

  • firmware: change the default range for knobs (again)
  • firmware: add basic tests for gem_oscillator
  • firmware: refactor code in gem_adc out into gem_error_correction and gem_adc_helpers
  • firmware: update gem_oscillator to use new bezier function
  • firmware: expand wntr_bezier to accept all four points for a quadratic curve. Add tests
  • firmware: only apply ramfunc annotation when compiling for ARM
  • firmware: move some functions into RAM
  • firmware: add basic hardfault handler
  • firmware: move samd21 gpio implementation into libwinter
  • firmware: move serial number into libwinter
  • factory: Add setup step to erase NVM
  • factory: regenerate gem_settings.py
  • firmware: remove the CV knob range multiplier and just use a higher default value for the knob range setting
  • factory: fix Sol channels for ADC/AFE calibration
  • Initialize Gemini before oscilloscope in ramp calibration