SMBus Shell Sample

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 project can be built and executed on as follows:

west build -b qemu_x86_64 zephyr/samples/drivers/smbus
west build -t run

Sample Output

Output from console when application started:

*** Booting Zephyr OS build zephyr-v3.2.0-804-gfedd72615e82  ***
Start SMBUS shell sample qemu_x86_64
uart:~$

List avaibalbe SMBus shell commands with:

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:

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