Browse Source

gpio

pull/1/head
Rafael Zurita 6 years ago
parent
commit
3eb20ea675
  1. 40
      apps/shell/xsh_gpio.c
  2. 0
      lib/avr_gpio.c
  3. 6
      main/xsh_gpio.c

40
apps/shell/xsh_gpio.c

@ -0,0 +1,40 @@
/* xsh_gpio.c - xsh_gpio */
#include <xinu.h>
#include <stdio.h>
/*------------------------------------------------------------------------
* xsh_gpio - write a value v in port p
*------------------------------------------------------------------------
*
* Two modes:
* Normal mode. Example: gpio b 32 # arduino pin 13 high
* Extra Arduino mode. Example: gpio 13 1 # arduino pin 13 high
*/
shellcmd xsh_gpio(int nargs, char *args[])
{
char p;
unsigned char v;
char pin;
unsigned char val;
/* Normal mode. Example: gpio b 32 # arduino pin 13 high */
p = *args[1];
v = number(args[2]);
if ((p == 'b') | (p == 'c') | (p == 'd')) {
gpio_write(p, v);
return 0;
}
/* Extra arduino mode. Example: gpio 13 1 # arduino pin 13 high */
pin = number(args[1]);
gpio_arduino_write(pin, v);
return 0;
}

0
lib/gpio.c → lib/avr_gpio.c

6
main/xsh_gpio.c

@ -7,8 +7,9 @@
* xsh_gpio - write a value v in port p
*------------------------------------------------------------------------
*
* Extra Arduino mode. Example:
* gpio 13 1 # arduino pin 13 high
* Two modes:
* Normal mode. Example: gpio b 32 # arduino pin 13 high
* Extra Arduino mode. Example: gpio 13 1 # arduino pin 13 high
*/
shellcmd xsh_gpio(int nargs, char *args[])
{
@ -37,4 +38,3 @@ shellcmd xsh_gpio(int nargs, char *args[])
return 0;
}

Loading…
Cancel
Save