Template:Networking trb141 manual input output status: Difference between revisions
Appearance
No edit summary |
|||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<pre> | |||
ioman.acl.acl0 - Analog Current loop | |||
ioman.adc.adc0 - Analog input | |||
ioman.dwi.dwi0 - Passive/Active input (PIN1) | |||
ioman.dwi.dwi1 - Passive/Active input (PIN2) | |||
ioman.gpio.dio0 - Configurable input/output (PIN3) | |||
ioman.gpio.dio1 - Configurable input/output (PIN4) | |||
ioman.gpio.iio - Isolated input | |||
ioman.gpio.onewire - One wire | |||
ioman.relay.relay0 - Relay | |||
ioman.relay.relay1 - Latching relay | |||
</pre> | |||
In order to read values, use the <b><i>status</i></b> command: | |||
ubus call ioman.gpio.dio0 status | ubus call ioman.gpio.dio0 status | ||
ubus call ioman.relay.relay0 status | ubus call ioman.relay.relay0 status | ||
To change input settings use | To change input settings, use the <i><b>update</i></b> command and specify a value: | ||
ubus call ioman.gpio.dio0 update '{"value":"0"}' | ubus call ioman.gpio.dio0 update '{"value":"0"}' | ||
ubus call ioman.gpio.dio0 update '{"value":"1"}' | ubus call ioman.gpio.dio0 update '{"value":"1"}' | ||
To change relay settings use | To change relay settings, use the <i><b>update</i></b> command and specify a state: | ||
ubus call ioman.relay.relay0 update '{"state":"open"}' | ubus call ioman.relay.relay0 update '{"state":"open"}' | ||
| Line 42: | Line 43: | ||
iio (isolated input) input 1021 (to read value refer to gpio1021) | iio (isolated input) input 1021 (to read value refer to gpio1021) | ||
In order to read digital input | In order to read digital input values, use the <b><i>cat</i></b> command: | ||
cat /sys/class/gpio/gpio14/value | cat /sys/class/gpio/gpio14/value | ||
| Line 48: | Line 49: | ||
cat /sys/class/gpio/gpio1021/value | cat /sys/class/gpio/gpio1021/value | ||
To change input state use <b><i>echo</i></b> command where "1" is "dry" state and "0" is "wet" state | To change an input state, use the <b><i>echo</i></b> command (where "1" is "dry" state and "0" is "wet" state): | ||
echo 0 > /sys/class/gpio/gpio12/value | echo 0 > /sys/class/gpio/gpio12/value | ||
echo 1 > /sys/class/gpio/gpio38/value | echo 1 > /sys/class/gpio/gpio38/value | ||
When one Relay output is open, the other one is closed | When one Relay output is open, the other one is closed; so to turn an output on or off, you will have to change the value on both pins: | ||
echo 1 > /sys/class/gpio/gpio20/value & echo 0 > /sys/class/gpio/gpio22/value | echo 1 > /sys/class/gpio/gpio20/value & echo 0 > /sys/class/gpio/gpio22/value | ||
| Line 60: | Line 61: | ||
====ADC (Analog Input)==== | ====ADC (Analog Input)==== | ||
---- | ---- | ||
The ADC (Analog Input) value can be read from a different directory: | |||
cat /sys/devices/qpnp-vadc-8/mpp4_vadc | |||
<b>Divide the result by 126582</b> in order to convert the number into volts (V). | |||
<b>Note:</b> ADC can have tolerance of 0.5%. | |||
====One-wire==== | ====One-wire==== | ||
---- | ---- | ||
In order to read one-wire sensor data you will need to follow these steps: | |||
<ol> | |||
<li>Set one-wire sensor value to "1' using the <i>ubus</i> command: <pre>ubus call ioman.gpio.onewire update '{"value":"1"}'</pre></li> | |||
Set one-wire sensor | <li>List the connected one-wire devices from the <i>/sys/bus/w1/devices</i> directory using the <b><i>ls</i></b> command: <pre>ls /sys/bus/w1/devices</pre></li> | ||
<li>Choose a sensor to read and obtain its state from the <i>/sys/bus/w1/devices/<device_name>/w1_slave</i> directory: <pre>cat /sys/bus/w1/devices/<device_name>/w1_slave</pre></li> | |||
</ol> | |||
Choose sensor | |||