forked from Archive/PX4-Autopilot
mavlink: MavlinkOrbSubscription.update() result fixed
This commit is contained in:
parent
3874bca208
commit
df5d702bae
|
@ -78,12 +78,15 @@ MavlinkOrbSubscription::get_data()
|
|||
bool
|
||||
MavlinkOrbSubscription::update(const hrt_abstime t)
|
||||
{
|
||||
if (_last_check != t) {
|
||||
_last_check = t;
|
||||
bool updated;
|
||||
orb_check(_fd, &updated);
|
||||
if (_last_check == t) {
|
||||
/* already checked right now, return result of the check */
|
||||
return _updated;
|
||||
|
||||
if (updated) {
|
||||
} else {
|
||||
_last_check = t;
|
||||
orb_check(_fd, &_updated);
|
||||
|
||||
if (_updated) {
|
||||
orb_copy(_topic, _fd, _data);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
class MavlinkOrbSubscription
|
||||
{
|
||||
public:
|
||||
MavlinkOrbSubscription *next;
|
||||
MavlinkOrbSubscription *next; /*< pointer to next subscription in list */
|
||||
|
||||
MavlinkOrbSubscription(const orb_id_t topic);
|
||||
~MavlinkOrbSubscription();
|
||||
|
@ -66,11 +66,12 @@ public:
|
|||
const orb_id_t get_topic();
|
||||
|
||||
private:
|
||||
const orb_id_t _topic;
|
||||
int _fd;
|
||||
bool _published;
|
||||
void *_data;
|
||||
hrt_abstime _last_check;
|
||||
const orb_id_t _topic; /*< topic metadata */
|
||||
int _fd; /*< subscription handle */
|
||||
bool _published; /*< topic was ever published */
|
||||
void *_data; /*< pointer to data buffer */
|
||||
hrt_abstime _last_check; /*< time of last check */
|
||||
bool _updated; /*< updated on last check */
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue