Artifact 65d5ccaa53d1f77f55a8147c4732352eaf9c521d:
Wiki page
[
twowire] by
schelte
2014-03-19 21:00:58.
0000: 44 20 32 30 31 34 2d 30 33 2d 31 39 54 32 31 3a D 2014-03-19T21:
0010: 30 30 3a 35 38 2e 39 33 35 0a 4c 20 74 77 6f 77 00:58.935.L twow
0020: 69 72 65 0a 50 20 34 65 64 37 38 64 64 38 64 30 ire.P 4ed78dd8d0
0030: 32 63 66 63 39 66 65 61 35 35 62 30 65 38 35 61 2cfc9fea55b0e85a
0040: 61 38 39 39 62 31 33 34 32 37 39 66 35 61 0a 55 a899b134279f5a.U
0050: 20 73 63 68 65 6c 74 65 0a 57 20 31 36 34 33 0a schelte.W 1643.
0060: 3c 68 31 3e 54 68 65 20 74 77 6f 77 69 72 65 20 <h1>The twowire
0070: 63 6f 6d 6d 61 6e 64 3c 2f 68 31 3e 0d 0a 0d 0a command</h1>....
0080: 3c 68 72 3e 0d 0a 3c 68 32 3e 53 79 6e 6f 70 73 <hr>..<h2>Synops
0090: 69 73 3c 2f 68 32 3e 0d 0a 0d 0a 3c 62 3e 74 77 is</h2>....<b>tw
00a0: 6f 77 69 72 65 3c 2f 62 3e 20 3c 69 3e 73 75 62 owire</b> <i>sub
00b0: 63 6f 6d 6d 61 6e 64 3c 2f 69 3e 20 3f 3c 69 3e command</i> ?<i>
00c0: 61 72 67 20 2e 2e 2e 3c 2f 69 3e 3f 0d 0a 3c 68 arg ...</i>?..<h
00d0: 72 3e 0d 0a 3c 68 32 3e 44 65 73 63 72 69 70 74 r>..<h2>Descript
00e0: 69 6f 6e 3c 2f 68 32 3e 0d 0a 0d 0a 54 68 65 20 ion</h2>....The
00f0: 3c 62 3e 74 77 6f 77 69 72 65 3c 2f 62 3e 20 63 <b>twowire</b> c
0100: 6f 6d 6d 61 6e 64 20 70 72 6f 76 69 64 65 73 20 ommand provides
0110: 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 69 32 access to the i2
0120: 63 20 62 75 73 73 65 73 20 6f 66 20 74 68 65 20 c busses of the
0130: 52 61 73 70 62 65 72 72 79 20 50 69 2e 20 54 68 Raspberry Pi. Th
0140: 65 20 6c 65 67 61 6c 20 76 61 6c 75 65 73 20 6f e legal values o
0150: 66 20 3c 69 3e 73 75 62 63 6f 6d 6d 61 6e 64 3c f <i>subcommand<
0160: 2f 69 3e 20 61 72 65 20 6c 69 73 74 65 64 20 62 /i> are listed b
0170: 65 6c 6f 77 2e 20 4e 6f 74 65 20 74 68 61 74 20 elow. Note that
0180: 79 6f 75 20 63 61 6e 20 61 62 62 72 65 76 69 61 you can abbrevia
0190: 74 65 20 74 68 65 20 3c 69 3e 73 75 62 63 6f 6d te the <i>subcom
01a0: 6d 61 6e 64 3c 2f 69 3e 73 2e 0d 0a 0d 0a 3c 64 mand</i>s.....<d
01b0: 6c 3e 0d 0a 3c 64 74 3e 3c 62 3e 74 77 6f 77 69 l>..<dt><b>twowi
01c0: 72 65 20 72 65 61 64 62 79 74 65 3c 2f 62 3e 20 re readbyte</b>
01d0: 3c 69 3e 68 61 6e 64 6c 65 3c 2f 69 3e 0d 0a 3c <i>handle</i>..<
01e0: 64 64 3e 52 65 61 64 20 61 20 73 69 6e 67 6c 65 dd>Read a single
01f0: 20 62 79 74 65 20 66 72 6f 6d 20 74 68 65 20 64 byte from the d
0200: 65 76 69 63 65 20 61 64 64 72 65 73 73 65 64 20 evice addressed
0210: 62 79 20 74 68 65 20 3c 69 3e 68 61 6e 64 6c 65 by the <i>handle
0220: 3c 2f 69 3e 2e 0d 0a 3c 64 74 3e 3c 62 3e 74 77 </i>...<dt><b>tw
0230: 6f 77 69 72 65 20 72 65 61 64 72 65 67 62 79 74 owire readregbyt
0240: 65 3c 2f 62 3e 20 3c 69 3e 68 61 6e 64 6c 65 3c e</b> <i>handle<
0250: 2f 69 3e 20 3c 69 3e 72 65 67 69 73 74 65 72 3c /i> <i>register<
0260: 2f 69 3e 0d 0a 3c 64 64 3e 52 65 61 64 20 61 20 /i>..<dd>Read a
0270: 62 79 74 65 20 66 72 6f 6d 20 74 68 65 20 73 70 byte from the sp
0280: 65 63 69 66 69 65 64 20 3c 69 3e 72 65 67 69 73 ecified <i>regis
0290: 74 65 72 3c 2f 69 3e 20 6f 66 20 74 68 65 20 64 ter</i> of the d
02a0: 65 76 69 63 65 20 61 64 64 72 65 73 73 65 64 20 evice addressed
02b0: 62 79 20 74 68 65 20 3c 69 3e 68 61 6e 64 6c 65 by the <i>handle
02c0: 3c 2f 69 3e 2e 0d 0a 3c 64 74 3e 3c 62 3e 74 77 </i>...<dt><b>tw
02d0: 6f 77 69 72 65 20 72 65 61 64 72 65 67 77 6f 72 owire readregwor
02e0: 64 3c 2f 62 3e 20 3c 69 3e 68 61 6e 64 6c 65 3c d</b> <i>handle<
02f0: 2f 69 3e 20 3c 69 3e 72 65 67 69 73 74 65 72 3c /i> <i>register<
0300: 2f 69 3e 0d 0a 3c 64 64 3e 52 65 61 64 20 61 20 /i>..<dd>Read a
0310: 32 2d 62 79 74 65 20 77 6f 72 64 20 28 4c 53 42 2-byte word (LSB
0320: 2c 20 4d 53 42 29 20 66 72 6f 6d 20 74 68 65 20 , MSB) from the
0330: 73 70 65 63 69 66 69 65 64 20 3c 69 3e 72 65 67 specified <i>reg
0340: 69 73 74 65 72 3c 2f 69 3e 20 6f 66 20 74 68 65 ister</i> of the
0350: 20 64 65 76 69 63 65 20 61 64 64 72 65 73 73 65 device addresse
0360: 64 20 62 79 20 74 68 65 20 3c 69 3e 68 61 6e 64 d by the <i>hand
0370: 6c 65 3c 2f 69 3e 2e 0d 0a 3c 64 74 3e 3c 62 3e le</i>...<dt><b>
0380: 74 77 6f 77 69 72 65 20 74 77 6f 77 69 72 65 3c twowire twowire<
0390: 2f 62 3e 20 3c 69 3e 62 75 73 3c 2f 69 3e 20 3c /b> <i>bus</i> <
03a0: 69 3e 61 64 64 72 65 73 73 3c 2f 69 3e 0d 0a 3c i>address</i>..<
03b0: 64 64 3e 43 72 65 61 74 65 20 61 20 3c 69 3e 68 dd>Create a <i>h
03c0: 61 6e 64 6c 65 3c 2f 69 3e 20 66 6f 72 20 74 68 andle</i> for th
03d0: 65 20 69 32 63 20 64 65 76 69 63 65 20 77 69 74 e i2c device wit
03e0: 68 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 h the specified
03f0: 3c 69 3e 61 64 64 72 65 73 73 3c 2f 69 3e 20 6f <i>address</i> o
0400: 6e 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 n the specified
0410: 69 32 63 20 3c 69 3e 62 75 73 3c 2f 69 3e 2e 20 i2c <i>bus</i>.
0420: 54 68 69 73 20 3c 69 3e 68 61 6e 64 6c 65 3c 2f This <i>handle</
0430: 69 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 77 i> can be used w
0440: 69 74 68 20 74 68 65 20 6f 74 68 65 72 20 73 75 ith the other su
0450: 62 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 65 78 63 bcommands to exc
0460: 68 61 6e 67 65 20 64 61 74 61 20 77 69 74 68 20 hange data with
0470: 74 68 65 20 64 65 76 69 63 65 2e 20 54 68 65 20 the device. The
0480: 72 65 67 75 6c 61 72 20 54 63 6c 20 3c 62 3e 63 regular Tcl <b>c
0490: 6c 6f 73 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 63 lose</b> or <b>c
04a0: 68 61 6e 20 63 6c 6f 73 65 3c 2f 62 3e 20 63 6f han close</b> co
04b0: 6d 6d 61 6e 64 73 20 63 61 6e 20 62 65 20 75 73 mmands can be us
04c0: 65 64 20 74 6f 20 72 65 6c 65 61 73 65 20 74 68 ed to release th
04d0: 65 20 68 61 6e 64 6c 65 2e 0d 0a 3c 64 74 3e 3c e handle...<dt><
04e0: 62 3e 74 77 6f 77 69 72 65 20 77 72 69 74 65 62 b>twowire writeb
04f0: 79 74 65 3c 2f 62 3e 20 3c 69 3e 68 61 6e 64 6c yte</b> <i>handl
0500: 65 3c 2f 69 3e 20 3c 69 3e 64 61 74 61 3c 2f 69 e</i> <i>data</i
0510: 3e 0d 0a 3c 64 64 3e 57 72 69 74 65 20 61 20 73 >..<dd>Write a s
0520: 69 6e 67 6c 65 20 62 79 74 65 20 74 6f 20 74 68 ingle byte to th
0530: 65 20 64 65 76 69 63 65 20 61 64 64 72 65 73 73 e device address
0540: 65 64 20 62 79 20 74 68 65 20 3c 69 3e 68 61 6e ed by the <i>han
0550: 64 6c 65 3c 2f 69 3e 2e 0d 0a 3c 64 74 3e 3c 62 dle</i>...<dt><b
0560: 3e 74 77 6f 77 69 72 65 20 77 72 69 74 65 72 65 >twowire writere
0570: 67 62 79 74 65 3c 2f 62 3e 20 3c 69 3e 68 61 6e gbyte</b> <i>han
0580: 64 6c 65 3c 2f 69 3e 20 3c 69 3e 72 65 67 69 73 dle</i> <i>regis
0590: 74 65 72 3c 2f 69 3e 20 3c 69 3e 64 61 74 61 3c ter</i> <i>data<
05a0: 2f 69 3e 0d 0a 3c 64 64 3e 57 72 69 74 65 20 61 /i>..<dd>Write a
05b0: 20 62 79 74 65 20 74 6f 20 74 68 65 20 73 70 65 byte to the spe
05c0: 63 69 66 69 65 64 20 3c 69 3e 72 65 67 69 73 74 cified <i>regist
05d0: 65 72 3c 2f 69 3e 20 6f 66 20 74 68 65 20 64 65 er</i> of the de
05e0: 76 69 63 65 20 61 64 64 72 65 73 73 65 64 20 62 vice addressed b
05f0: 79 20 74 68 65 20 3c 69 3e 68 61 6e 64 6c 65 3c y the <i>handle<
0600: 2f 69 3e 2e 0d 0a 3c 64 74 3e 3c 62 3e 74 77 6f /i>...<dt><b>two
0610: 77 69 72 65 20 77 72 69 74 65 72 65 67 77 6f 72 wire writeregwor
0620: 64 3c 2f 62 3e 20 3c 69 3e 68 61 6e 64 6c 65 3c d</b> <i>handle<
0630: 2f 69 3e 20 3c 69 3e 72 65 67 69 73 74 65 72 3c /i> <i>register<
0640: 2f 69 3e 20 3c 69 3e 64 61 74 61 3c 2f 69 3e 0d /i> <i>data</i>.
0650: 0a 3c 64 64 3e 57 72 69 74 65 20 61 20 32 2d 62 .<dd>Write a 2-b
0660: 79 74 65 20 77 6f 72 64 20 28 4c 53 42 2c 20 4d yte word (LSB, M
0670: 53 42 29 20 74 6f 20 74 68 65 20 73 70 65 63 69 SB) to the speci
0680: 66 69 65 64 20 3c 69 3e 72 65 67 69 73 74 65 72 fied <i>register
0690: 3c 2f 69 3e 20 6f 66 20 74 68 65 20 64 65 76 69 </i> of the devi
06a0: 63 65 20 61 64 64 72 65 73 73 65 64 20 62 79 20 ce addressed by
06b0: 74 68 65 20 3c 69 3e 68 61 6e 64 6c 65 3c 2f 69 the <i>handle</i
06c0: 3e 2e 0d 0a 3c 2f 64 6c 3e 0d 0a 0a 5a 20 38 33 >...</dl>...Z 83
06d0: 36 38 61 39 34 39 36 32 64 39 31 30 35 62 39 33 68a94962d9105b93
06e0: 39 63 66 61 32 37 33 35 39 61 66 31 37 62 0a 9cfa27359af17b.