some minor improvements
This commit is contained in:
@ -17,23 +17,22 @@ enum Direction {
|
||||
/**
|
||||
* @brief Struct containing information about the GPIO to use. This is
|
||||
* required by the libgpiod to access and drive a GPIO.
|
||||
* @param chipname String of the chipname specifying the group which contains
|
||||
* the GPIO to access. E.g. gpiochip0. To detect names of
|
||||
* GPIO groups run gpiodetect on the linux command line.
|
||||
* @param lineNum The offset of the GPIO within the GPIO group.
|
||||
* @param consumer Name of the consumer. Simply a description of the GPIO configuration.
|
||||
* @param direction Specifies whether the GPIO should be used as in- or output.
|
||||
* @param initValue Defines the initial state of the GPIO when configured as output. Only required
|
||||
* for output GPIOs.
|
||||
* @param chipname String of the chipname specifying the group which contains the GPIO to
|
||||
* access. E.g. gpiochip0. To detect names of GPIO groups run gpiodetect on
|
||||
* the linux command line.
|
||||
* @param lineNum The offset of the GPIO within the GPIO group.
|
||||
* @param consumer Name of the consumer. Simply a description of the GPIO configuration.
|
||||
* @param direction Specifies whether the GPIO should be used as in- or output.
|
||||
* @param initValue Defines the initial state of the GPIO when configured as output.
|
||||
* Only required for output GPIOs.
|
||||
* @param lineHandle The handle returned by gpiod_chip_get_line will be later written to this
|
||||
* pointer.
|
||||
*/
|
||||
typedef struct GpioConfig {
|
||||
GpioConfig(std::string chipname_, int lineNum_, std::string consumer_,
|
||||
gpio::Direction direction_, int initValue_) :
|
||||
chipname(chipname_), lineNum(lineNum_), consumer(consumer_), direction(direction_),
|
||||
initValue(initValue_) {
|
||||
}
|
||||
gpio::Direction direction_, int initValue_):
|
||||
chipname(chipname_), lineNum(lineNum_), consumer(consumer_),
|
||||
direction(direction_), initValue(initValue_) {}
|
||||
std::string chipname;
|
||||
int lineNum;
|
||||
std::string consumer;
|
||||
@ -41,6 +40,7 @@ typedef struct GpioConfig {
|
||||
int initValue;
|
||||
struct gpiod_line* lineHandle = nullptr;
|
||||
} GpioConfig_t;
|
||||
|
||||
using GpioMap = std::unordered_map<gpioId_t, GpioConfig_t>;
|
||||
using GpioMapIter = GpioMap::iterator;
|
||||
|
||||
@ -65,12 +65,13 @@ public:
|
||||
/**
|
||||
* @brief Get map with registered GPIOs.
|
||||
*/
|
||||
GpioMap& getGpioMap() const;
|
||||
GpioMap getGpioMap() const;
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* Returns a copy of the internal GPIO map.
|
||||
*/
|
||||
GpioMap gpioMap;
|
||||
GpioMapIter gpioMapIter;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user