Hex Artifact Content

Artifact 89773412212b3eb2a7be363a4597ea46c7439f4e:

Wiki page [jeeio] by schelte 2014-03-19 22:34:29.
0000: 44 20 32 30 31 34 2d 30 33 2d 31 39 54 32 32 3a  D 2014-03-19T22:
0010: 33 34 3a 32 39 2e 37 35 32 0a 4c 20 6a 65 65 69  34:29.752.L jeei
0020: 6f 0a 55 20 73 63 68 65 6c 74 65 0a 57 20 32 30  o.U schelte.W 20
0030: 31 35 0a 3c 68 31 3e 54 68 65 20 6a 65 65 69 6f  15.<h1>The jeeio
0040: 20 63 6f 6d 6d 61 6e 64 3c 2f 68 31 3e 0d 0a 0d   command</h1>...
0050: 0a 3c 68 72 3e 0d 0a 0d 0a 3c 68 32 3e 53 79 6e  .<hr>....<h2>Syn
0060: 6f 70 73 69 73 3c 2f 68 32 3e 0d 0a 3c 62 3e 70  opsis</h2>..<b>p
0070: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 6a  ackage require j
0080: 65 65 69 6f 3c 2f 62 3e 0d 0a 0d 0a 3c 62 3e 6a  eeio</b>....<b>j
0090: 65 65 69 6f 3c 2f 62 3e 20 3c 69 3e 73 75 62 63  eeio</b> <i>subc
00a0: 6f 6d 6d 61 6e 64 3c 2f 69 3e 20 3f 3c 69 3e 61  ommand</i> ?<i>a
00b0: 72 67 20 2e 2e 2e 3c 2f 69 3e 3f 0d 0a 0d 0a 3c  rg ...</i>?....<
00c0: 68 72 3e 0d 0a 0d 0a 3c 68 32 3e 44 65 73 63 72  hr>....<h2>Descr
00d0: 69 70 74 69 6f 6e 3c 2f 68 32 3e 0d 0a 0d 0a 54  iption</h2>....T
00e0: 68 65 20 3c 62 3e 6a 65 65 69 6f 3c 2f 62 3e 20  he <b>jeeio</b> 
00f0: 63 6f 6d 6d 61 6e 64 20 6c 65 74 73 20 79 6f 75  command lets you
0100: 20 69 6e 74 65 72 61 63 74 20 77 69 74 68 20 4d   interact with M
0110: 43 50 32 33 30 30 38 20 62 61 73 65 64 20 64 65  CP23008 based de
0120: 76 69 63 65 73 2c 20 6c 69 6b 65 20 74 68 65 20  vices, like the 
0130: 6a 65 65 6c 61 62 73 20 65 78 70 61 6e 64 65 72  jeelabs expander
0140: 20 70 6c 75 67 20 61 6e 64 20 6f 75 74 70 75 74   plug and output
0150: 20 70 6c 75 67 2e 20 54 68 65 20 6c 65 67 61 6c   plug. The legal
0160: 20 76 61 6c 75 65 73 20 6f 66 20 3c 69 3e 73 75   values of <i>su
0170: 62 63 6f 6d 6d 61 6e 64 3c 2f 69 3e 20 61 72 65  bcommand</i> are
0180: 20 6c 69 73 74 65 64 20 62 65 6c 6f 77 2e 20 4e   listed below. N
0190: 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e  ote that you can
01a0: 20 61 62 62 72 65 76 69 61 74 65 20 74 68 65 20   abbreviate the 
01b0: 3c 69 3e 73 75 62 63 6f 6d 6d 61 6e 64 3c 2f 69  <i>subcommand</i
01c0: 3e 73 2e 0d 0a 0d 0a 3c 64 6c 3e 0d 0a 3c 64 74  >s.....<dl>..<dt
01d0: 3e 3c 62 3e 6a 65 65 69 6f 20 65 78 70 61 6e 64  ><b>jeeio expand
01e0: 65 72 70 6c 75 67 3c 2f 62 3e 20 3c 69 3e 62 75  erplug</b> <i>bu
01f0: 73 3c 2f 69 3e 20 3f 3c 69 3e 6e 75 6d 62 65 72  s</i> ?<i>number
0200: 3c 2f 69 3e 3f 0d 0a 3c 64 64 3e 4f 70 65 6e 20  </i>?..<dd>Open 
0210: 61 20 63 68 61 6e 6e 65 6c 20 74 6f 20 61 20 6a  a channel to a j
0220: 65 65 6c 61 62 73 20 65 78 70 61 6e 64 65 72 20  eelabs expander 
0230: 70 6c 75 67 2e 20 54 68 65 72 65 20 63 61 6e 20  plug. There can 
0240: 62 65 20 75 70 20 74 6f 20 66 6f 75 72 20 65 78  be up to four ex
0250: 70 61 6e 64 65 72 20 70 6c 75 67 73 20 6f 6e 20  pander plugs on 
0260: 74 68 65 20 73 61 6d 65 20 69 32 63 20 62 75 73  the same i2c bus
0270: 2e 20 54 68 65 20 3c 69 3e 6e 75 6d 62 65 72 3c  . The <i>number<
0280: 2f 69 3e 20 61 72 67 75 6d 65 6e 74 20 73 65 6c  /i> argument sel
0290: 65 63 74 73 20 77 68 69 63 68 20 6f 66 20 74 68  ects which of th
02a0: 65 20 66 6f 75 72 20 64 65 76 69 63 65 73 20 74  e four devices t
02b0: 6f 20 61 63 63 65 73 73 2e 20 54 68 65 20 63 6f  o access. The co
02c0: 6d 6d 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68  mmand returns th
02d0: 65 20 63 68 61 6e 6e 65 6c 20 68 61 6e 64 6c 65  e channel handle
02e0: 2e 0d 0a 3c 64 74 3e 3c 62 3e 6a 65 65 69 6f 20  ...<dt><b>jeeio 
02f0: 6f 75 74 70 75 74 70 6c 75 67 3c 2f 62 3e 20 3c  outputplug</b> <
0300: 69 3e 62 75 73 3c 2f 69 3e 20 3f 3c 69 3e 6e 75  i>bus</i> ?<i>nu
0310: 6d 62 65 72 3c 2f 69 3e 3f 0d 0a 3c 64 64 3e 4f  mber</i>?..<dd>O
0320: 70 65 6e 20 61 20 63 68 61 6e 6e 65 6c 20 74 6f  pen a channel to
0330: 20 61 20 6a 65 65 6c 61 62 73 20 6f 75 74 70 75   a jeelabs outpu
0340: 74 20 70 6c 75 67 2e 20 54 68 65 72 65 20 63 61  t plug. There ca
0350: 6e 20 62 65 20 61 20 6d 61 78 69 6d 75 6d 20 6f  n be a maximum o
0360: 66 20 74 77 6f 20 65 78 70 61 6e 64 65 72 20 70  f two expander p
0370: 6c 75 67 73 20 6f 6e 20 74 68 65 20 73 61 6d 65  lugs on the same
0380: 20 69 32 63 20 62 75 73 2e 20 54 68 65 20 3c 69   i2c bus. The <i
0390: 3e 6e 75 6d 62 65 72 3c 2f 69 3e 20 61 72 67 75  >number</i> argu
03a0: 6d 65 6e 74 20 73 65 6c 65 63 74 73 20 77 68 69  ment selects whi
03b0: 63 68 20 6f 66 20 74 68 65 20 74 77 6f 20 64 65  ch of the two de
03c0: 76 69 63 65 73 20 74 6f 20 61 63 63 65 73 73 2e  vices to access.
03d0: 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74   The command ret
03e0: 75 72 6e 73 20 74 68 65 20 63 68 61 6e 6e 65 6c  urns the channel
03f0: 20 68 61 6e 64 6c 65 2e 0d 0a 3c 64 74 3e 3c 62   handle...<dt><b
0400: 3e 6a 65 65 69 6f 20 72 65 61 64 67 70 69 6f 3c  >jeeio readgpio<
0410: 2f 62 3e 20 3c 69 3e 68 61 6e 64 6c 65 3c 2f 69  /b> <i>handle</i
0420: 3e 0d 0a 3c 64 64 3e 52 65 61 64 20 74 68 65 20  >..<dd>Read the 
0430: 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 6f 66  current state of
0440: 20 61 6c 6c 20 38 20 67 70 69 6f 20 70 69 6e 73   all 8 gpio pins
0450: 20 61 73 20 61 20 73 69 6e 67 6c 65 20 62 79 74   as a single byt
0460: 65 2e 0d 0a 3c 64 74 3e 3c 62 3e 6a 65 65 69 6f  e...<dt><b>jeeio
0470: 20 72 65 61 64 70 69 6e 3c 2f 62 3e 20 3c 69 3e   readpin</b> <i>
0480: 68 61 6e 64 6c 65 3c 2f 69 3e 20 3c 69 3e 70 69  handle</i> <i>pi
0490: 6e 3c 2f 69 3e 0d 0a 3c 64 64 3e 52 65 61 64 20  n</i>..<dd>Read 
04a0: 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65  the state of the
04b0: 20 73 70 65 63 69 66 69 65 64 20 67 70 69 6f 20   specified gpio 
04c0: 70 69 6e 2e 0d 0a 3c 64 74 3e 3c 62 3e 6a 65 65  pin...<dt><b>jee
04d0: 69 6f 20 73 65 74 69 6e 70 75 74 3c 2f 62 3e 20  io setinput</b> 
04e0: 3c 69 3e 68 61 6e 64 6c 65 3c 2f 69 3e 20 3c 69  <i>handle</i> <i
04f0: 3e 70 69 6e 3c 2f 69 3e 0d 0a 3c 64 64 3e 43 6f  >pin</i>..<dd>Co
0500: 6e 66 69 67 75 72 65 20 74 68 65 20 73 70 65 63  nfigure the spec
0510: 69 66 69 65 64 20 67 70 69 6f 20 70 69 6e 20 61  ified gpio pin a
0520: 73 20 69 6e 70 75 74 2e 0d 0a 3c 64 74 3e 3c 62  s input...<dt><b
0530: 3e 6a 65 65 69 6f 20 73 65 74 6f 75 74 70 75 74  >jeeio setoutput
0540: 3c 2f 62 3e 20 3c 69 3e 68 61 6e 64 6c 65 3c 2f  </b> <i>handle</
0550: 69 3e 20 3c 69 3e 70 69 6e 3c 2f 69 3e 0d 0a 3c  i> <i>pin</i>..<
0560: 64 64 3e 43 6f 6e 66 69 67 75 72 65 20 74 68 65  dd>Configure the
0570: 20 73 70 65 63 69 66 69 65 64 20 67 70 69 6f 20   specified gpio 
0580: 70 69 6e 20 61 73 20 6f 75 74 70 75 74 2e 0d 0a  pin as output...
0590: 3c 64 74 3e 3c 62 3e 6a 65 65 69 6f 20 77 72 69  <dt><b>jeeio wri
05a0: 74 65 64 64 72 3c 2f 62 3e 20 3c 69 3e 68 61 6e  teddr</b> <i>han
05b0: 64 6c 65 3c 2f 69 3e 20 3c 69 3e 64 61 74 61 3c  dle</i> <i>data<
05c0: 2f 69 3e 0d 0a 3c 64 64 3e 43 6f 6e 66 69 67 75  /i>..<dd>Configu
05d0: 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20  re the function 
05e0: 66 6f 72 20 61 6c 6c 20 38 20 67 70 69 6f 20 70  for all 8 gpio p
05f0: 69 6e 73 2e 20 45 61 63 68 20 62 69 74 20 69 6e  ins. Each bit in
0600: 20 74 68 65 20 3c 69 3e 64 61 74 61 3c 2f 69 3e   the <i>data</i>
0610: 20 76 61 6c 75 65 20 6d 61 74 63 68 65 73 20 61   value matches a
0620: 20 67 70 69 6f 20 70 69 6e 2e 20 49 66 20 74 68   gpio pin. If th
0630: 65 20 62 69 74 20 69 73 20 30 2c 20 74 68 65 20  e bit is 0, the 
0640: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 69  corresponding pi
0650: 6e 20 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20  n is configured 
0660: 61 73 20 6f 75 74 70 75 74 2e 20 49 66 20 74 68  as output. If th
0670: 65 20 62 69 74 20 69 73 20 31 2c 20 74 68 65 20  e bit is 1, the 
0680: 70 69 6e 20 69 73 20 63 6f 6e 66 69 67 75 72 65  pin is configure
0690: 64 20 61 73 20 69 6e 70 75 74 2e 0d 0a 3c 64 74  d as input...<dt
06a0: 3e 3c 62 3e 6a 65 65 69 6f 20 77 72 69 74 65 67  ><b>jeeio writeg
06b0: 70 69 6f 3c 2f 62 3e 20 3c 69 3e 68 61 6e 64 6c  pio</b> <i>handl
06c0: 65 3c 2f 69 3e 20 3c 69 3e 64 61 74 61 3c 2f 69  e</i> <i>data</i
06d0: 3e 0d 0a 3c 64 64 3e 53 65 74 20 74 68 65 20 73  >..<dd>Set the s
06e0: 74 61 74 65 20 6f 66 20 61 6c 6c 20 6f 75 74 70  tate of all outp
06f0: 75 74 20 70 69 6e 73 2e 20 54 68 65 20 6f 75 74  ut pins. The out
0700: 70 75 74 20 70 69 6e 73 20 61 72 65 20 73 65 74  put pins are set
0710: 20 6c 6f 77 20 6f 72 20 68 69 67 68 2c 20 64 65   low or high, de
0720: 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 76  pending on the v
0730: 61 6c 75 65 20 6f 66 20 74 68 65 20 62 69 74 20  alue of the bit 
0740: 69 6e 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20  in the matching 
0750: 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20  position in the 
0760: 3c 69 3e 64 61 74 61 3c 2f 69 3e 20 76 61 6c 75  <i>data</i> valu
0770: 65 2e 20 42 69 74 73 20 6d 61 74 63 68 69 6e 67  e. Bits matching
0780: 20 69 6e 70 75 74 20 70 69 6e 73 20 61 72 65 20   input pins are 
0790: 69 67 6e 6f 72 65 64 2e 0d 0a 3c 64 74 3e 3c 62  ignored...<dt><b
07a0: 3e 6a 65 65 69 6f 20 77 72 69 74 65 70 69 6e 3c  >jeeio writepin<
07b0: 2f 62 3e 20 3c 69 3e 68 61 6e 64 6c 65 3c 2f 69  /b> <i>handle</i
07c0: 3e 20 3c 69 3e 70 69 6e 3c 2f 69 3e 20 3c 69 3e  > <i>pin</i> <i>
07d0: 76 61 6c 75 65 3c 2f 69 3e 0d 0a 3c 64 64 3e 53  value</i>..<dd>S
07e0: 65 74 20 74 68 65 20 73 74 61 74 65 20 6f 66 20  et the state of 
07f0: 74 68 65 20 73 70 65 63 69 66 69 65 64 20 6f 75  the specified ou
0800: 74 70 75 74 20 70 69 6e 2e 0d 0a 3c 2f 64 6c 3e  tput pin...</dl>
0810: 0d 0a 0a 5a 20 64 30 31 37 66 66 32 36 37 31 61  ...Z d017ff2671a
0820: 62 30 66 30 65 34 63 31 61 63 37 38 38 63 36 62  b0f0e4c1ac788c6b
0830: 31 66 30 30 35 0a                                1f005.