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.