diff --git a/mission/devices/GPSHyperionHandler.cpp b/mission/devices/GPSHyperionHandler.cpp index c4cb460d..9b7e993d 100644 --- a/mission/devices/GPSHyperionHandler.cpp +++ b/mission/devices/GPSHyperionHandler.cpp @@ -54,13 +54,13 @@ ReturnValue_t GPSHyperionHandler::buildCommandFromCommand( size_t commandDataLen) { switch(deviceCommand) { case(GpsHyperion::TRIGGER_RESET_PIN): { - if(resetPinTrigger != nullptr) { + if(resetCallback != nullptr) { PoolReadGuard pg(&gpsSet); // Set HK entries invalid gpsSet.setValidity(false, true); // The user needs to implement this. Don't touch states for now, the device should // quickly reboot and send valid strings again. - return resetPinTrigger(resetPinTriggerArgs); + return resetCallback(resetCallbackArgs); } return DeviceHandlerIF::COMMAND_NOT_IMPLEMENTED; } @@ -180,10 +180,10 @@ void GPSHyperionHandler::modeChanged() { internalState = InternalStates::NONE; } -void GPSHyperionHandler::setResetPinTriggerFunction(ReturnValue_t (*function)(void *args), +void GPSHyperionHandler::setResetPinTriggerFunction(gpioResetFunction_t resetCallback, void *args) { - resetPinTrigger = function; - resetPinTriggerArgs = args; + this->resetCallback = resetCallback; + resetCallbackArgs = args; } void GPSHyperionHandler::debugInterface(uint8_t positionTracker, object_id_t objectId, diff --git a/mission/devices/GPSHyperionHandler.h b/mission/devices/GPSHyperionHandler.h index 06c505d0..03c572a3 100644 --- a/mission/devices/GPSHyperionHandler.h +++ b/mission/devices/GPSHyperionHandler.h @@ -6,7 +6,6 @@ #include "devicedefinitions/GPSDefinitions.h" #include "lwgps/lwgps.h" - /** * @brief Device handler for the Hyperion HT-GPS200 device * @details @@ -15,15 +14,16 @@ */ class GPSHyperionHandler: public DeviceHandlerBase { public: + using gpioResetFunction_t = ReturnValue_t (*) (void* args); GPSHyperionHandler(object_id_t objectId, object_id_t deviceCommunication, CookieIF* comCookie, bool debugHyperionGps = false); virtual ~GPSHyperionHandler(); - void setResetPinTriggerFunction(ReturnValue_t (*function) (void*args), void*args); + void setResetPinTriggerFunction(gpioResetFunction_t resetCallback, void*args); protected: - ReturnValue_t (*resetPinTrigger) (void* args) = nullptr; - void* resetPinTriggerArgs = nullptr; + gpioResetFunction_t resetCallback = nullptr; + void* resetCallbackArgs = nullptr; enum class InternalStates { NONE,