mirror of
https://github.com/clockworkpi/WiringPi.git
synced 2026-06-12 05:43:11 +02:00
Bumped the version to 2.40 - correctly this time, I hope.
Added fixed for a few minor things. pin driver for rht03/dht type sensors. Network stuff is experimental - for now.
This commit is contained in:
@@ -84,10 +84,8 @@
|
||||
#define ENV_GPIOMEM "WIRINGPI_GPIOMEM"
|
||||
|
||||
|
||||
// Mask for the bottom 64 pins which belong to the Raspberry Pi
|
||||
// The others are available for the other devices
|
||||
|
||||
#define PI_GPIO_MASK (0xFFFFFFC0)
|
||||
// Extend wiringPi with other pin-based devices and keep track of
|
||||
// them in this structure
|
||||
|
||||
struct wiringPiNodeStruct *wiringPiNodes = NULL ;
|
||||
|
||||
@@ -1244,13 +1242,15 @@ struct wiringPiNodeStruct *wiringPiFindNode (int pin)
|
||||
*********************************************************************************
|
||||
*/
|
||||
|
||||
static void pinModeDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int mode) { return ; }
|
||||
static void pullUpDnControlDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int pud) { return ; }
|
||||
static int digitalReadDummy (UNU struct wiringPiNodeStruct *node, UNU int UNU pin) { return LOW ; }
|
||||
static void digitalWriteDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
|
||||
static void pwmWriteDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
|
||||
static int analogReadDummy (UNU struct wiringPiNodeStruct *node, UNU int pin) { return 0 ; }
|
||||
static void analogWriteDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
|
||||
static void pinModeDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int mode) { return ; }
|
||||
static void pullUpDnControlDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int pud) { return ; }
|
||||
static unsigned int digitalRead8Dummy (UNU struct wiringPiNodeStruct *node, UNU int UNU pin) { return 0 ; }
|
||||
static void digitalWrite8Dummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
|
||||
static int digitalReadDummy (UNU struct wiringPiNodeStruct *node, UNU int UNU pin) { return LOW ; }
|
||||
static void digitalWriteDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
|
||||
static void pwmWriteDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
|
||||
static int analogReadDummy (UNU struct wiringPiNodeStruct *node, UNU int pin) { return 0 ; }
|
||||
static void analogWriteDummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
|
||||
|
||||
struct wiringPiNodeStruct *wiringPiNewNode (int pinBase, int numPins)
|
||||
{
|
||||
@@ -1272,17 +1272,19 @@ struct wiringPiNodeStruct *wiringPiNewNode (int pinBase, int numPins)
|
||||
if (node == NULL)
|
||||
(void)wiringPiFailure (WPI_FATAL, "wiringPiNewNode: Unable to allocate memory: %s\n", strerror (errno)) ;
|
||||
|
||||
node->pinBase = pinBase ;
|
||||
node->pinMax = pinBase + numPins - 1 ;
|
||||
node->pinMode = pinModeDummy ;
|
||||
node->pullUpDnControl = pullUpDnControlDummy ;
|
||||
node->digitalRead = digitalReadDummy ;
|
||||
node->digitalWrite = digitalWriteDummy ;
|
||||
node->pwmWrite = pwmWriteDummy ;
|
||||
node->analogRead = analogReadDummy ;
|
||||
node->analogWrite = analogWriteDummy ;
|
||||
node->next = wiringPiNodes ;
|
||||
wiringPiNodes = node ;
|
||||
node->pinBase = pinBase ;
|
||||
node->pinMax = pinBase + numPins - 1 ;
|
||||
node->pinMode = pinModeDummy ;
|
||||
node->pullUpDnControl = pullUpDnControlDummy ;
|
||||
node->digitalRead = digitalReadDummy ;
|
||||
//node->digitalRead8 = digitalRead8Dummy ;
|
||||
node->digitalWrite = digitalWriteDummy ;
|
||||
//node->digitalWrite8 = digitalWrite8Dummy ;
|
||||
node->pwmWrite = pwmWriteDummy ;
|
||||
node->analogRead = analogReadDummy ;
|
||||
node->analogWrite = analogWriteDummy ;
|
||||
node->next = wiringPiNodes ;
|
||||
wiringPiNodes = node ;
|
||||
|
||||
return node ;
|
||||
}
|
||||
@@ -1492,6 +1494,27 @@ int digitalRead (int pin)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* digitalRead8:
|
||||
* Read 8-bits (a byte) from given start pin.
|
||||
*********************************************************************************
|
||||
|
||||
unsigned int digitalRead8 (int pin)
|
||||
{
|
||||
struct wiringPiNodeStruct *node = wiringPiNodes ;
|
||||
|
||||
if ((pin & PI_GPIO_MASK) == 0) // On-Board Pin
|
||||
return 0 ;
|
||||
else
|
||||
{
|
||||
if ((node = wiringPiFindNode (pin)) == NULL)
|
||||
return LOW ;
|
||||
return node->digitalRead8 (node, pin) ;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* digitalWrite:
|
||||
* Set an output bit
|
||||
@@ -1535,6 +1558,26 @@ void digitalWrite (int pin, int value)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* digitalWrite8:
|
||||
* Set an output 8-bit byte on the device from the given pin number
|
||||
*********************************************************************************
|
||||
|
||||
void digitalWrite8 (int pin, int value)
|
||||
{
|
||||
struct wiringPiNodeStruct *node = wiringPiNodes ;
|
||||
|
||||
if ((pin & PI_GPIO_MASK) == 0) // On-Board Pin
|
||||
return ;
|
||||
else
|
||||
{
|
||||
if ((node = wiringPiFindNode (pin)) != NULL)
|
||||
node->digitalWrite8 (node, pin, value) ;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* pwmWrite:
|
||||
* Set an output PWM value
|
||||
|
||||
Reference in New Issue
Block a user