On 01.08.24 12:07, Emil Kronborg wrote:
Signed-off-by: Emil Kronborg <[email protected]>
---
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

Reply via email to