27 lines
725 B
C++
27 lines
725 B
C++
|
#include "gnssCallback.h"
|
||
|
#include "devices/gpioIds.h"
|
||
|
|
||
|
#include "fsfw/tasks/TaskFactory.h"
|
||
|
|
||
|
ReturnValue_t gps::triggerGpioResetPin(void *args) {
|
||
|
ResetArgs* resetArgs = reinterpret_cast<ResetArgs*>(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;
|
||
|
}
|