static void doReadall (void) { int pin ; printf ("+----------+------+--------+-------+\n") ; printf ("| wiringPi | GPIO | Name | Value |\n") ; printf ("+----------+------+--------+-------+\n") ; for (pin = 0 ; pin < NUM_PINS ; ++pin) printf ("| %6d | %3d | %s | %s |\n", pin, wpiPinToGpio (pin), pinNames [pin], digitalRead (pin) == HIGH ? "High" : "Low ") ; printf ("+----------+------+--------+-------+\n") ; if (piBoardRev () == 1) return ; for (pin = 17 ; pin <= 20 ; ++pin) printf ("| %6d | %3d | %s | %s |\n", pin, wpiPinToGpio (pin), pinNames [pin], digitalRead (pin) == HIGH ? "High" : "Low ") ; printf ("+----------+------+--------+-------+\n") ; }
static void doReadall (void) { int pin ; if (wiringPiNodes != NULL) // External readall doReadallExternal () ; else { printf ("+----------+-Rev%d-+------+--------+------+-------+\n", piBoardRev ()) ; printf ("| wiringPi | GPIO | Phys | Name | Mode | Value |\n") ; printf ("+----------+------+------+--------+------+-------+\n") ; for (pin = 0 ; pin < 64 ; ++pin) // Crude, but effective { if (wpiPinToGpio (pin) == -1) continue ; printf ("| %6d | %3d | %3d | %s | %s | %s |\n", pin, wpiPinToGpio (pin), wpiToPhys [pin], pinNames [pin], alts [getAlt (pin)], digitalRead (pin) == HIGH ? "High" : "Low ") ; } printf ("+----------+------+------+--------+------+-------+\n") ; } }
unsigned short gpio433HwDeinit(void) { FILE *fd; if(gpio_433_initialized) { if((fd = fopen ("/sys/class/gpio/unexport", "w"))) { fprintf(fd, "%d", wpiPinToGpio(gpio_433_out)); fclose(fd); } if((fd = fopen ("/sys/class/gpio/unexport", "w"))) { fprintf(fd, "%d", wpiPinToGpio(gpio_433_in)); fclose(fd); } } return EXIT_SUCCESS; }
static foreign_t pl_wpiPinToGpio (term_t wPiPin_,term_t t){ int wPiPin; if (!PL_get_integer(wPiPin_,&wPiPin)) { PL_warning("Argument 'wPiPin' not number"); PL_fail; } return PL_unify_integer(t,wpiPinToGpio(wPiPin)); }
static void doReadall (void) { int pin ; printf ("+----------+------+--------+------+-------+\n") ; printf ("| wiringPi | GPIO | Name | Mode | Value |\n") ; printf ("+----------+------+--------+------+-------+\n") ; for (pin = 0 ; pin < 64 ; ++pin) { if (wpiPinToGpio (pin) == -1) continue ; printf ("| %6d | %3d | %s | %s | %s |\n", pin, wpiPinToGpio (pin), pinNames [pin], alts [getAlt (pin)], digitalRead (pin) == HIGH ? "High" : "Low ") ; } printf ("+----------+------+--------+------+-------+\n") ; }
/* wpiPinToGpio * * Parameters: * - wpiPin: int * Return Type: int */ mrb_value mrb_Pi_wpiPinToGpio(mrb_state* mrb, mrb_value self) { mrb_int native_wpiPin; /* Fetch the args */ mrb_get_args(mrb, "i", &native_wpiPin); /* Invocation */ int result = wpiPinToGpio(native_wpiPin); /* Box the return value */ mrb_value return_value = mrb_fixnum_value(result); return return_value; }
static void doReset (char *progName) { int pin ; doUnexportall (progName) ; for (pin = 0 ; pin < 64 ; ++pin) { if (wpiPinToGpio (pin) == -1) continue ; digitalWrite (pin, LOW) ; pinMode (pin, INPUT) ; pullUpDnControl (pin, PUD_OFF) ; } }
static void doReset (char *progName) { int pin ; if (wiringPiNodes != NULL) // External reset doResetExternal () ; else { doUnexportall (progName) ; for (pin = 0 ; pin < 64 ; ++pin) { if (wpiPinToGpio (pin) == -1) continue ; digitalWrite (pin, LOW) ; pinMode (pin, INPUT) ; pullUpDnControl (pin, PUD_OFF) ; } } }
/** * -------------------------------------------------------- * GET EDGE GPIO PIN * -------------------------------------------------------- */ int getEdgePin(int pin) { int model, rev, mem, maker, overVolted ; // validate lower bounds if(pin < 0) return -1; // validate upper bounds if(pin >= MAX_GPIO_PINS) return -1; // return the edge pin index // (will return -1 for invalid pin) piBoardId (&model, &rev, &mem, &maker, &overVolted) ; if (model == PI_MODEL_CM){ return pin; } else{ return wpiPinToGpio(pin); } }