discoLight
Loading...
Searching...
No Matches
SWE4211RPi::WiringPiGPIO Class Reference
Inheritance diagram for SWE4211RPi::WiringPiGPIO:
Collaboration diagram for SWE4211RPi::WiringPiGPIO:

Public Member Functions

 WiringPiGPIO (int number, DIRECTION dir, VALUE val=GPIO_LOW)
 
virtual ~WiringPiGPIO ()
 
virtual void setValue (GPIO::VALUE)
 
virtual GPIO::VALUE getValue ()
 
virtual void enableEdgeInterrupt (EDGE edgeType)
 
virtual void disableEdgeInterrupt ()
 
virtual void handleInterruptDrivenGPIOPin ()
 
- Public Member Functions inherited from SWE4211RPi::GPIO
virtual int waitForEdge (int maxWait)
 
virtual struct timespec getRisingISRTimestamp ()
 
virtual struct timespec getFallingISRTimestamp ()
 
virtual void setCallbackMethod (CallbackType methodCallback)
 
virtual void callBackThreadHandler ()
 
virtual int getPinNumber ()
 

Static Public Member Functions

static void freeGPIOInstance (WiringPiGPIO &instance)
 
- Static Public Member Functions inherited from SWE4211RPi::GPIO
static GPIO & getInstance (int number, DIRECTION dir, VALUE vale=GPIO_LOW)
 
static void freeInstance (GPIO &instance)
 

Protected Attributes

int number
 
int currentEdgeType = GPIO_NONE
 
- Protected Attributes inherited from SWE4211RPi::GPIO
int number =0
 
int instanceCount = 0
 
std::mutex mtx
 
std::condition_variable cv
 
std::condition_variable ccv
 
CallbackType methodCallback =nullptr
 
struct timespec isrRisingTimestamp
 
struct timespec isrFallingTimestamp
 

Static Private Attributes

static int initialized = 0
 

Additional Inherited Members

- Public Types inherited from SWE4211RPi::GPIO
enum  DIRECTION { GPIO_IN , GPIO_OUT }
 
enum  VALUE { GPIO_LOW = 0 , GPIO_HIGH = 1 }
 
enum  EDGE { GPIO_NONE , GPIO_RISING , GPIO_FALLING , GPIO_BOTH }
 
- Static Public Attributes inherited from SWE4211RPi::GPIO
static GPIO * gpio_instances [NUMBER_OF_GPIO_PINS+1]
 
static GenericThreadInfo * threadInstances [NUMBER_OF_GPIO_PINS+1]
 

Constructor & Destructor Documentation

◆ WiringPiGPIO()

SWE4211RPi::WiringPiGPIO::WiringPiGPIO ( int  number,
DIRECTION  dir,
VALUE  val = GPIO_LOW 
)

This is the constructor for an instance of a GPIO class.

Parameters
numberThis is the Raspberry Pi GPIO Number.
dirThis is the direction for the GPIO pin, either input or output.
valThis is the default value for the GPIO pin.

This is the constructor for an instance of the wiringPi GPIO class.

Parameters
numberThis is the Raspberry Pi GPIO Number.
dirThis is the direction for the GPIO pin, either input or output.
valThis is the default value for the GPIO pin.

◆ ~WiringPiGPIO()

SWE4211RPi::WiringPiGPIO::~WiringPiGPIO ( )
virtual

This is the destructor for the class, which will clean up the existing instance.

Member Function Documentation

◆ disableEdgeInterrupt()

void SWE4211RPi::WiringPiGPIO::disableEdgeInterrupt ( )
virtual

This method will disable the edge interrupt for the given pin.

This method will disable the edge interrupts for the given GPIO pin.

Implements SWE4211RPi::GPIO.

Here is the caller graph for this function:

◆ enableEdgeInterrupt()

void SWE4211RPi::WiringPiGPIO::enableEdgeInterrupt ( EDGE  edgeType)
virtual

This method will enable an interrupt to be processed based upon edges. In doing this, callbacks can be made based upon the GPIO pin changing state and methods can block for IO purposes.

Parameters
edgeTypeThis is the edge type that is to be processed as an interrupt.

Implements SWE4211RPi::GPIO.

Here is the call graph for this function:

◆ freeGPIOInstance()

void SWE4211RPi::WiringPiGPIO::freeGPIOInstance ( WiringPiGPIO &  instance)
static

This method will release a reference to the given instance. When the last reference has been released, the pin is returned to being an input.

Parameters
instanceThis is the instance that is to be released.

◆ getValue()

GPIO::VALUE SWE4211RPi::WiringPiGPIO::getValue ( )
virtual

This method will return the current state of this GPIO pin.

Returns
The return will be high or low depending on the state of the pin.

Implements SWE4211RPi::GPIO.

◆ handleInterruptDrivenGPIOPin()

void SWE4211RPi::WiringPiGPIO::handleInterruptDrivenGPIOPin ( )
virtual

This method will be invoked if an interrupt is enabled whenever a transition in pin value occurs.

Implements SWE4211RPi::GPIO.

◆ setValue()

void SWE4211RPi::WiringPiGPIO::setValue ( GPIO::VALUE  val)
virtual

This method will drive an output pin to the appropriate value.

Parameters
Thisis the value that is to be written to the pin.

Implements SWE4211RPi::GPIO.

Member Data Documentation

◆ initialized

int SWE4211RPi::WiringPiGPIO::initialized = 0
staticprivate

This attribute indicates whether any GPIO has been instantiated. The first GPIO to be instantiated will also setup the wiringPi devices. Subsequent instantiations will not do so.

This will initialize the initialzed variable to 0 until a constructor is invoked.

◆ number

int SWE4211RPi::WiringPiGPIO::number
protected

This is the GPIO pin number for the given pin.


The documentation for this class was generated from the following files: