forked from OERV-BSP/u-boot
cmd: gpio: Add gpio read subcommand
As explained in commit 4af2a33ee5 ("cmd: gpio: Make `gpio input`
return pin value again") the `gpio input` is used in scripts to obtain
the value of a pin, despite the fact that CMD_RET_FAILURE is
indistinguishable from a valid pin value.
To be able to detect failures and properly use the value of a GPIO in
scripts we introduce the `gpio read` command that sets the variable
`name` to the value of the pin. Return code of the `gpio read` command
can be used to check for CMD_RET_SUCCESS or CMD_RET_FAILURE.
CONFIG_CMD_GPIO_READ is used to enable the `gpio read` command.
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
This commit is contained in:
@@ -46,6 +46,20 @@ def test_gpio_exit_statuses(u_boot_console):
|
||||
response = u_boot_console.run_command('gpio input 200; echo rc:$?')
|
||||
assert(expected_response in response)
|
||||
|
||||
@pytest.mark.boardspec('sandbox')
|
||||
@pytest.mark.buildconfigspec('cmd_gpio')
|
||||
def test_gpio_read(u_boot_console):
|
||||
"""Test that gpio read correctly sets the variable to the value of a gpio pin."""
|
||||
|
||||
response = u_boot_console.run_command('gpio read var 0; echo val:$var,rc:$?')
|
||||
expected_response = 'val:0,rc:0'
|
||||
assert(expected_response in response)
|
||||
response = u_boot_console.run_command('gpio toggle 0; gpio read var 0; echo val:$var,rc:$?')
|
||||
expected_response = 'val:1,rc:0'
|
||||
assert(expected_response in response)
|
||||
response = u_boot_console.run_command('setenv var; gpio read var nonexistent-gpio; echo val:$var,rc:$?')
|
||||
expected_response = 'val:,rc:1'
|
||||
assert(expected_response in response)
|
||||
|
||||
"""
|
||||
Generic Tests for 'gpio' command on sandbox and real hardware.
|
||||
|
||||
Reference in New Issue
Block a user