.. zephyr:code-sample:: smbus-shell
:name: SMBus shell
:relevant-api: smbus_interface
Interact with SMBus peripherals using shell commands.
Overview
********
This is a simple SMBus shell sample that allows arbitrary boards with SMBus
driver supported exploring the SMBus communication with peripheral devices.
Building and Running
********************
This sample can be found under :zephyr_file:`samples/drivers/smbus` in the
Zephyr tree.
The sample can be built and run as follows for the ``qemu_x86_64`` board:
.. zephyr-app-commands::
:zephyr-app: zephyr/samples/drivers/smbus
:host-os: unix
:board: qemu_x86_64
:goals: run
:compact:
Sample Output
*************
Output from console when application started:
.. code-block:: console
*** Booting Zephyr OS build zephyr-v3.2.0-804-gfedd72615e82 ***
Start SMBUS shell sample qemu_x86_64
uart:~$
List available SMBus shell commands with:
.. code-block:: console
uart:~$ smbus
smbus - smbus commands
Subcommands:
quick :SMBus Quick command
Usage: quick <device> <addr>
scan :Scan SMBus peripheral devices command
Usage: scan <device>
byte_read :SMBus: byte read command
Usage: byte_read <device> <addr>
byte_write :SMBus: byte write command
Usage: byte_write <device> <addr> <value>
byte_data_read :SMBus: byte data read command
Usage: byte_data_read <device> <addr> <cmd>
byte_data_write :SMBus: byte data write command
Usage: byte_data_write <device> <addr> <cmd> <value>
word_data_read :SMBus: word data read command
Usage: word_data_read <device> <addr> <cmd>
word_data_write :SMBus: word data write command
Usage: word_data_write <device> <addr> <cmd> <value>
block_write :SMBus: Block Write command
Usage: block_write <device> <addr> <cmd> [<byte1>, ...]
block_read :SMBus: Block Read command
Usage: block_read <device> <addr> <cmd>
Scan for available SMBus devices with command:
.. code-block:: console
uart:~$ smbus scan smbus@fb00
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
8 devices found on smbus@fb00