pwm_tool: Add support for high-speed PWM pin updates

The output_pin module is only capable of updating an output pin at
most once every 100ms.  Add a new pwm_tool module that is capable of
queuing updates in the micro-controller and thus allowing for much
higher update rates.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor
2023-10-13 21:10:11 -04:00
parent 48a05eaa54
commit 29b7550ce5
8 changed files with 201 additions and 17 deletions

View File

@@ -3127,6 +3127,26 @@ pin:
# parameter.
```
### [pwm_tool]
Pulse width modulation digital output pins capable of high speed
updates (one may define any number of sections with an "output_pin"
prefix). Pins configured here will be setup as output pins and one may
modify them at run-time using "SET_PIN PIN=my_pin VALUE=.1" type
extended [g-code commands](G-Codes.md#output_pin).
```
[pwm_tool my_tool]
pin:
# The pin to configure as an output. This parameter must be provided.
#value:
#shutdown_value:
#cycle_time: 0.100
#hardware_pwm: False
#scale:
# See the "output_pin" section for the definition of these parameters.
```
### [static_digital_output]
Statically configured digital output pins (one may define any number