v1.10.0 #220
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
#include "devicedefinitions/GPSDefinitions.h"
|
|
||||||
#include "fsfw/datapool/PoolReadGuard.h"
|
#include "fsfw/datapool/PoolReadGuard.h"
|
||||||
#include "fsfw/timemanager/Clock.h"
|
#include "fsfw/timemanager/Clock.h"
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef MISSION_DEVICES_GPSHYPERIONHANDLER_H_
|
#ifndef MISSION_DEVICES_GPSHYPERIONHANDLER_H_
|
||||||
#define MISSION_DEVICES_GPSHYPERIONHANDLER_H_
|
#define MISSION_DEVICES_GPSHYPERIONHANDLER_H_
|
||||||
|
|
||||||
#include "devicedefinitions/GPSDefinitions.h"
|
#include "mission/devices/devicedefinitions/GPSDefinitions.h"
|
||||||
#include "fsfw/FSFW.h"
|
#include "fsfw/FSFW.h"
|
||||||
#include "fsfw/controller/ExtendedControllerBase.h"
|
#include "fsfw/controller/ExtendedControllerBase.h"
|
||||||
#include "fsfw/devicehandlers/DeviceHandlerBase.h"
|
#include "fsfw/devicehandlers/DeviceHandlerBase.h"
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
#ifndef MISSION_DEVICES_DEVICEDEFINITIONS_GPSDEFINITIONS_H_
|
|
||||||
#define MISSION_DEVICES_DEVICEDEFINITIONS_GPSDEFINITIONS_H_
|
|
||||||
|
|
||||||
#include "fsfw/datapoollocal/StaticLocalDataSet.h"
|
|
||||||
#include "fsfw/devicehandlers/DeviceHandlerIF.h"
|
|
||||||
|
|
||||||
namespace GpsHyperion {
|
|
||||||
|
|
||||||
static constexpr DeviceCommandId_t GPS_REPLY = 0;
|
|
||||||
static constexpr DeviceCommandId_t TRIGGER_RESET_PIN = 5;
|
|
||||||
|
|
||||||
static constexpr uint32_t DATASET_ID = 0;
|
|
||||||
|
|
||||||
enum GpsPoolIds : lp_id_t {
|
|
||||||
LATITUDE = 0,
|
|
||||||
LONGITUDE = 1,
|
|
||||||
ALTITUDE = 2,
|
|
||||||
SPEED = 3,
|
|
||||||
FIX_MODE = 4,
|
|
||||||
SATS_IN_USE = 5,
|
|
||||||
SATS_IN_VIEW = 6,
|
|
||||||
UNIX_SECONDS = 7,
|
|
||||||
YEAR = 8,
|
|
||||||
MONTH = 9,
|
|
||||||
DAY = 10,
|
|
||||||
HOURS = 11,
|
|
||||||
MINUTES = 12,
|
|
||||||
SECONDS = 13
|
|
||||||
};
|
|
||||||
|
|
||||||
enum GpsFixModes : uint8_t { INVALID = 0, NO_FIX = 1, FIX_2D = 2, FIX_3D = 3 };
|
|
||||||
|
|
||||||
} // namespace GpsHyperion
|
|
||||||
|
|
||||||
class GpsPrimaryDataset : public StaticLocalDataSet<18> {
|
|
||||||
public:
|
|
||||||
GpsPrimaryDataset(object_id_t gpsId) : StaticLocalDataSet(sid_t(gpsId, GpsHyperion::DATASET_ID)) {
|
|
||||||
setAllVariablesReadOnly();
|
|
||||||
}
|
|
||||||
|
|
||||||
lp_var_t<double> latitude = lp_var_t<double>(sid.objectId, GpsHyperion::LATITUDE, this);
|
|
||||||
lp_var_t<double> longitude = lp_var_t<double>(sid.objectId, GpsHyperion::LONGITUDE, this);
|
|
||||||
lp_var_t<double> altitude = lp_var_t<double>(sid.objectId, GpsHyperion::ALTITUDE, this);
|
|
||||||
lp_var_t<double> speed = lp_var_t<double>(sid.objectId, GpsHyperion::SPEED, this);
|
|
||||||
lp_var_t<uint8_t> fixMode = lp_var_t<uint8_t>(sid.objectId, GpsHyperion::FIX_MODE, this);
|
|
||||||
lp_var_t<uint8_t> satInUse = lp_var_t<uint8_t>(sid.objectId, GpsHyperion::SATS_IN_USE, this);
|
|
||||||
lp_var_t<uint8_t> satInView = lp_var_t<uint8_t>(sid.objectId, GpsHyperion::SATS_IN_VIEW, this);
|
|
||||||
lp_var_t<uint16_t> year = lp_var_t<uint16_t>(sid.objectId, GpsHyperion::YEAR, this);
|
|
||||||
lp_var_t<uint8_t> month = lp_var_t<uint8_t>(sid.objectId, GpsHyperion::MONTH, this);
|
|
||||||
lp_var_t<uint8_t> day = lp_var_t<uint8_t>(sid.objectId, GpsHyperion::DAY, this);
|
|
||||||
lp_var_t<uint8_t> hours = lp_var_t<uint8_t>(sid.objectId, GpsHyperion::HOURS, this);
|
|
||||||
lp_var_t<uint8_t> minutes = lp_var_t<uint8_t>(sid.objectId, GpsHyperion::MINUTES, this);
|
|
||||||
lp_var_t<uint8_t> seconds = lp_var_t<uint8_t>(sid.objectId, GpsHyperion::SECONDS, this);
|
|
||||||
lp_var_t<uint32_t> unixSeconds =
|
|
||||||
lp_var_t<uint32_t>(sid.objectId, GpsHyperion::UNIX_SECONDS, this);
|
|
||||||
|
|
||||||
private:
|
|
||||||
friend class GPSHyperionLinuxController;
|
|
||||||
GpsPrimaryDataset(HasLocalDataPoolIF* hkOwner)
|
|
||||||
: StaticLocalDataSet(hkOwner, GpsHyperion::DATASET_ID) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* MISSION_DEVICES_DEVICEDEFINITIONS_GPSDEFINITIONS_H_ */
|
|
Loading…
Reference in New Issue
Block a user