Update to v1.8.0 #100
@ -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,
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user