chiark / gitweb /
Updated wiringPi.c to work with some pullUpDown stuff
authorGordon Henderson <gordon@drogon.net>
Fri, 17 Aug 2012 23:05:38 +0000 (00:05 +0100)
committerGordon Henderson <gordon@drogon.net>
Sat, 18 Aug 2012 07:22:45 +0000 (08:22 +0100)
General tidying up of some of the code round delayMicroseconds

wiringPi/.wiringPiFace.c.swp [deleted file]
wiringPi/README
wiringPi/wiringPi.c
wiringPi/wiringPi.h

diff --git a/wiringPi/.wiringPiFace.c.swp b/wiringPi/.wiringPiFace.c.swp
deleted file mode 100644 (file)
index 3eff7de..0000000
Binary files a/wiringPi/.wiringPiFace.c.swp and /dev/null differ
index 052cd4130ca19968c28ef16ec302e4e324aa8aab..781510a6ade5bc2e599db2d4f1eec48e3904444b 100644 (file)
@@ -2,8 +2,6 @@
 WiringPi: An implementation of most of the Arduino Wiring
        functions for the Raspberry Pi
 
--- And a lot lot more!
-
 Full details at:
        https://projects.drogon.net/raspberry-pi/wiringpi/
 
index 35717ef7c07237f510c95e18385dc7e3b69b9f74..fb5e7c68f6e37205c14fb323101ce440d0b7f10c 100644 (file)
@@ -402,7 +402,8 @@ void pinModeGpio (int pin, int mode)
 
 // When we change mode of any pin, we remove the pull up/downs
 
-  pullUpDnControl (pin, PUD_OFF) ;
+//  delayMicroseconds (300) ;
+//  pullUpDnControl (pin, PUD_OFF) ;
 }
 
 void pinModeWPi (int pin, int mode)
@@ -479,24 +480,19 @@ void digitalWriteSys (int pin, int value)
  *********************************************************************************
  */
 
-void pwmWriteWPi (int pin, int value)
+void pwmWriteGpio (int pin, int value)
 {
   int port ;
 
-  pin  = pinToGpio [pin & 63] ;
+  pin  = pin & 63 ;
   port = gpioToPwmPort [pin] ;
 
   *(pwm + port) = value & 0x3FF ;
 }
 
-void pwmWriteGpio (int pin, int value)
+void pwmWriteWPi (int pin, int value)
 {
-  int port ;
-
-  pin  = pin & 63 ;
-  port = gpioToPwmPort [pin] ;
-
-  *(pwm + port) = value & 0x3FF ;
+  pwmWriteGpio (pinToGpio [pin & 63], value) ;
 }
 
 void pwmWriteSys (int pin, int value)
@@ -588,28 +584,21 @@ int digitalReadSys (int pin)
  *********************************************************************************
  */
 
-void pullUpDnControlWPi (int pin, int pud)
+void pullUpDnControlGpio (int pin, int pud)
 {
-  pin  = pinToGpio [pin & 63] ;
+  pin &= 63 ;
   pud &=  3 ;
 
-  *(gpio + GPPUD)              = pud ;                 delayMicroseconds (10) ;
-  *(gpio + gpioToPUDCLK [pin]) = 1 << (pin & 31) ;     delayMicroseconds (10) ;
+  *(gpio + GPPUD)              = pud ;                 delayMicroseconds (5) ;
+  *(gpio + gpioToPUDCLK [pin]) = 1 << (pin & 31) ;     delayMicroseconds (5) ;
   
-  *(gpio + GPPUD)              = 0 ;
-  *(gpio + gpioToPUDCLK [pin]) = 0 ;
+  *(gpio + GPPUD)              = 0 ;                   delayMicroseconds (5) ;
+  *(gpio + gpioToPUDCLK [pin]) = 0 ;                   delayMicroseconds (5) ;
 }
 
-void pullUpDnControlGpio (int pin, int pud)
+void pullUpDnControlWPi (int pin, int pud)
 {
-  pin &= 63 ;
-  pud &=  3 ;
-
-  *(gpio + GPPUD)              = pud ;                 delayMicroseconds (10) ;
-  *(gpio + gpioToPUDCLK [pin]) = 1 << (pin & 31) ;     delayMicroseconds (10) ;
-  
-  *(gpio + GPPUD)              = 0 ;
-  *(gpio + gpioToPUDCLK [pin]) = 0 ;
+  pullUpDnControlGpio (pinToGpio [pin & 63], pud) ;
 }
 
 void pullUpDnControlSys (int pin, int pud)
@@ -685,6 +674,7 @@ void delay (unsigned int howLong)
   nanosleep (&sleeper, &dummy) ;
 }
 
+
 /*
  * delayMicroseconds:
  *     This is somewhat intersting. It seems that on the Pi, a single call
@@ -977,5 +967,3 @@ int wiringPiSetupSys (void)
 
   return 0 ;
 }
-
-
index 5b9c8c7dfd361eb3d45a97bec730c54b2f3421f7..03ab787c4cb5d7d42fd063217c743e62df706f7e 100644 (file)
@@ -86,8 +86,6 @@ extern int piHiPri (int pri) ;
 // Extras from arduino land
 
 extern void         delay             (unsigned int howLong) ;
-//extern void         delayMicroseconds (unsigned int howLong) ;
-//extern void     delayMicrosecondsHard (unsigned int howLong) ;
 extern unsigned int millis            (void) ;
 
 #ifdef __cplusplus