; This demonstrates Mapping Bits
; Inputs
;
; <- Copy   Bit
; <~ Invert Bit
; *** RIO I: and O: bit numbers are octal by default
;     This can be overridden with a prefix of 0d for decimal
;     0d08 for example
; Ethernet/IP bit numbers are in decimal by default
;     This can be overridden with a prefix of 0o for octal
;     0o10 for example

Baud 230k             ; 57k, 115k or 230k

Name "TestTarget"
Rack 0o03 1 4         ; octal rack number, start quarter, end quarter

IpAddr 10.10.0.198
RPI 10

AssemIns, 6
O_T_ConnPt, 2
T_O_ConnPt, 1

Inputs 126  ; Bytes: 'Seq'2 + 'StsHdr'4 + 'Payload'120 (60 ints or 30 dints)
I:0.00 <- Int[0].12
I:0.01 <- Int[0].13
I:0.02 <- Int[0].14
I:0.03 <- Int[0].15

I:0.14 <- Int[0].00
I:0.15 <- Int[0].01
I:0.16 <- Int[0].02
I:0.17 <- Int[0].03

I:1.0d00 <- Dint[10].28
I:1.0d01 <- Dint[10].29
I:1.0d02 <- Dint[10].30
I:1.0d03 <- Dint[10].31

I:1.0d12 <- Dint[10].00
I:1.0d13 <- Dint[10].01
I:1.0d14 <- Dint[10].02
I:1.0d15 <- Dint[10].03

; Inverted Bits
I:2.00 <~ Int[2].12
I:2.01 <~ Int[2].13
I:2.02 <~ Int[2].14
I:2.03 <~ Int[2].15

I:2.0d12 <~ Int[2].00
I:2.0d13 <~ Int[2].01
I:2.0d14 <~ Int[2].02
I:2.0d15 <~ Int[2].03
EndInputs

Outputs 126 ; Bytes: 'Seq'2 + 'Run/IdleHdr'4 + 'Payload'120 (60 ints or 30 dints)
O:0.00 -> Int[0].12
O:0.01 -> Int[0].13
O:0.02 -> Int[0].14
O:0.03 -> Int[0].15

O:0.14 -> Int[0].00
O:0.15 -> Int[0].01
O:0.16 -> Int[0].02
O:0.17 -> Int[0].03

O:1.0d00 -> Dint[10].28
O:1.0d01 -> Dint[10].29
O:1.0d02 -> Dint[10].30
O:1.0d03 -> Dint[10].31

O:1.0d12 -> Dint[10].00
O:1.0d13 -> Dint[10].01
O:1.0d14 -> Dint[10].02
O:1.0d15 -> Dint[10].03

; Inverted Bits
O:2.00 ~> Int[2].12
O:2.01 ~> Int[2].13
O:2.02 ~> Int[2].14
O:2.03 ~> Int[2].15

O:2.0d12 ~> Int[2].00
O:2.0d13 ~> Int[2].01
O:2.0d14 ~> Int[2].02
O:2.0d15 ~> Int[2].03
EndOutputs

EndRack