FluidNC icon indicating copy to clipboard operation
FluidNC copied to clipboard

Basic support for lists in config.yaml

Open nils opened this issue 3 years ago • 0 comments

DRAFT This is just a FYI PR in case anyone is interested in what I'm doing. No expectations from my side attached to it at the moment (no expectation to have it merged, reviewed, ...)

Initial work on allowing YAML lists to instantiate multiple objects of the same type (see #341 for a use case).

There are many things that need to be improved or that are missing at this point. (also see @MitchBradley's comments on #341)

Currently it allows me to do what I had in mind (but not much more, I assume):

[ ... ]
besc:
  - pwm_hz: 50
    output_pin: gpio.12
    enable_pin: gpio.13:low
    direction_pin: NO_PIN
    disable_with_s0: false
    s0_with_disable: true
    spinup_ms: 0
    spindown_ms: 0
    tool_num: 0
    speed_map: 0=0.000% 255=100.000%
    min_pulse_us: 500
    max_pulse_us: 2500

  - pwm_hz: 50
    output_pin: gpio.33
    enable_pin: gpio.27:low
    direction_pin: NO_PIN
    disable_with_s0: false
    s0_with_disable: true
    spinup_ms: 0
    spindown_ms: 0
    tool_num: 100
    speed_map: 0=0.000% 255=100.000%
    min_pulse_us: 500
    max_pulse_us: 2500

Next steps:

  • [ ] Think about how to implement enterSectionList on the other HandlerBase subclasses.
    • [ ] i.e. addressing scheme proposal (RuntimeSetting?), e.g. $besc/0/pwm_hz
  • [ ] potential future extension: reference other items from another branch of the tree (to e.g. define motors globally, only reference them from kinematics)

nils avatar Mar 19 '22 10:03 nils