From a0bd5eb3389749a10d6068651e9bca5b1c36a740 Mon Sep 17 00:00:00 2001 From: Deokgyu Yang Date: Fri, 20 Mar 2020 11:16:06 +0900 Subject: [PATCH] WiringPi: Minor changes - Fix compile warning - Remove pwmSetMode function that is not used - Change the name of changing drive functions - Aggressively use of WiringPi setupCheck() function - Move usingGpiomem variable into libodroid structure - etc... Signed-off-by: Deokgyu Yang Change-Id: I355556975cedc686885f3b91d7f1a4ec02f1e232 --- gpio/gpio.c | 18 +++----- gpio/readall.c | 4 +- wiringPi/odroidc1.c | 3 +- wiringPi/odroidc2.c | 5 +-- wiringPi/odroidc4.c | 13 +++--- wiringPi/odroidn1.c | 3 +- wiringPi/odroidn2.c | 20 ++++----- wiringPi/odroidxu3.c | 15 +++---- wiringPi/wiringPi.c | 103 ++++++++++++++++++++++--------------------- wiringPi/wiringPi.h | 24 +++++----- 10 files changed, 95 insertions(+), 113 deletions(-) diff --git a/gpio/gpio.c b/gpio/gpio.c index aa1ec1b..e0daf0b 100644 --- a/gpio/gpio.c +++ b/gpio/gpio.c @@ -67,7 +67,6 @@ char *usage = "Usage: gpio -v\n" " gpio export/edge/unexport ...\n" " gpio wfi \n" " gpio drive \n" - " gpio pwm-bal/pwm-ms \n" " gpio pwmr \n" " gpio pwmc \n" " gpio load spi/i2c\n" @@ -563,12 +562,12 @@ void doMode (int argc, char *argv []) /* - * doPadDrive: + * doDrive: * gpio drive pin value for ODROIDs since it depends on the SoC ********************************************************************************* */ -static void doPadDrive (int argc, char *argv []) +static void doDrive (int argc, char *argv []) { int pin, val; @@ -580,7 +579,7 @@ static void doPadDrive (int argc, char *argv []) pin = atoi (argv [2]) ; val = atoi (argv [3]) ; - setPadDrive (pin, val) ; + setDrive (pin, val) ; } /* @@ -759,16 +758,11 @@ void doPwm (int argc, char *argv []) /* - * doPwmMode: doPwmRange: doPwmClock: + * doPwmRange: doPwmClock: * Change the PWM mode, range and clock divider values ********************************************************************************* */ -static void doPwmMode (int mode) -{ - pwmSetMode (mode) ; -} - static void doPwmRange (int argc, char *argv []) { unsigned int range ; @@ -984,11 +978,9 @@ int main (int argc, char *argv []) else if (strcasecmp (argv [1], "blink" ) == 0) doBlink (argc, argv) ; // Pi Specifics - else if (strcasecmp (argv [1], "pwm-bal" ) == 0) doPwmMode (PWM_MODE_BAL) ; - else if (strcasecmp (argv [1], "pwm-ms" ) == 0) doPwmMode (PWM_MODE_MS) ; else if (strcasecmp (argv [1], "pwmr" ) == 0) doPwmRange (argc, argv) ; else if (strcasecmp (argv [1], "pwmc" ) == 0) doPwmClock (argc, argv) ; - else if (strcasecmp (argv [1], "drive" ) == 0) doPadDrive (argc, argv) ; + else if (strcasecmp (argv [1], "drive" ) == 0) doDrive (argc, argv) ; else if (strcasecmp (argv [1], "readall" ) == 0) doReadall (argc, argv) ; else if (strcasecmp (argv [1], "nreadall" ) == 0) doReadall (argc, argv) ; else if (strcasecmp (argv [1], "i2cdetect") == 0) doI2Cdetect (argc, argv) ; diff --git a/gpio/readall.c b/gpio/readall.c index e3db3e7..1279f01 100644 --- a/gpio/readall.c +++ b/gpio/readall.c @@ -574,7 +574,7 @@ static void readallPhys(int model, int UNU rev, int physPin, const char *physNam case MODEL_ODROID_XU3: case MODEL_ODROID_N2: case MODEL_ODROID_C4: - printf (" | %2d | %5s", getPadDrive(pin), pupd[getPUPD(pin)]); + printf (" | %2d | %5s", getDrive(pin), pupd[getPUPD(pin)]); break; default: break; @@ -615,7 +615,7 @@ static void readallPhys(int model, int UNU rev, int physPin, const char *physNam case MODEL_ODROID_XU3: case MODEL_ODROID_N2: case MODEL_ODROID_C4: - printf (" | %-5s | %-2d", pupd[getPUPD(pin)], getPadDrive(pin)); + printf (" | %-5s | %-2d", pupd[getPUPD(pin)], getDrive(pin)); break; default: break; diff --git a/wiringPi/odroidc1.c b/wiringPi/odroidc1.c index 6cf7629..81e1ac5 100644 --- a/wiringPi/odroidc1.c +++ b/wiringPi/odroidc1.c @@ -664,8 +664,7 @@ static void init_gpio_mmap (void) msg (MSG_ERR, "wiringPiSetup: Unable to open /dev/gpiomem: %s\n", strerror (errno)); - - setUsingGpioMem( TRUE ); + setUsingGpiomem(TRUE); } else msg (MSG_ERR, "wiringPiSetup: /dev/gpiomem doesn't exist. Please try again with sudo.\n"); diff --git a/wiringPi/odroidc2.c b/wiringPi/odroidc2.c index dd585c8..367e96d 100644 --- a/wiringPi/odroidc2.c +++ b/wiringPi/odroidc2.c @@ -701,15 +701,12 @@ static void init_gpio_mmap (void) msg (MSG_ERR, "wiringPiSetup: Unable to open /dev/gpiomem: %s\n", strerror (errno)); - - setUsingGpioMem( TRUE ); + setUsingGpiomem(TRUE); } else msg (MSG_ERR, "wiringPiSetup: /dev/gpiomem doesn't exist. Please try again with sudo.\n"); } - - if (fd < 0) { msg(MSG_ERR, "wiringPiSetup: Cannot open memory area for GPIO use. \n"); } else { diff --git a/wiringPi/odroidc4.c b/wiringPi/odroidc4.c index 8b9b3ff..54f0ff2 100644 --- a/wiringPi/odroidc4.c +++ b/wiringPi/odroidc4.c @@ -112,8 +112,8 @@ static int gpioToMuxReg (int pin); // wiringPi core function /*----------------------------------------------------------------------------*/ static int _getModeToGpio (int mode, int pin); -static int _setPadDrive (int pin, int value); -static int _getPadDrive (int pin); +static int _setDrive (int pin, int value); +static int _getDrive (int pin); static int _pinMode (int pin, int mode); static int _getAlt (int pin); static int _getPUPD (int pin); @@ -303,7 +303,7 @@ static int _getModeToGpio (int mode, int pin) } /*----------------------------------------------------------------------------*/ -static int _setPadDrive (int pin, int value) +static int _setDrive (int pin, int value) { int ds, shift; @@ -329,7 +329,7 @@ static int _setPadDrive (int pin, int value) } /*----------------------------------------------------------------------------*/ -static int _getPadDrive (int pin) +static int _getDrive (int pin) { int ds, shift; @@ -633,6 +633,7 @@ static void init_gpio_mmap (void) msg (MSG_ERR, "wiringPiSetup: Unable to open /dev/gpiomem: %s\n", strerror (errno)); + setUsingGpiomem(TRUE); } else msg (MSG_ERR, "wiringPiSetup: /dev/gpiomem doesn't exist. Please try again with sudo.\n"); @@ -681,8 +682,8 @@ void init_odroidc4 (struct libodroid *libwiring) /* wiringPi Core function initialize */ libwiring->getModeToGpio = _getModeToGpio; - libwiring->setPadDrive = _setPadDrive; - libwiring->getPadDrive = _getPadDrive; + libwiring->setDrive = _setDrive; + libwiring->getDrive = _getDrive; libwiring->pinMode = _pinMode; libwiring->getAlt = _getAlt; libwiring->getPUPD = _getPUPD; diff --git a/wiringPi/odroidn1.c b/wiringPi/odroidn1.c index 15211e6..15f18e9 100644 --- a/wiringPi/odroidn1.c +++ b/wiringPi/odroidn1.c @@ -676,8 +676,7 @@ static void init_gpio_mmap (void) msg (MSG_ERR, "wiringPiSetup: Unable to open /dev/gpiomem: %s\n", strerror (errno)); - - setUsingGpioMem( TRUE ); + setUsingGpiomem(TRUE); } else msg (MSG_ERR, "wiringPiSetup: /dev/gpiomem doesn't exist. Please try again with sudo.\n"); diff --git a/wiringPi/odroidn2.c b/wiringPi/odroidn2.c index 9ec7ca4..66ba5d4 100644 --- a/wiringPi/odroidn2.c +++ b/wiringPi/odroidn2.c @@ -193,8 +193,8 @@ static int gpioTophysPin (int pin) UNU; // wiringPi core function /*----------------------------------------------------------------------------*/ static int _getModeToGpio (int mode, int pin); -static int _setPadDrive (int pin, int value); -static int _getPadDrive (int pin); +static int _setDrive (int pin, int value); +static int _getDrive (int pin); static int _pinMode (int pin, int mode); static int _getAlt (int pin); static int _getPUPD (int pin); @@ -383,7 +383,7 @@ static int _getModeToGpio (int mode, int pin) } /*----------------------------------------------------------------------------*/ -static int _setPadDrive (int pin, int value) +static int _setDrive (int pin, int value) { int ds, shift; @@ -409,7 +409,7 @@ static int _setPadDrive (int pin, int value) } /*----------------------------------------------------------------------------*/ -static int _getPadDrive (int pin) +static int _getDrive (int pin) { int ds, shift; @@ -472,7 +472,7 @@ static int _pinMode (int pin, int mode) softToneCreate (origPin); break; case PWM_OUTPUT: - usingGpioMemCheck ("pinMode PWM"); + usingGpiomemCheck("pinMode PWM"); int pwm_pin, alt; pwm_pin = gpioToPwmPin(pin); @@ -495,7 +495,6 @@ static int _pinMode (int pin, int mode) _pwmSetClock(120); _pwmSetRange(500); #endif - break; default: msg(MSG_WARN, "%s : Unknown Mode %d\n", __func__, mode); @@ -646,8 +645,6 @@ static int _pwmWrite (int pin, int value) * struct wiringPiNodeStruct *node = wiringPiNodes; */ - setupCheck ("pwmWrite") ; - if (lib->mode == MODE_GPIO_SYS) return -1; @@ -806,8 +803,7 @@ static void init_gpio_mmap (void) msg(MSG_ERR, "wiringPiSetup: Unable to open /dev/gpiomem: %s\n", strerror (errno)); - - setUsingGpioMem( TRUE ); + setUsingGpiomem(TRUE); } else msg(MSG_ERR, "wiringPiSetup: /dev/gpiomem doesn't exist. Please try again with sudo.\n"); @@ -865,8 +861,8 @@ void init_odroidn2 (struct libodroid *libwiring) /* wiringPi Core function initialize */ libwiring->getModeToGpio = _getModeToGpio; - libwiring->setPadDrive = _setPadDrive; - libwiring->getPadDrive = _getPadDrive; + libwiring->setDrive = _setDrive; + libwiring->getDrive = _getDrive; libwiring->pinMode = _pinMode; libwiring->getAlt = _getAlt; libwiring->getPUPD = _getPUPD; diff --git a/wiringPi/odroidxu3.c b/wiringPi/odroidxu3.c index 813535a..cd0283d 100644 --- a/wiringPi/odroidxu3.c +++ b/wiringPi/odroidxu3.c @@ -109,8 +109,8 @@ static int gpioToDSReg (int pin); // wiringPi core function /*----------------------------------------------------------------------------*/ static int _getModeToGpio (int mode, int pin); -static int _setPadDrive (int pin, int value); -static int _getPadDrive (int pin); +static int _setDrive (int pin, int value); +static int _getDrive (int pin); static int _pinMode (int pin, int mode); static int _getAlt (int pin); static int _getPUPD (int pin); @@ -284,7 +284,7 @@ static int _getModeToGpio (int mode, int pin) } /*----------------------------------------------------------------------------*/ -static int _setPadDrive (int pin, int value) +static int _setDrive (int pin, int value) { int ds, shift; @@ -314,7 +314,7 @@ static int _setPadDrive (int pin, int value) } /*----------------------------------------------------------------------------*/ -static int _getPadDrive (int pin) +static int _getDrive (int pin) { int ds, shift; @@ -682,8 +682,7 @@ static void init_gpio_mmap (void) msg (MSG_ERR, "wiringPiSetup: Unable to open /dev/gpiomem: %s\n", strerror (errno)); - - setUsingGpioMem( TRUE ); + setUsingGpiomem(TRUE); } else msg (MSG_ERR, "wiringPiSetup: /dev/gpiomem doesn't exist. Please try again with sudo.\n"); @@ -737,8 +736,8 @@ void init_odroidxu3 (struct libodroid *libwiring) /* wiringPi Core function initialize */ libwiring->getModeToGpio = _getModeToGpio; - libwiring->setPadDrive = _setPadDrive; - libwiring->getPadDrive = _getPadDrive; + libwiring->setDrive = _setDrive; + libwiring->getDrive = _getDrive; libwiring->pinMode = _pinMode; libwiring->getAlt = _getAlt; libwiring->getPUPD = _getPUPD; diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c index d1e5f01..793735e 100644 --- a/wiringPi/wiringPi.c +++ b/wiringPi/wiringPi.c @@ -125,13 +125,11 @@ int pthread_cancel(pthread_t h) { // Debugging & Return codes int wiringPiDebug = FALSE ; int wiringPiReturnCodes = FALSE ; +int wiringPiSetuped = FALSE ; // ODROID Wiring Library struct libodroid libwiring; -unsigned int usingGpioMem = FALSE; -int wiringPiSetuped = FALSE; - /*----------------------------------------------------------------------------*/ // // Return true/false if the supplied module is loaded @@ -221,7 +219,7 @@ int wiringPiFailure (int fatal, const char *message, ...) * function. Mosty because they need feeding C drip by drip )-: */ /*----------------------------------------------------------------------------*/ -void setupCheck (const char *fName) +void setupCheck(const char *fName) { if (!wiringPiSetuped) { fprintf (stderr, "%s: You have not called one of the wiringPiSetup\n" @@ -232,23 +230,22 @@ void setupCheck (const char *fName) /*----------------------------------------------------------------------------*/ /* - * gpioMemCheck: + * usingGpiomemCheck: setUsingGpiomem: * See if we're using the /dev/gpiomem interface, if-so then some operations * can't be done and will crash the Pi. */ /*----------------------------------------------------------------------------*/ -void usingGpioMemCheck (const char *what) +void usingGpiomemCheck(const char *what) { - if (usingGpioMem) { - fprintf (stderr, "%s: Unable to do this when using /dev/gpiomem. Try sudo?\n", what) ; - exit (EXIT_FAILURE) ; + if (libwiring.usingGpiomem) { + fprintf (stderr, "%s: Unable to do this when using /dev/gpiomem. Try sudo?\n", what) ; + exit (EXIT_FAILURE) ; } } -/*----------------------------------------------------------------------------*/ -void setUsingGpioMem( const unsigned int value ) +void setUsingGpiomem(const unsigned int value) { - usingGpioMem = value; + libwiring.usingGpiomem = value; } /*----------------------------------------------------------------------------*/ @@ -436,6 +433,8 @@ void piBoardId (int *model, int *rev, int *mem, int *maker, int *warranty) /*----------------------------------------------------------------------------*/ int wpiPinToGpio (int wpiPin) { + setupCheck(__func__); + if (libwiring.getModeToGpio) return libwiring.getModeToGpio(MODE_PINS, wpiPin); @@ -451,6 +450,8 @@ int wpiPinToGpio (int wpiPin) /*----------------------------------------------------------------------------*/ int physPinToGpio (int physPin) { + setupCheck(__func__); + if (libwiring.getModeToGpio) return libwiring.getModeToGpio(MODE_PHYS, physPin); @@ -459,27 +460,31 @@ int physPinToGpio (int physPin) /*----------------------------------------------------------------------------*/ /* - * setPadDrive: - * Set the PAD driver value + * setDrive: + * Set the pin driver value */ /*----------------------------------------------------------------------------*/ -void setPadDrive (int pin, int value) +void setDrive (int pin, int value) { - if (libwiring.setPadDrive) - if (libwiring.setPadDrive(pin, value) < 0) + setupCheck(__func__); + + if (libwiring.setDrive) + if (libwiring.setDrive(pin, value) < 0) msg(MSG_WARN, "%s: Not available for pin %d. \n", __func__, pin); } /*----------------------------------------------------------------------------*/ /* - * getPadDrive: - * Get the PAD driver value + * getDrive: + * Get the pin driver value */ /*----------------------------------------------------------------------------*/ -int getPadDrive (int pin) +int getDrive (int pin) { - if (libwiring.getPadDrive) - return libwiring.getPadDrive(pin); + setupCheck(__func__); + + if (libwiring.getDrive) + return libwiring.getDrive(pin); return -1; } @@ -493,28 +498,14 @@ int getPadDrive (int pin) /*----------------------------------------------------------------------------*/ int getAlt (int pin) { + setupCheck(__func__); + if (libwiring.getAlt) return libwiring.getAlt(pin); return -1; } -/*----------------------------------------------------------------------------*/ -/* - * pwmSetMode: - * Select the native "balanced" mode, or standard mark:space mode - */ -/*----------------------------------------------------------------------------*/ - -void pwmSetMode (int mode) -{ - if (libwiring.pwmSetMode) { - libwiring.pwmSetMode(mode); - } else { - warn_msg(__func__); - } -} - /*----------------------------------------------------------------------------*/ /* * pwmSetRange: @@ -522,9 +513,10 @@ void pwmSetMode (int mode) * value. If you want different in your own code, then write your own. */ /*----------------------------------------------------------------------------*/ - void pwmSetRange (unsigned int range) { + setupCheck(__func__); + if (libwiring.pwmSetRange) { libwiring.pwmSetRange(range); } else { @@ -540,9 +532,10 @@ void pwmSetRange (unsigned int range) * after further study of the manual and testing with a 'scope */ /*----------------------------------------------------------------------------*/ - void pwmSetClock (int divisor) { + setupCheck(__func__); + if (libwiring.pwmSetClock) { libwiring.pwmSetClock(divisor); } else { @@ -559,6 +552,8 @@ void pwmSetClock (int divisor) /*----------------------------------------------------------------------------*/ int getPUPD (int pin) { + setupCheck(__func__); + if (libwiring.getPUPD) return libwiring.getPUPD(pin); @@ -572,6 +567,8 @@ int getPUPD (int pin) /*----------------------------------------------------------------------------*/ void pinMode (int pin, int mode) { + setupCheck(__func__); + if (libwiring.pinMode) if (libwiring.pinMode(pin, mode) < 0) msg(MSG_WARN, "%s: Not available for pin %d. \n", __func__, pin); @@ -581,6 +578,8 @@ void pinMode (int pin, int mode) /*----------------------------------------------------------------------------*/ void pullUpDnControl (int pin, int pud) { + setupCheck(__func__); + if (libwiring.pullUpDnControl) if (libwiring.pullUpDnControl(pin, pud) < 0) msg(MSG_WARN, "%s: Not available for pin %d. \n", __func__, pin); @@ -589,6 +588,8 @@ void pullUpDnControl (int pin, int pud) /*----------------------------------------------------------------------------*/ int digitalRead (int pin) { + setupCheck(__func__); + if (libwiring.digitalRead) return libwiring.digitalRead(pin); @@ -598,6 +599,8 @@ int digitalRead (int pin) /*----------------------------------------------------------------------------*/ void digitalWrite (int pin, int value) { + setupCheck(__func__); + if (libwiring.digitalWrite) if (libwiring.digitalWrite(pin, value) < 0) msg(MSG_WARN, "%s: Not available for pin %d. \n", __func__, pin); @@ -606,6 +609,8 @@ void digitalWrite (int pin, int value) /*----------------------------------------------------------------------------*/ void pwmWrite(int pin, int value) { + setupCheck(__func__); + if (libwiring.pwmWrite) { if (libwiring.pwmWrite(pin, value) < 0) msg(MSG_WARN, "%s: Not available for pin %d. \n", __func__, pin); @@ -617,6 +622,8 @@ void pwmWrite(int pin, int value) /*----------------------------------------------------------------------------*/ int analogRead (int pin) { + setupCheck(__func__); + if (libwiring.analogRead) return libwiring.analogRead(pin); @@ -626,6 +633,8 @@ int analogRead (int pin) /*----------------------------------------------------------------------------*/ void digitalWriteByte (const int value) { + setupCheck(__func__); + if (libwiring.digitalWriteByte) if (libwiring.digitalWriteByte(value) < 0) msg(MSG_WARN, "%s: Not available. \n", __func__); @@ -634,6 +643,8 @@ void digitalWriteByte (const int value) /*----------------------------------------------------------------------------*/ unsigned int digitalReadByte (void) { + setupCheck(__func__); + if (libwiring.digitalReadByte) return libwiring.digitalReadByte(); @@ -696,10 +707,8 @@ static void *interruptHandler (void *arg) int wiringPiISR (int pin, int mode, void (*function)(void)) { pthread_t threadId; - const char *modeS; char fName [64]; char pinS [8]; - pid_t pid; int count, i; char c; int GpioPin; @@ -724,13 +733,6 @@ int wiringPiISR (int pin, int mode, void (*function)(void)) // is a way that will work when we're running in "Sys" mode, as // a non-root user. (without sudo) if (mode != INT_EDGE_SETUP) { - if (mode == INT_EDGE_FALLING) - modeS = "falling" ; - else if (mode == INT_EDGE_RISING) - modeS = "rising" ; - else - modeS = "both" ; - sprintf (pinS, "%d", GpioPin) ; FILE *export, *direct, *edge; @@ -968,9 +970,9 @@ void wiringPiVersion (int *major, char **minor) int wiringPiSetup (void) { int i; + if (wiringPiSetuped) return 0; - wiringPiSetuped = TRUE; // libwiring init @@ -980,6 +982,7 @@ int wiringPiSetup (void) libwiring.sysFds[i] = -1; // init wiringPi mode libwiring.mode = MODE_UNINITIALISED; + libwiring.usingGpiomem = FALSE; if (getenv (ENV_DEBUG) != NULL) wiringPiDebug = TRUE; diff --git a/wiringPi/wiringPi.h b/wiringPi/wiringPi.h index a7b0bf1..473cfa2 100644 --- a/wiringPi/wiringPi.h +++ b/wiringPi/wiringPi.h @@ -36,10 +36,9 @@ #define FALSE (!TRUE) #endif +#define UNU __attribute__((unused)) #define PIN_NUM_CALC_SYSFD(X) (X > 255 ? X - libwiring.pinBase : X) -#define UNU __attribute__((unused)) - #define ENV_DEBUG "WIRINGPI_DEBUG" #define ENV_CODES "WIRINGPI_CODES" #define ENV_GPIOMEM "WIRINGPI_GPIOMEM" @@ -83,10 +82,6 @@ #define PUD_DOWN 1 #define PUD_UP 2 -// PWM -#define PWM_MODE_MS 0 -#define PWM_MODE_BAL 1 - // Interrupt levels #define INT_EDGE_SETUP 0 #define INT_EDGE_FALLING 1 @@ -131,8 +126,8 @@ struct libodroid /* wiringPi core func */ int (*getModeToGpio) (int mode, int pin); - int (*setPadDrive) (int pin, int value); - int (*getPadDrive) (int pin); + int (*setDrive) (int pin, int value); + int (*getDrive) (int pin); int (*pinMode) (int pin, int mode); int (*getAlt) (int pin); int (*getPUPD) (int pin); @@ -143,7 +138,6 @@ struct libodroid int (*analogRead) (int pin); int (*digitalWriteByte) (const unsigned int value); unsigned int (*digitalReadByte) (void); - void (*pwmSetMode) (int mode); void (*pwmSetRange) (unsigned int range); void (*pwmSetClock) (int divisor); @@ -157,6 +151,9 @@ struct libodroid /* GPIO pin base number */ int pinBase; + /* Running with gpiomem */ + char usingGpiomem; + // Time for easy calculations uint64_t epochMilli, epochMicro ; }; @@ -213,8 +210,8 @@ extern int wiringPiFailure (int fatal, const char *message, ...); extern int msg (int type, const char *message, ...); extern int moduleLoaded (char *); extern void setupCheck (const char *fName); -extern void usingGpioMemCheck (const char *what); -extern void setUsingGpioMem (const unsigned int value); +extern void usingGpiomemCheck (const char *what); +extern void setUsingGpiomem (const unsigned int value); // Core WiringPi functions extern void wiringPiVersion (int *major, char **minor); @@ -223,8 +220,8 @@ extern int wiringPiSetupSys (void); extern int wiringPiSetupGpio (void); extern int wiringPiSetupPhys (void); -extern void setPadDrive (int pin, int value); -extern int getPadDrive (int pin); +extern void setDrive (int pin, int value); +extern int getDrive (int pin); extern int getAlt (int pin); extern int getPUPD (int pin); extern void pinMode (int pin, int mode); @@ -242,7 +239,6 @@ extern void piBoardId (int *model, int *rev, int *mem, int *maker, int *warran extern int wpiPinToGpio (int wpiPin); extern int physPinToGpio (int physPin); -extern void pwmSetMode (int mode); extern void pwmSetRange (unsigned int range); extern void pwmSetClock (int divisor);