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.