some updates from the i2c front (a little bit technical):
connect to pic with serial #1, notice the 3 attached slaves:
./ktest
/dev/Klondike
4d 00 10 01 00 00 00 4b 31 36 00 00 00 00 00
Version:10, Serial#:1, ProductID: K16
Cmds [WAISCE.Q]: s
53 00 52 10 03 00 00 ff 00 00 00 00 00
State:R, ASICs:16, Slaves:3, WorkQ:0, Current WorkID:0, Temp:255, Fan:0, HashCount:0, ErrCount:0
connect to 1st slave:
Cmds [WAISCE.Q]: .
Target Address: 1
Address changed to 1
Cmds [WAISCE.Q]: i
49 01 10 02 00 00 00 4b 31 36 00 00 00 00 00
Version:10, Serial#:2, ProductID: K16
connect to 2nd slave:
Cmds [WAISCE.Q]: .
Target Address: 2
Address changed to 2
Cmds [WAISCE.Q]: i
49 02 10 03 00 00 00 4b 31 36 00 00 00 00 00
Version:10, Serial#:3, ProductID: K16
connect to 3rd slave:
Cmds [WAISCE.Q]: .
Target Address: 3
Address changed to 3
Cmds [WAISCE.Q]: i
49 03 10 04 00 00 00 4b 31 36 00 00 00 00 00
Version:10, Serial#:4, ProductID: K16
Cmds [WAISCE.Q]: q
and now unplug usb and plug usb to pic with serial #2, without reset of the system, notice the 3 attached slaves:
./ktest
/dev/Klondike
4d 00 10 02 00 00 00 4b 31 36 00 00 00 00 00
Version:10, Serial#:2, ProductID: K16
Cmds [WAISCE.Q]: s
53 00 52 10 03 00 00 e7 00 00 00 00 00
State:R, ASICs:16, Slaves:3, WorkQ:0, Current WorkID:0, Temp:231, Fan:0, HashCount:0, ErrCount:0
connect to 1st slave:
Cmds [WAISCE.Q]: .
Target Address: 1
Address changed to 1
Cmds [WAISCE.Q]: i
49 01 10 01 00 00 00 4b 31 36 00 00 00 00 00
Version:10, Serial#:1, ProductID: K16
connect to 2nd slave:
Cmds [WAISCE.Q]: .
Target Address: 2
Address changed to 2
Cmds [WAISCE.Q]: i
49 02 10 03 00 00 00 4b 31 36 00 00 00 00 00
Version:10, Serial#:3, ProductID: K16
connect to 3rd slave:
Cmds [WAISCE.Q]: .
Target Address: 3
Address changed to 3
Cmds [WAISCE.Q]: i
49 03 10 04 00 00 00 4b 31 36 00 00 00 00 00
Version:10, Serial#:4, ProductID: K16
Cmds [WAISCE.Q]: q
I will forward the i2c code now to bkkcoins.