Hex Artifact Content

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.