#include "gnssCallback.h" #include "devices/gpioIds.h" #include "fsfw/tasks/TaskFactory.h" ReturnValue_t gps::triggerGpioResetPin(void* args) { ResetArgs* resetArgs = reinterpret_cast(args); if (args == nullptr) { return HasReturnvaluesIF::RETURN_FAILED; } if (resetArgs->gpioComIF == nullptr) { return HasReturnvaluesIF::RETURN_FAILED; } gpioId_t gpioId; if (resetArgs->gnss1) { gpioId = gpioIds::GNSS_1_NRESET; } else { gpioId = gpioIds::GNSS_0_NRESET; } resetArgs->gpioComIF->pullLow(gpioId); TaskFactory::delayTask(resetArgs->waitPeriodMs); resetArgs->gpioComIF->pullHigh(gpioId); return HasReturnvaluesIF::RETURN_OK; }