mirror of
https://gitee.com/xiaohuolufeihua/bizhang_-obav.git
synced 2026-05-22 01:12:31 +00:00
mavlink_command_sender: instantiate in initialize
This commit is contained in:
@@ -42,25 +42,20 @@
|
|||||||
#include <px4_log.h>
|
#include <px4_log.h>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
bool MavlinkCommandSender::_init = false;
|
|
||||||
MavlinkCommandSender *MavlinkCommandSender::_instance = nullptr;
|
MavlinkCommandSender *MavlinkCommandSender::_instance = nullptr;
|
||||||
px4_sem_t MavlinkCommandSender::_lock;
|
px4_sem_t MavlinkCommandSender::_lock;
|
||||||
|
|
||||||
void MavlinkCommandSender::initialize()
|
void MavlinkCommandSender::initialize()
|
||||||
{
|
{
|
||||||
if (_init) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
px4_sem_init(&_lock, 1, 1);
|
px4_sem_init(&_lock, 1, 1);
|
||||||
_init = true;
|
|
||||||
|
if (_instance == nullptr) {
|
||||||
|
_instance = new MavlinkCommandSender();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MavlinkCommandSender &MavlinkCommandSender::instance()
|
MavlinkCommandSender &MavlinkCommandSender::instance()
|
||||||
{
|
{
|
||||||
if (_instance == nullptr) {
|
|
||||||
_instance = new MavlinkCommandSender();
|
|
||||||
}
|
|
||||||
|
|
||||||
return *_instance;
|
return *_instance;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,10 +98,7 @@ private:
|
|||||||
px4_sem_post(&_lock);
|
px4_sem_post(&_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static bool _init;
|
|
||||||
static MavlinkCommandSender *_instance;
|
static MavlinkCommandSender *_instance;
|
||||||
|
|
||||||
static px4_sem_t _lock;
|
static px4_sem_t _lock;
|
||||||
|
|
||||||
// There are MAVLINK_COMM_0 to MAVLINK_COMM_3, so it should be 4.
|
// There are MAVLINK_COMM_0 to MAVLINK_COMM_3, so it should be 4.
|
||||||
|
|||||||
Reference in New Issue
Block a user