GpioPinManager Class Reference

Space-ng SDK: sol3::gpio::GpioPinManager Class Reference
Space-ng SDK
sol3::gpio::GpioPinManager Class Reference

#include <sol3/gpio/gpio.h>

Public Member Functions

template<typename TPin >
GpioInputPin acquireInputPin (TPin pin, GpioInputPinOptions const &options={})
 
template<typename TPin >
GpioOutputPin acquireOutputPin (TPin pin)
 
 GpioPinManager (GpioPinManager const &)=delete
 
GpioPinManageroperator= (GpioPinManager const &)=delete
 
 GpioPinManager (GpioPinManager &&)=delete
 
GpioPinManageroperator= (GpioPinManager &&)=delete
 

Static Public Member Functions

static GpioPinManagergetInstance ()
 Get the singleton instance. More...
 

Friends

class impl::GpioPinBase
 

Detailed Description

Thread-safe singleton manager for GPIO pins. Prevents multiple threads from configuring the same pin simultaneously. Tracks pin ownership and ensures proper cleanup.

Constructor & Destructor Documentation

◆ GpioPinManager() [1/2]

sol3::gpio::GpioPinManager::GpioPinManager ( GpioPinManager const &  )
delete

◆ GpioPinManager() [2/2]

sol3::gpio::GpioPinManager::GpioPinManager ( GpioPinManager &&  )
delete

Member Function Documentation

◆ acquireInputPin()

template<typename TPin >
GpioInputPin sol3::gpio::GpioPinManager::acquireInputPin ( TPin  pin,
GpioInputPinOptions const &  options = {} 
)
inline

Acquire an input pin with RAII management. Templated to support enum types.

Exceptions
std::runtime_errorif pin is already reserved.

◆ acquireOutputPin()

template<typename TPin >
GpioOutputPin sol3::gpio::GpioPinManager::acquireOutputPin ( TPin  pin)
inline

Acquire an output pin with RAII management. Templated to support enum types.

Exceptions
std::runtime_errorif pin is already reserved.

◆ getInstance()

static GpioPinManager& sol3::gpio::GpioPinManager::getInstance ( )
inlinestatic

Get the singleton instance.

◆ operator=() [1/2]

GpioPinManager& sol3::gpio::GpioPinManager::operator= ( GpioPinManager &&  )
delete

◆ operator=() [2/2]

GpioPinManager& sol3::gpio::GpioPinManager::operator= ( GpioPinManager const &  )
delete

Friends And Related Function Documentation

◆ impl::GpioPinBase

friend class impl::GpioPinBase
friend

The documentation for this class was generated from the following file:
  • /workspaces/astro/sol3-sdk/cpp/sol3/gpio/gpio.h