chiark / gitweb /
Updates for the Raspnerry Pi Compute Module - changes to the gpio program
[wiringPi.git] / wiringPi / wiringPi.h
index 600b318763e85eb2d452f27a6145e86c2d8fc758..5117cc9185ecf66ac4f317ce9fe8846e7477b0ce 100644 (file)
@@ -42,6 +42,8 @@
 #define        OUTPUT                   1
 #define        PWM_OUTPUT               2
 #define        GPIO_CLOCK               3
+#define        SOFT_PWM_OUTPUT          4
+#define        SOFT_TONE_OUTPUT         5
 
 #define        LOW                      0
 #define        HIGH                     1
 #define        INT_EDGE_RISING         2
 #define        INT_EDGE_BOTH           3
 
+// Pi model types
+
+#define        PI_MODEL_A              0
+#define        PI_MODEL_B              1
+#define        PI_MODEL_CM             2
+
+
 // Threads
 
 #define        PI_THREAD(X)    void *X (void *dummy)
@@ -104,6 +113,8 @@ struct wiringPiNodeStruct
   struct wiringPiNodeStruct *next ;
 } ;
 
+extern struct wiringPiNodeStruct *wiringPiNodes ;
+
 
 // Function prototypes
 //     c++ wrappers thanks to a comment by Nick Lott
@@ -113,19 +124,27 @@ struct wiringPiNodeStruct
 extern "C" {
 #endif
 
+// Data
+
+extern const char *piModelNames [] ;
+extern const char *piRevisionNames[] ;
+extern const char *piComputeRevisionNames[] ;
+
 // Internal
 
 extern int wiringPiFailure (int fatal, const char *message, ...) ;
 
 // Core wiringPi functions
 
-extern struct wiringPiNodeStruct *wiringPiNewNode (int pinBase, int numPins) ;
+extern struct wiringPiNodeStruct *wiringPiFindNode (int pin) ;
+extern struct wiringPiNodeStruct *wiringPiNewNode  (int pinBase, int numPins) ;
 
 extern int  wiringPiSetup       (void) ;
 extern int  wiringPiSetupSys    (void) ;
 extern int  wiringPiSetupGpio   (void) ;
 extern int  wiringPiSetupPhys   (void) ;
 
+extern void pinModeAlt          (int pin, int mode) ;
 extern void pinMode             (int pin, int mode) ;
 extern void pullUpDnControl     (int pin, int pud) ;
 extern int  digitalRead         (int pin) ;
@@ -143,6 +162,7 @@ extern int  wiringPiSetupPiFaceForGpioProg (void) ; // Don't use this - for gpio
 // On-Board Raspberry Pi hardware specific stuff
 
 extern int  piBoardRev          (void) ;
+extern void piBoardId           (int *model, int *rev, int *mem, char **maker) ;
 extern int  wpiPinToGpio        (int wpiPin) ;
 extern int  physPinToGpio       (int physPin) ;
 extern void setPadDrive         (int group, int value) ;