8160-dioheader: Difference between revisions
From embeddedTS Manuals
No edit summary |
(Added direct invocation. removed "&" from tsctl server invocation-it is no longer needed. Added @ for host, although it is optional for IP addresses. Don't need to manually look up pins. Need to use SetAsync if you aren't going to call Commit afterwards.) |
||
Line 4: | Line 4: | ||
<source lang=bash> | <source lang=bash> | ||
# | # The easiest approach is to invoke tsctl directly. | ||
# | # Do not do this if the tsctl server is already running. | ||
tsctl --server | # Toggle the DIO high and low directly as follows: | ||
tsctl DIO SetAsync DIO_1 high | |||
tsctl DIO SetAsync DIO_1 low | |||
# If you want to share the tsctl functionality | |||
# among multiple processes or access it via TCP/IP, | |||
# you will need to run the tsctl server and access it as a client: | |||
tsctl --server | |||
# Once the server is started it will daemonize and you can access it over TCP/IP. | |||
# Toggle the DIO high and low via the tsctl client: | |||
tsctl @127.0.0.1 DIO SetAsync DIO_1 high | |||
tsctl @127.0.0.1 DIO SetAsync DIO_1 low | |||
# Note that the '@' is optional if the host name is an IP address of form X.X.X.X | |||
# For consistency we recommend always including the '@' | |||
# Note in the above example, the values DIO_1, high and low are automatically | |||
# looked up to produce integer values. You can also do this manually, as show below: | |||
# Lookup the logical DIO mapping of the dio header pin 1 | # Lookup the logical DIO mapping of the dio header pin 1 | ||
Line 12: | Line 30: | ||
# If you run this outside of the eval it will return: | # If you run this outside of the eval it will return: | ||
# DIO_1=130 | # DIO_1=130 | ||
# If you look up "high" it will return 1, while "low" will return 0 | |||
# note that lookups are case-insensitive | |||
# Toggle the DIO high and low: | # Toggle the DIO high and low: | ||
tsctl 127.0.0.1 DIO | tsctl @127.0.0.1 DIO SetAsync $DIO_1 high | ||
tsctl 127.0.0.1 DIO | tsctl @127.0.0.1 DIO SetAsync $DIO_1 low | ||
</source> | </source> | ||
Revision as of 10:34, 2 April 2013
The DIO is manipulated through tsctl, or through manipulation of the registers directly.
Using tsctl will be the easiest way to communicate with the IO. This example will show the simplest way to toggle the IO, but see the tsctl page for more advanced usage.
# The easiest approach is to invoke tsctl directly.
# Do not do this if the tsctl server is already running.
# Toggle the DIO high and low directly as follows:
tsctl DIO SetAsync DIO_1 high
tsctl DIO SetAsync DIO_1 low
# If you want to share the tsctl functionality
# among multiple processes or access it via TCP/IP,
# you will need to run the tsctl server and access it as a client:
tsctl --server
# Once the server is started it will daemonize and you can access it over TCP/IP.
# Toggle the DIO high and low via the tsctl client:
tsctl @127.0.0.1 DIO SetAsync DIO_1 high
tsctl @127.0.0.1 DIO SetAsync DIO_1 low
# Note that the '@' is optional if the host name is an IP address of form X.X.X.X
# For consistency we recommend always including the '@'
# Note in the above example, the values DIO_1, high and low are automatically
# looked up to produce integer values. You can also do this manually, as show below:
# Lookup the logical DIO mapping of the dio header pin 1
eval `tsctl 127.0.0.1 System MapLookup DIO_1`
# If you run this outside of the eval it will return:
# DIO_1=130
# If you look up "high" it will return 1, while "low" will return 0
# note that lookups are case-insensitive
# Toggle the DIO high and low:
tsctl @127.0.0.1 DIO SetAsync $DIO_1 high
tsctl @127.0.0.1 DIO SetAsync $DIO_1 low
Pinout | Header | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
WARNING: | DIO are not 5V tolerant. Only SPI_MOSI on this header is 5V tolerant. |