IO8 (Revision C) Programming Table This is the programming table for the IO8 (Rev. C) module.

IO8 (Revision C) Programming Table

Command
Name
Action Bit Description
8 7 6 5 4 3 2 1 0
Digital8_Get Send 0 0 0 0 0 0 0 0 0 Return the digital input values for all 8 pins.
Receive 0 d d d d d d d d
Digital8_Set Send 0 0 0 0 0 0 0 0 1 Set digital outputs to {dddddddd}.
Send 0 d d d d d d d d
Direction_Get Send 0 0 0 0 0 0 0 1 0 Return direction of all 8 pins. 0=output and 1=input.
Receive 0 d d d d d d d d
Direction_Set Send 0 0 0 0 0 0 0 1 1 Set direction mask to {dddddddd}. 0=output and 1=input.
Send 0 d d d d d d d d
Analog_Mask_Get Send 0 0 0 0 0 0 1 0 0 Return direction of all 8 pins. 0=digital and 1=analog.
Receive 0 a a a a a a a a
Analog_Mask_Set Send 0 0 0 0 0 0 1 0 1 Set analog mask to {aaaaaaaa}. 0=digital and 1=analog.
Send 0 a a a a a a a a
Analog8_Get Send 0 0 0 0 1 0 c c c Return 8 bits from channel {ccc}.
Receive 0 a a a a a a a a
Analog10_Get Send 0 0 0 0 1 1 c c c Return last 2 least significant bits from channel {ccc}.
Receive 0 0 0 0 0 0 0 b b
Low_Set Send 0 0 0 1 0 d d d d Set low 4 bits of digital outputs to {dddd}. Return all 8 bits.
Receive 0 i i i i i i i i
High_Set Send 0 0 0 1 1 d d d d Set high 4 bits of digital outputs to {dddd}. Return all 8 bits.
Receive 0 i i i i i i i i
Direction_Bit_Clear Send 0 0 1 0 0 0 b b b Clear bit {bbb} of direction mask.
Direction_Bit_Set Send 0 0 1 0 0 1 b b b Set bit {bbb} of direction mask.
Analog_Mask_Bit_Clear Send 0 0 1 0 1 0 b b b Clear bit {bbb} of analog mask.
Analog_Mask_Bit_Set Send 0 0 1 0 1 1 b b b Set bit {bbb} of analog mask.
Digital_Bit_Clear Send 0 0 1 1 0 0 b b b Clear bit {bbb} of digital outputs.
Digital_Bit_Set Send 0 0 1 1 0 1 b b b Set bit {bbb} of digital outputs.
Digital_Bit_Toggle Send 0 0 1 1 1 0 b b b Toggle bit {bbb} of digital outputs.
Pulse_Time_Configure Send 0 1 0 0 0 p p h e Configure IO7 pulse timer where {e}=enable, {h}=high, and {pp}=prescale.
Pulse_Count_Get Send 0 1 0 0 1 1 0 0 0 Read back pulse count as {cccccccc}.
Receive 0 c c c c c c c c
Pulse_Count_Set Send 0 1 0 0 1 1 0 0 1 Set pulse count as {cccccccc}.
Send 0 c c c c c c c c
Pulse_Length_Get Send 0 1 0 0 1 1 0 1 0 Get pulse length as {hhhhhhhh llllllll} timer ticks.
Receive 0 h h h h h h h h
Receive 0 l l l l l l l l
Threshold_Get Send 0 1 0 1 1 0 1 0 0 Get analog threshold as {tttttttt}.
Receive 0 t t t t t t t t
Threshold_Set Send 0 1 0 1 1 0 1 0 1 Set analog threshold to {tttttttt}.
Send 0 t t t t t t t t
Analog_Thresholded_Get Send 0 1 0 1 1 0 1 1 0 Get analog values {vvvvvvvv} compared to analog threshold.
Receive 0 v v v v v v v v

Copyright (c) 2009 by Wayne C. Gramlich. All rights reserved.