
On 01.08.24 12:07, Emil Kronborg wrote:
Signed-off-by: Emil Kronborg emil.kronborg@protonmail.com
Changes in v3:
The help text for 'pwm config' in the examples section is more explicit about 20 us and 14 us for the period and duty cycle, respectively.
Fixed 'pwm enable' and 'pwm disable' in the examples section to only expect 2 arguments.
Rebased on top of master.
doc/usage/cmd/pwm.rst | 80 +++++++++++++++++++++++++++++++++++++++++++ doc/usage/index.rst | 1 + 2 files changed, 81 insertions(+) create mode 100644 doc/usage/cmd/pwm.rst
diff --git a/doc/usage/cmd/pwm.rst b/doc/usage/cmd/pwm.rst new file mode 100644 index 000000000000..bd1255d82186 --- /dev/null +++ b/doc/usage/cmd/pwm.rst @@ -0,0 +1,80 @@ +.. SPDX-License-Identifier: GPL-2.0+:
+.. index::
- single: pwm (command)
+pwm command +===========
+Synopsis +--------
+::
- pwm invert <pwm_dev_num> <channel> <polarity> - invert polarity
- pwm config <pwm_dev_num> <channel> <period_ns> <duty_ns> - config PWM
- pwm enable <pwm_dev_num> <channel> - enable PWM output
- pwm disable <pwm_dev_num> <channel> - disable PWM output
Thank you for documenting the command.
To stay consistent with other pages, please, remove the descriptions here. They are available below.
+Description +-----------
+The ``pwm`` command is used to access and configure PWM (Pulse Width Modulation) +signals. For all subcommands, the following arguments are common:
+pwm_dev_num
- device number
+channel
- channel on chosen device
+pwm invert +----------
+The signal's active and inactive states are swapped.
This would imply that all invocations irrespective of the polarity value swap the active and inactive state.
I guess we could say here:
The polarity of the signal is set.
If the value of `polarity` is 0, the default polarity is used. If the value of `polarity` is 1, the polarity is inverted.
+pwm config +----------
+Configure the period and duty cycle in nanoseconds.
According to https://en.wikipedia.org/wiki/Duty_cycle "duty cycle" is the ratio of "pulse active time" and "total period". This implies that it is dimensionless.
%s/duty cycle/pulse width/ or "duty period" as in pwm.h.
+pwm enable +----------
+Enable output on the configured device and channel.
What happens if the device-channel combination is not configured yet?
+pwm disable +-----------
+Disable output on the configured device and channel.
Please, describe the parameters here:
pwm_dev_num Device number of the pulse width modulation device
channel Output channel of the PWM device
polarity * 0 - use normal polarity * 1 - use inverted polarity
duty_ns pulse width in ns
period_ns cycle time in ns
+Examples +--------
+Configure device 0 channel 0 to 20 us period and 14 us (that is, 70%) duty cycle::
Please, add comma, use 'µs', and don't misuse 'duty cycle':
"Configure device 0, channel 0 to 20 µs period time and 14 µs (that is, 70%) pulse width::"
Best regards
Heinrich
- => pwm config 0 0 20000 14000
+Enable output on the configured device and channel::
- => pwm enable 0 0
+Disable output on the configured device and channel::
- => pwm disable 0 0
+Invert the signal on the configured device and channel::
- => pwm invert 0 0 1
+Configuration +-------------
+The ``pwm`` command is only available if CONFIG_CMD_PWM=y.
+Return value +------------
+If the command succeeds, the return value ``$?`` is set to 0. If an error occurs, the +return value ``$?`` is set to 1. diff --git a/doc/usage/index.rst b/doc/usage/index.rst index 49b354e6ffd2..1adab5283950 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -92,6 +92,7 @@ Shell commands cmd/pinmux cmd/printenv cmd/pstore
- cmd/pwm cmd/qfw cmd/read cmd/reset
base-commit: 7010f22eba35b2a6b66ba37ce565e566ca08c68f