2021-02-14 12:35:08 +01:00
|
|
|
#include "GpioCookie.h"
|
2021-02-14 18:21:59 +01:00
|
|
|
#include <fsfw/serviceinterface/ServiceInterface.h>
|
2021-01-16 12:22:17 +01:00
|
|
|
|
|
|
|
GpioCookie::GpioCookie() {
|
|
|
|
}
|
|
|
|
|
2021-02-22 17:36:44 +01:00
|
|
|
ReturnValue_t GpioCookie::addGpio(gpioId_t gpioId, GpioConfig_t& gpioConfig){
|
2021-02-14 18:21:59 +01:00
|
|
|
auto gpioMapIter = gpioMap.find(gpioId);
|
2021-01-16 12:22:17 +01:00
|
|
|
if(gpioMapIter == gpioMap.end()) {
|
2021-02-14 18:21:59 +01:00
|
|
|
auto statusPair = gpioMap.emplace(gpioId, gpioConfig);
|
|
|
|
if (statusPair.second == false) {
|
2021-02-22 17:36:44 +01:00
|
|
|
#if FSFW_VERBOSE_LEVEL >= 1
|
2021-02-14 18:21:59 +01:00
|
|
|
sif::error << "GpioCookie::addGpio: Failed to add GPIO " << gpioId <<
|
|
|
|
"to GPIO map" << std::endl;
|
2021-02-22 17:36:44 +01:00
|
|
|
#endif
|
|
|
|
return HasReturnvaluesIF::RETURN_FAILED;
|
2021-01-16 12:22:17 +01:00
|
|
|
}
|
2021-02-22 17:36:44 +01:00
|
|
|
return HasReturnvaluesIF::RETURN_OK;
|
2021-01-16 12:22:17 +01:00
|
|
|
}
|
2021-02-22 17:36:44 +01:00
|
|
|
#if FSFW_VERBOSE_LEVEL >= 1
|
2021-02-14 18:21:59 +01:00
|
|
|
sif::error << "GpioCookie::addGpio: GPIO already exists in GPIO map " << std::endl;
|
2021-02-22 17:36:44 +01:00
|
|
|
#endif
|
|
|
|
return HasReturnvaluesIF::RETURN_FAILED;
|
2021-01-16 12:22:17 +01:00
|
|
|
}
|
|
|
|
|
2021-02-14 18:21:59 +01:00
|
|
|
GpioMap GpioCookie::getGpioMap() const {
|
2021-01-16 12:22:17 +01:00
|
|
|
return gpioMap;
|
|
|
|
}
|
|
|
|
|
|
|
|
GpioCookie::~GpioCookie() {}
|