Skip to content

@ryanlaws ryanlaws released this Oct 31, 2020 · 6 commits to main since this release

Dial 0.1.0

This is Dial's first refactor since the initial 0.0.1 release.

Please see the lines thread for documentation, support and to ask any questions.

Configuration changes and new features

  • New configuration format for divisors - this is all done within the configure() function now. The existing example configurations have all been ported to the new syntax. There are at least 3 ways to do this now, ranging from simpler than before to much more flexible and precise, and examples are provided for each.
  • Raw phasors with custom voltage ranges can now be used via the raw() phase reconciler.
  • Any native ASL function can be used via the native() phase reconciler; N.B. these are triggered in exactly the same way as the pulses were.

Housekeeping

  • Phase handling has been refactored a fair amount. All divisors now utilize a phasor function created by d(). This calls an arbitrary reconciliation function with the previous phase and the new phase, which can handle the delta arbitrarily.
  • Aside from the configuration (bpm_min, voltage_maximum, etc.), global variables have been absorbed into closures within the functions - init() in particular. This should not have a functional change, and may have some effect on performance. This was done to reduce clutter and noise, especially since they were in close proximity to configuration.
  • Heavy use of higher-order functions, enabling a more "modular" structure.
Assets 2