Update to v1.8.0 #100

Merged
muellerr merged 125 commits from develop into main 2021-09-24 10:17:43 +02:00
2 changed files with 9 additions and 9 deletions
Showing only changes of commit e837532b22 - Show all commits

View File

@ -54,13 +54,13 @@ ReturnValue_t GPSHyperionHandler::buildCommandFromCommand(
size_t commandDataLen) { size_t commandDataLen) {
switch(deviceCommand) { switch(deviceCommand) {
case(GpsHyperion::TRIGGER_RESET_PIN): { case(GpsHyperion::TRIGGER_RESET_PIN): {
if(resetPinTrigger != nullptr) { if(resetCallback != nullptr) {
PoolReadGuard pg(&gpsSet); PoolReadGuard pg(&gpsSet);
// Set HK entries invalid // Set HK entries invalid
gpsSet.setValidity(false, true); gpsSet.setValidity(false, true);
// The user needs to implement this. Don't touch states for now, the device should // The user needs to implement this. Don't touch states for now, the device should
// quickly reboot and send valid strings again. // quickly reboot and send valid strings again.
return resetPinTrigger(resetPinTriggerArgs); return resetCallback(resetCallbackArgs);
} }
return DeviceHandlerIF::COMMAND_NOT_IMPLEMENTED; return DeviceHandlerIF::COMMAND_NOT_IMPLEMENTED;
} }
@ -180,10 +180,10 @@ void GPSHyperionHandler::modeChanged() {
internalState = InternalStates::NONE; internalState = InternalStates::NONE;
} }
void GPSHyperionHandler::setResetPinTriggerFunction(ReturnValue_t (*function)(void *args), void GPSHyperionHandler::setResetPinTriggerFunction(gpioResetFunction_t resetCallback,
void *args) { void *args) {
resetPinTrigger = function; this->resetCallback = resetCallback;
resetPinTriggerArgs = args; resetCallbackArgs = args;
} }
void GPSHyperionHandler::debugInterface(uint8_t positionTracker, object_id_t objectId, void GPSHyperionHandler::debugInterface(uint8_t positionTracker, object_id_t objectId,

View File

@ -6,7 +6,6 @@
#include "devicedefinitions/GPSDefinitions.h" #include "devicedefinitions/GPSDefinitions.h"
#include "lwgps/lwgps.h" #include "lwgps/lwgps.h"
/** /**
* @brief Device handler for the Hyperion HT-GPS200 device * @brief Device handler for the Hyperion HT-GPS200 device
* @details * @details
@ -15,15 +14,16 @@
*/ */
class GPSHyperionHandler: public DeviceHandlerBase { class GPSHyperionHandler: public DeviceHandlerBase {
public: public:
using gpioResetFunction_t = ReturnValue_t (*) (void* args);
GPSHyperionHandler(object_id_t objectId, object_id_t deviceCommunication, GPSHyperionHandler(object_id_t objectId, object_id_t deviceCommunication,
CookieIF* comCookie, bool debugHyperionGps = false); CookieIF* comCookie, bool debugHyperionGps = false);
virtual ~GPSHyperionHandler(); virtual ~GPSHyperionHandler();
void setResetPinTriggerFunction(ReturnValue_t (*function) (void*args), void*args); void setResetPinTriggerFunction(gpioResetFunction_t resetCallback, void*args);
protected: protected:
ReturnValue_t (*resetPinTrigger) (void* args) = nullptr; gpioResetFunction_t resetCallback = nullptr;
void* resetPinTriggerArgs = nullptr; void* resetCallbackArgs = nullptr;
enum class InternalStates { enum class InternalStates {
NONE, NONE,