After all, I've reworked the concept a bit than we have discussed.
For users the interface should be the same and provides backward compatibility. Trigger class has been renamed to TriggerType class. This is used as an input for a new Trigger class. In case of triggers which require more arguments for setup, **kwargs were added.
Example:
trigger1 = Trigger(0) # or Trigger(TriggerType.NoTrigger)
trigger2 = Trigger(5) # or Trigger(TriggerType.Pospulse); min and max width are set to default values 0.1
trigger3 = Trigger(6, minimum_pulse_width=1, maximum_pulse_width=2)
Hi Pat,
After all, I've reworked the concept a bit than we have discussed.
For users the interface should be the same and provides backward compatibility. Trigger class has been renamed to TriggerType class. This is used as an input for a new Trigger class. In case of triggers which require more arguments for setup, **kwargs were added.
Example:
Have a nice day, Renegade