/* wiringPiSetupPiFaceForGpioProg * * Parameters: None * Return Type: int */ mrb_value mrb_Pi_wiringPiSetupPiFaceForGpioProg(mrb_state* mrb, mrb_value self) { /* Invocation */ int result = wiringPiSetupPiFaceForGpioProg(); /* Box the return value */ mrb_value return_value = mrb_fixnum_value(result); return return_value; }
int main (int argc, char *argv []) { int i ; if (argc == 1) { fprintf (stderr, "%s\n", usage) ; return 1 ; } if (strcasecmp (argv [1], "-h") == 0) { printf ("%s: %s\n", argv [0], usage) ; return 0 ; } if (strcasecmp (argv [1], "-v") == 0) { printf ("gpio version: %s\n", VERSION) ; printf ("Copyright (c) 2012 Gordon Henderson\n") ; printf ("This is free software with ABSOLUTELY NO WARRANTY.\n") ; printf ("For details type: %s -warranty\n", argv [0]) ; printf ("\n") ; printf ("This Raspberry Pi is a revision %d board.\n", piBoardRev ()) ; return 0 ; } if (strcasecmp (argv [1], "-warranty") == 0) { printf ("gpio version: %s\n", VERSION) ; printf ("Copyright (c) 2012 Gordon Henderson\n") ; printf ("\n") ; printf (" This program is free software; you can redistribute it and/or modify\n") ; printf (" it under the terms of the GNU Leser General Public License as published\n") ; printf (" by the Free Software Foundation, either version 3 of the License, or\n") ; printf (" (at your option) any later version.\n") ; printf ("\n") ; printf (" This program is distributed in the hope that it will be useful,\n") ; printf (" but WITHOUT ANY WARRANTY; without even the implied warranty of\n") ; printf (" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n") ; printf (" GNU Lesser General Public License for more details.\n") ; printf ("\n") ; printf (" You should have received a copy of the GNU Lesser General Public License\n") ; printf (" along with this program. If not, see <http://www.gnu.org/licenses/>.\n") ; printf ("\n") ; return 0 ; } if (geteuid () != 0) { fprintf (stderr, "%s: Must be root to run. Program should be suid root. This is an error.\n", argv [0]) ; return 1 ; } // Initial test for /sys/class/gpio operations: /**/ if (strcasecmp (argv [1], "exports" ) == 0) { doExports (argc, argv) ; return 0 ; } else if (strcasecmp (argv [1], "export" ) == 0) { doExport (argc, argv) ; return 0 ; } else if (strcasecmp (argv [1], "edge" ) == 0) { doEdge (argc, argv) ; return 0 ; } else if (strcasecmp (argv [1], "unexportall") == 0) { doUnexportall (argc, argv) ; return 0 ; } else if (strcasecmp (argv [1], "unexport" ) == 0) { doUnexport (argc, argv) ; return 0 ; } // Check for load command: if (strcasecmp (argv [1], "load" ) == 0) { doLoad (argc, argv) ; return 0 ; } // Gertboard commands if (strcasecmp (argv [1], "gbr" ) == 0) { doGbr (argc, argv) ; return 0 ; } if (strcasecmp (argv [1], "gbw" ) == 0) { doGbw (argc, argv) ; return 0 ; } // Check for -g argument if (strcasecmp (argv [1], "-g") == 0) { if (wiringPiSetupGpio () == -1) { fprintf (stderr, "%s: Unable to initialise GPIO mode.\n", argv [0]) ; exit (1) ; } for (i = 2 ; i < argc ; ++i) argv [i - 1] = argv [i] ; --argc ; wpMode = WPI_MODE_GPIO ; } // Check for -p argument for PiFace else if (strcasecmp (argv [1], "-p") == 0) { if (wiringPiSetupPiFaceForGpioProg () == -1) { fprintf (stderr, "%s: Unable to initialise PiFace.\n", argv [0]) ; exit (1) ; } for (i = 2 ; i < argc ; ++i) argv [i - 1] = argv [i] ; --argc ; wpMode = WPI_MODE_PIFACE ; } // Default to wiringPi mode else { if (wiringPiSetup () == -1) { fprintf (stderr, "%s: Unable to initialise wiringPi mode\n", argv [0]) ; exit (1) ; } wpMode = WPI_MODE_PINS ; } // Check for PWM or Pad Drive operations if (wpMode != WPI_MODE_PIFACE) { if (strcasecmp (argv [1], "pwm-bal") == 0) { doPwmMode (PWM_MODE_BAL) ; return 0 ; } if (strcasecmp (argv [1], "pwm-ms") == 0) { doPwmMode (PWM_MODE_MS) ; return 0 ; } if (strcasecmp (argv [1], "pwmr") == 0) { doPwmRange (argc, argv) ; return 0 ; } if (strcasecmp (argv [1], "pwmc") == 0) { doPwmClock (argc, argv) ; return 0 ; } if (strcasecmp (argv [1], "drive") == 0) { doPadDrive (argc, argv) ; return 0 ; } } // Check for wiring commands /**/ if (strcasecmp (argv [1], "readall" ) == 0) doReadall () ; else if (strcasecmp (argv [1], "read" ) == 0) doRead (argc, argv) ; else if (strcasecmp (argv [1], "write") == 0) doWrite (argc, argv) ; else if (strcasecmp (argv [1], "pwm" ) == 0) doPwm (argc, argv) ; else if (strcasecmp (argv [1], "mode" ) == 0) doMode (argc, argv) ; else { fprintf (stderr, "%s: Unknown command: %s.\n", argv [0], argv [1]) ; exit (1) ; } return 0 ; }