|
|
|
@ -17,11 +17,13 @@
@@ -17,11 +17,13 @@
|
|
|
|
|
class AP_GPS_Shim : public GPS |
|
|
|
|
{ |
|
|
|
|
public: |
|
|
|
|
AP_GPS_Shim() : GPS(NULL) {} |
|
|
|
|
AP_GPS_Shim() : GPS(NULL) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
virtual void init(enum GPS_Engine_Setting nav_setting = GPS_ENGINE_NONE) {}; |
|
|
|
|
virtual bool read(void) { |
|
|
|
|
bool updated = _updated; |
|
|
|
|
virtual void init(enum GPS_Engine_Setting nav_setting = GPS_ENGINE_NONE) { |
|
|
|
|
}; |
|
|
|
|
virtual bool read(void) { |
|
|
|
|
bool updated = _updated; |
|
|
|
|
_updated = false; |
|
|
|
|
return updated; |
|
|
|
|
} |
|
|
|
@ -29,7 +31,7 @@ public:
@@ -29,7 +31,7 @@ public:
|
|
|
|
|
/// Set-and-mark-updated macro for the public member variables; each instance
|
|
|
|
|
/// defines a member function set_<variable>(<type>)
|
|
|
|
|
///
|
|
|
|
|
#define __GPS_SHIM_SET(__type, __name) void set_##__name(__type v) { __name = v; _updated = true; } |
|
|
|
|
#define __GPS_SHIM_SET(__type, __name) void set_ ## __name(__type v) { __name = v; _updated = true; } |
|
|
|
|
__GPS_SHIM_SET(uint32_t, time); |
|
|
|
|
__GPS_SHIM_SET(long, latitude); |
|
|
|
|
__GPS_SHIM_SET(long, longitude); |
|
|
|
@ -41,7 +43,7 @@ public:
@@ -41,7 +43,7 @@ public:
|
|
|
|
|
#undef __GPS_SHIM_SET |
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
bool _updated; ///< set anytime a member is updated, cleared when read() returns true
|
|
|
|
|
bool _updated; ///< set anytime a member is updated, cleared when read() returns true
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
#endif // AP_GPS_HIL_H
|
|
|
|
|
#endif // AP_GPS_HIL_H
|
|
|
|
|