Hex Artifact Content

Artifact 4d971f894b31e7f49a50ff75bf0891958e58e434:

Wiki page [piio] by schelte 2018-03-31 07:59:20.
0000: 44 20 32 30 31 38 2d 30 33 2d 33 31 54 30 37 3a  D 2018-03-31T07:
0010: 35 39 3a 32 30 2e 38 32 35 0a 4c 20 70 69 69 6f  59:20.825.L piio
0020: 0a 50 20 63 62 39 39 65 61 66 32 66 62 65 63 36  .P cb99eaf2fbec6
0030: 35 30 33 65 33 66 62 34 36 63 37 64 33 63 61 31  503e3fb46c7d3ca1
0040: 33 63 32 33 34 61 34 61 36 31 66 0a 55 20 73 63  3c234a4a61f.U sc
0050: 68 65 6c 74 65 0a 57 20 32 31 36 35 0a 3c 68 31  helte.W 2165.<h1
0060: 3e 54 68 65 20 70 69 69 6f 20 63 6f 6d 6d 61 6e  >The piio comman
0070: 64 3c 2f 68 31 3e 0d 0a 0d 0a 3c 68 72 3e 0d 0a  d</h1>....<hr>..
0080: 0d 0a 3c 68 32 3e 53 79 6e 6f 70 73 69 73 3c 2f  ..<h2>Synopsis</
0090: 68 32 3e 0d 0a 0d 0a 3c 62 3e 70 69 69 6f 3c 2f  h2>....<b>piio</
00a0: 62 3e 20 3c 69 3e 73 75 62 63 6f 6d 6d 61 6e 64  b> <i>subcommand
00b0: 3c 2f 69 3e 20 3f 3c 69 3e 61 72 67 20 2e 2e 2e  </i> ?<i>arg ...
00c0: 3c 2f 69 3e 3f 0d 0a 0d 0a 3c 68 72 3e 0d 0a 0d  </i>?....<hr>...
00d0: 0a 3c 68 32 3e 44 65 73 63 72 69 70 74 69 6f 6e  .<h2>Description
00e0: 3c 2f 68 32 3e 0d 0a 0d 0a 54 68 65 20 3c 62 3e  </h2>....The <b>
00f0: 70 69 69 6f 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  piio</b> command
0100: 20 6c 65 74 73 20 79 6f 75 20 6d 61 6e 69 70 75   lets you manipu
0110: 6c 61 74 65 20 74 68 65 20 52 61 73 70 62 65 72  late the Raspber
0120: 72 79 20 50 69 20 67 70 69 6f 20 70 69 6e 73 2e  ry Pi gpio pins.
0130: 20 54 68 65 20 6c 65 67 61 6c 20 76 61 6c 75 65   The legal value
0140: 73 20 6f 66 20 3c 69 3e 73 75 62 63 6f 6d 6d 61  s of <i>subcomma
0150: 6e 64 3c 2f 69 3e 20 61 72 65 20 6c 69 73 74 65  nd</i> are liste
0160: 64 20 62 65 6c 6f 77 2e 20 4e 6f 74 65 20 74 68  d below. Note th
0170: 61 74 20 79 6f 75 20 63 61 6e 20 61 62 62 72 65  at you can abbre
0180: 76 69 61 74 65 20 74 68 65 20 3c 69 3e 73 75 62  viate the <i>sub
0190: 63 6f 6d 6d 61 6e 64 3c 2f 69 3e 73 2e 0d 0a 0d  command</i>s....
01a0: 0a 3c 64 6c 3e 0d 0a 3c 64 74 3e 3c 62 3e 70 69  .<dl>..<dt><b>pi
01b0: 69 6f 20 65 76 65 6e 74 3c 2f 62 3e 20 3c 69 3e  io event</b> <i>
01c0: 67 70 69 6f 70 69 6e 3c 2f 69 3e 20 3c 69 3e 65  gpiopin</i> <i>e
01d0: 64 67 65 3c 69 3e 20 3f 3c 69 3e 73 63 72 69 70  dge<i> ?<i>scrip
01e0: 74 3c 69 3e 3f 0d 0a 3c 64 64 3e 41 72 72 61 6e  t<i>?..<dd>Arran
01f0: 67 65 20 66 6f 72 20 74 68 65 20 54 63 6c 20 73  ge for the Tcl s
0200: 63 72 69 70 74 20 3c 69 3e 73 63 72 69 70 74 3c  cript <i>script<
0210: 2f 69 3e 20 74 6f 20 62 65 20 63 61 6c 6c 65 64  /i> to be called
0220: 20 77 68 65 6e 65 76 65 72 20 74 68 65 20 6c 65   whenever the le
0230: 76 65 6c 20 63 68 61 6e 67 65 20 73 70 65 63 69  vel change speci
0240: 66 69 65 64 20 62 79 20 3c 69 3e 65 64 67 65 3c  fied by <i>edge<
0250: 2f 69 3e 20 28 3c 62 3e 72 69 73 69 6e 67 3c 2f  /i> (<b>rising</
0260: 62 3e 20 6f 72 20 3c 62 3e 66 61 6c 6c 69 6e 67  b> or <b>falling
0270: 3c 2f 62 3e 29 20 69 73 20 64 65 74 65 63 74 65  </b>) is detecte
0280: 64 20 6f 6e 20 74 68 65 20 69 6e 70 75 74 20 70  d on the input p
0290: 6f 72 74 2e 20 49 66 20 3c 69 3e 73 63 72 69 70  ort. If <i>scrip
02a0: 74 3c 2f 69 3e 20 69 73 20 74 68 65 20 65 6d 70  t</i> is the emp
02b0: 74 79 20 73 74 72 69 6e 67 2c 20 74 68 65 20 63  ty string, the c
02c0: 75 72 72 65 6e 74 20 20 68 61 6e 64 6c 65 72 20  urrent  handler 
02d0: 69 73 20 64 65 6c 65 74 65 64 2e 20 49 66 20 3c  is deleted. If <
02e0: 69 3e 73 63 72 69 70 74 3c 2f 69 3e 20 69 73 20  i>script</i> is 
02f0: 6f 6d 69 74 74 65 64 2c 20 74 68 65 20 63 75 72  omitted, the cur
0300: 72 65 6e 74 6c 79 20 69 6e 73 74 61 6c 6c 65 64  rently installed
0310: 20 73 63 72 69 70 74 20 69 73 20 72 65 74 75 72   script is retur
0320: 6e 65 64 20 28 6f 72 20 61 6e 20 65 6d 70 74 79  ned (or an empty
0330: 20 73 74 72 69 6e 67 20 69 66 20 6e 6f 20 73 75   string if no su
0340: 63 68 20 68 61 6e 64 6c 65 72 20 69 73 20 69 6e  ch handler is in
0350: 73 74 61 6c 6c 65 64 29 2e 0d 0a 3c 64 74 3e 3c  stalled)...<dt><
0360: 62 3e 70 69 69 6f 20 66 75 6e 63 74 69 6f 6e 3c  b>piio function<
0370: 2f 62 3e 20 3f 3c 69 3e 67 70 69 6f 70 69 6e 3c  /b> ?<i>gpiopin<
0380: 2f 69 3e 3f 20 3f 3c 69 3e 66 75 6e 63 74 69 6f  /i>? ?<i>functio
0390: 6e 3c 2f 69 3e 3f 0d 0a 3c 64 64 3e 4f 62 74 61  n</i>?..<dd>Obta
03a0: 69 6e 20 6f 72 20 63 6f 6e 66 69 67 75 72 65 20  in or configure 
03b0: 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20  the function of 
03c0: 61 20 3c 69 3e 67 70 69 6f 70 69 6e 3c 2f 69 3e  a <i>gpiopin</i>
03d0: 2e 20 57 68 65 6e 20 62 6f 74 68 20 3c 69 3e 67  . When both <i>g
03e0: 70 69 6f 70 69 6e 3c 2f 69 3e 20 61 6e 64 20 3c  piopin</i> and <
03f0: 69 3e 66 75 6e 63 74 69 6f 6e 3c 2f 69 3e 20 61  i>function</i> a
0400: 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 74 68  re specified, th
0410: 65 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68  e function of th
0420: 65 20 67 70 69 6f 20 70 69 6e 20 69 73 20 63 6f  e gpio pin is co
0430: 6e 66 69 67 75 72 65 64 2e 20 57 68 65 6e 20 6f  nfigured. When o
0440: 6e 6c 79 20 61 20 3c 69 3e 67 70 69 6f 70 69 6e  nly a <i>gpiopin
0450: 3c 2f 69 3e 20 69 73 20 73 70 65 63 69 66 69 65  </i> is specifie
0460: 64 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 66  d, the current f
0470: 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 70  unction of the p
0480: 69 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20  in is returned. 
0490: 57 69 74 68 6f 75 74 20 61 72 67 75 6d 65 6e 74  Without argument
04a0: 73 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20  s a list of all 
04b0: 70 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 69 73  pin functions is
04c0: 20 72 65 74 75 72 6e 65 64 2e 20 54 68 65 20 3c   returned. The <
04d0: 69 3e 67 70 69 6f 70 69 6e 3c 2f 69 3e 20 6d 75  i>gpiopin</i> mu
04e0: 73 74 20 62 65 20 73 70 65 63 69 66 69 65 64 20  st be specified 
04f0: 61 73 20 61 20 6e 75 6d 62 65 72 20 62 65 74 77  as a number betw
0500: 65 65 6e 20 30 20 61 6e 64 20 35 33 2e 20 56 61  een 0 and 53. Va
0510: 6c 69 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72  lid functions ar
0520: 65 3a 20 3c 62 3e 69 6e 70 75 74 3c 2f 62 3e 2c  e: <b>input</b>,
0530: 20 3c 62 3e 6f 75 74 70 75 74 3c 2f 62 3e 2c 20   <b>output</b>, 
0540: 3c 62 3e 61 6c 74 66 75 6e 63 30 3c 2f 62 3e 2c  <b>altfunc0</b>,
0550: 20 3c 62 3e 61 6c 74 66 75 6e 63 31 3c 2f 62 3e   <b>altfunc1</b>
0560: 2c 20 3c 62 3e 61 6c 74 66 75 6e 63 32 3c 2f 62  , <b>altfunc2</b
0570: 3e 2c 20 3c 62 3e 61 6c 74 66 75 6e 63 33 3c 2f  >, <b>altfunc3</
0580: 62 3e 2c 20 3c 62 3e 61 6c 74 66 75 6e 63 34 3c  b>, <b>altfunc4<
0590: 2f 62 3e 2c 20 6f 72 20 3c 62 3e 61 6c 74 66 75  /b>, or <b>altfu
05a0: 6e 63 35 3c 2f 62 3e 2e 20 43 68 65 63 6b 20 74  nc5</b>. Check t
05b0: 68 65 20 42 43 4d 32 38 33 35 20 64 6f 63 75 6d  he BCM2835 docum
05c0: 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65  entation for the
05d0: 20 61 76 61 69 6c 61 62 6c 65 20 61 6c 74 65 72   available alter
05e0: 6e 61 74 65 20 66 75 6e 63 74 69 6f 6e 73 20 66  nate functions f
05f0: 6f 72 20 65 61 63 68 20 70 69 6e 2e 0d 0a 3c 64  or each pin...<d
0600: 74 3e 3c 62 3e 70 69 69 6f 20 69 6e 70 75 74 3c  t><b>piio input<
0610: 2f 62 3e 20 3c 69 3e 67 70 69 6f 70 69 6e 3c 2f  /b> <i>gpiopin</
0620: 69 3e 0d 0a 3c 64 64 3e 52 65 61 64 73 20 74 68  i>..<dd>Reads th
0630: 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20  e current state 
0640: 6f 66 20 74 68 65 20 67 70 69 6f 20 70 69 6e 2e  of the gpio pin.
0650: 20 52 65 74 75 72 6e 73 20 30 20 66 6f 72 20 6c   Returns 0 for l
0660: 6f 77 20 61 6e 64 20 31 20 66 6f 72 20 61 20 68  ow and 1 for a h
0670: 69 67 68 20 6c 6f 67 69 63 61 6c 20 6c 65 76 65  igh logical leve
0680: 6c 2e 0d 0a 3c 64 74 3e 3c 62 3e 70 69 69 6f 20  l...<dt><b>piio 
0690: 6f 75 74 70 75 74 3c 2f 62 3e 20 3c 69 3e 67 70  output</b> <i>gp
06a0: 69 6f 70 69 6e 3c 2f 69 3e 20 3c 69 3e 73 74 61  iopin</i> <i>sta
06b0: 74 65 3c 2f 69 3e 0d 0a 3c 64 64 3e 53 65 74 20  te</i>..<dd>Set 
06c0: 74 68 65 20 73 74 61 74 65 20 6f 66 20 61 20 67  the state of a g
06d0: 70 69 6f 20 6f 75 74 70 75 74 20 70 69 6e 2e 20  pio output pin. 
06e0: 54 68 65 20 73 74 61 74 65 20 6d 75 73 74 20 62  The state must b
06f0: 65 20 73 70 65 63 69 66 69 65 64 20 61 73 20 61  e specified as a
0700: 6e 20 69 6e 74 65 67 65 72 2c 20 77 68 65 72 65  n integer, where
0710: 20 30 20 73 65 74 73 20 74 68 65 20 6f 75 74 70   0 sets the outp
0720: 75 74 20 6c 6f 77 20 61 6e 64 20 61 6e 79 20 6f  ut low and any o
0730: 74 68 65 72 20 76 61 6c 75 65 20 73 65 74 73 20  ther value sets 
0740: 69 74 20 68 69 67 68 2e 0d 0a 3c 64 74 3e 3c 62  it high...<dt><b
0750: 3e 70 69 69 6f 20 70 75 6c 6c 3c 2f 62 3e 20 3c  >piio pull</b> <
0760: 69 3e 64 69 72 65 63 74 69 6f 6e 3c 2f 69 3e 20  i>direction</i> 
0770: 3c 69 3e 67 70 69 6f 70 69 6e 3c 2f 69 3e 20 3f  <i>gpiopin</i> ?
0780: 3c 69 3e 67 70 69 6f 70 69 6e 3c 2f 69 3e 20 3c  <i>gpiopin</i> <
0790: 69 3e 2e 2e 2e 3c 2f 69 3e 3f 0d 0a 3c 64 64 3e  i>...</i>?..<dd>
07a0: 43 6f 6e 74 72 6f 6c 20 77 65 61 6b 20 70 75 6c  Control weak pul
07b0: 6c 2d 75 70 20 6f 72 20 2d 64 6f 77 6e 20 66 6f  l-up or -down fo
07c0: 72 20 61 6e 20 69 6e 70 75 74 20 70 6f 72 74 2e  r an input port.
07d0: 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 66 6f   Valid values fo
07e0: 72 20 3c 69 3e 64 69 72 65 63 74 69 6f 6e 3c 2f  r <i>direction</
07f0: 69 3e 20 61 72 65 3a 20 75 70 2c 20 64 6f 77 6e  i> are: up, down
0800: 2c 20 6e 6f 6e 65 2e 0d 0a 3c 64 74 3e 3c 62 3e  , none...<dt><b>
0810: 70 69 69 6f 20 75 73 6c 65 65 70 3c 2f 62 3e 20  piio usleep</b> 
0820: 3c 69 3e 75 73 65 63 3c 2f 69 3e 0d 0a 3c 64 64  <i>usec</i>..<dd
0830: 3e 57 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69  >When dealing wi
0840: 74 68 20 68 61 72 64 77 61 72 65 20 69 74 20 6d  th hardware it m
0850: 61 79 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20  ay be useful to 
0860: 62 65 20 61 62 6c 65 20 74 6f 20 64 65 6c 61 79  be able to delay
0870: 20 73 68 6f 72 74 20 61 6d 6f 75 6e 74 73 20 6f   short amounts o
0880: 66 20 74 69 6d 65 2e 20 54 68 69 73 20 63 6f 6d  f time. This com
0890: 6d 61 6e 64 20 77 69 6c 6c 20 62 6c 6f 63 6b 20  mand will block 
08a0: 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65  for the specifie
08b0: 64 20 6e 75 6d 62 65 72 20 6f 66 20 6d 69 63 72  d number of micr
08c0: 6f 73 65 63 6f 6e 64 73 2e 0d 0a 3c 2f 64 6c 3e  oseconds...</dl>
08d0: 0d 0a 0a 5a 20 61 36 31 32 35 37 37 34 66 33 61  ...Z a6125774f3a
08e0: 34 34 65 30 39 65 62 64 61 36 34 64 36 63 36 34  44e09ebda64d6c64
08f0: 33 32 36 30 31 0a                                32601.