This command controls all 20 digital I/O, and the 2 analog outputs (AO0 & AO1). The response provides the state of all I/O and the current counter value. If Reset Counter = 1, the counter is reset after reading.
Table 5.4-1.
|
Command |
|
|
Byte # |
Description |
|
0 |
D15 though D8 Direction ( 0 = Output, 1 = Input ) |
|
1 |
Bits for D7 though D0 Direction ( 0 = Output, 1 = Input ) |
|
2 |
Bits for D15 though D8 State ( 0 = Low, 1 = High ) |
|
3 |
Bits for D7 though D0 State ( 0 = Low, 1 = High ) |
|
4 |
Bits 7-4 = Bits for IO3 through IO0 Direction |
|
|
Bits 3-0 = Bits for IO3 through IO0 State |
|
5 |
Bits 7-6 = 00 (Counter/AO/DIO) |
|
|
Bit 5 = Reset Counter |
|
|
Bit 4 = Update Digital |
|
|
Bits 3-2 = Least Significant Bits of AO0 duty cycle |
|
|
Bits 1-0 = Least Significant Bits of AO1 duty cycle |
|
6 |
Most Significant bits of AO0 duty cycle (0 = 0 V, 0×3ff = 5.0 V) |
|
7 |
Most Significant bits of AO1 duty cycle (0 = 0 V, 0×3ff = 5.0 V) |
|
|
|
|
|
|
|
Response |
|
|
Byte # |
Description |
|
0 |
00XXXXXX (Counter/PWM response) |
|
1 |
Bits for D15 though D8 State ( 0 = Low, 1 = High ) |
|
2 |
Bits for D7 though D0 State ( 0 = Low, 1 = High ) |
|
3 |
Bits 7-4 = Bits for IO3 through IO0 State |
|
|
Bits 3-0 = XXXX |
|
4 |
Most Significant Byte of Counter |
|
5 |
Bits 23-16 of Counter |
|
6 |
Bits 15-8 of Counter |
|
7 |
Least Significant Byte of Counter |
LabJackPython Example
>>> import u12
>>> d = u12.U12(debug=True)
open called
Writing: [0x0, 0x0, 0x0, 0x0, 0x0, 0x57, 0x0, 0x0]
Received: [0x57, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0]
>>> d.rawCounterPWMDIO()
Writing: [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]
Received: [0x0, 0x0, 0x0, 0x0, 0xbb, 0x10, 0x0, 0xef]
{
'IO3toIO0States':
<BitField object: [ IO3 = Low (0), IO2 = Low (0),
IO1 = Low (0), IO0 = Low (0) ] >,
'Counter': 3138388207,
'D7toD0States':
<BitField object: [ D7 = Low (0), D6 = Low (0),
D5 = Low (0), D4 = Low (0),
D3 = Low (0), D2 = Low (0),
D1 = Low (0), D0 = Low (0) ] >,
'D15toD8States':
<BitField object: [ D15 = Low (0), D14 = Low (0),
D13 = Low (0), D12 = Low (0),
D11 = Low (0), D10 = Low (0),
D9 = Low (0), D8 = Low (0) ] >
}