chiark / gitweb /
Quite a few changes here.
[wiringPi.git] / wiringPi / wiringPi.h
index 503c28a3bbe8bf116780cccc680be61bcdfd9fe3..47d8cc55a4025e111bcc43fce9be80f02b87d533 100644 (file)
 
 // Handy defines
 
+// Deprecated
 #define        NUM_PINS        17
 
 #define        WPI_MODE_PINS            0
 #define        WPI_MODE_GPIO            1
 #define        WPI_MODE_GPIO_SYS        2
 #define        WPI_MODE_PIFACE          3
+#define        WPI_MODE_UNINITIALISED  -1
 
-#define        INPUT            0
-#define        OUTPUT           1
-#define        PWM_OUTPUT       2
+#define        INPUT                    0
+#define        OUTPUT                   1
+#define        PWM_OUTPUT               2
 
-#define        LOW              0
-#define        HIGH             1
+#define        LOW                      0
+#define        HIGH                     1
 
-#define        PUD_OFF          0
-#define        PUD_DOWN         1
-#define        PUD_UP           2
+#define        PUD_OFF                  0
+#define        PUD_DOWN                 1
+#define        PUD_UP                   2
 
 // PWM
 
-#define        PWM_MODE_MS     0
-#define        PWM_MODE_BAL    1
+#define        PWM_MODE_MS             0
+#define        PWM_MODE_BAL            1
+
+// Interrupt levels
+
+#define        INT_EDGE_SETUP          0
+#define        INT_EDGE_FALLING        1
+#define        INT_EDGE_RISING         2
+#define        INT_EDGE_BOTH           3
+
+// Threads
+
+#define        PI_THREAD(X)    void *X (void *dummy)
 
 
 // Function prototypes
-//     c++ wrappers thanks to a commend by Nick Lott
+//     c++ wrappers thanks to a comment by Nick Lott
 //     (and others on the Raspberry Pi forums)
 
 #ifdef __cplusplus
@@ -62,15 +75,19 @@ extern int  wiringPiSetupSys    (void) ;
 extern int  wiringPiSetupGpio   (void) ;
 extern int  wiringPiSetupPiFace (void) ;
 
+extern int  piBoardRev          (void) ;
+extern int  wpiPinToGpio        (int wpiPin) ;
+
 extern int  wiringPiSetupPiFaceForGpioProg (void) ;    // Don't use this - for gpio program only
 
 extern void (*pinMode)           (int pin, int mode) ;
+extern int  (*getAlt)            (int pin) ;
 extern void (*pullUpDnControl)   (int pin, int pud) ;
 extern void (*digitalWrite)      (int pin, int value) ;
+extern void (*digitalWriteByte)  (int value) ;
 extern void (*pwmWrite)          (int pin, int value) ;
 extern void (*setPadDrive)       (int group, int value) ;
 extern int  (*digitalRead)       (int pin) ;
-extern void (*delayMicroseconds) (unsigned int howLong) ;
 extern void (*pwmSetMode)        (int mode) ;
 extern void (*pwmSetRange)       (unsigned int range) ;
 extern void (*pwmSetClock)       (int divisor) ;
@@ -78,11 +95,10 @@ extern void (*pwmSetClock)       (int divisor) ;
 // Interrupts
 
 extern int  (*waitForInterrupt) (int pin, int mS) ;
+extern int  wiringPiISR         (int pin, int mode, void (*function)(void)) ;
 
 // Threads
 
-#define        PI_THREAD(X)    void *X (void *dummy)
-
 extern int  piThreadCreate (void *(*fn)(void *)) ;
 extern void piLock         (int key) ;
 extern void piUnlock       (int key) ;
@@ -95,7 +111,9 @@ extern int piHiPri (int pri) ;
 // Extras from arduino land
 
 extern void         delay             (unsigned int howLong) ;
+extern void         delayMicroseconds (unsigned int howLong) ;
 extern unsigned int millis            (void) ;
+extern unsigned int micros            (void) ;
 
 #ifdef __cplusplus
 }