From a6e1df06d96cf7c69dad2064770ecc24d6a18718 Mon Sep 17 00:00:00 2001 From: Julian Oes Date: Tue, 3 May 2016 15:51:21 +0200 Subject: [PATCH] Merge pull request #4422 from PX4/fix_snappy_muorbinit muorb: call `initialize()` before `get_instance()` --- src/modules/muorb/adsp/px4muorb.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/muorb/adsp/px4muorb.cpp b/src/modules/muorb/adsp/px4muorb.cpp index a63145a056..efe8fde2d0 100644 --- a/src/modules/muorb/adsp/px4muorb.cpp +++ b/src/modules/muorb/adsp/px4muorb.cpp @@ -51,12 +51,17 @@ int px4muorb_orb_initialize() { HAP_power_request(100, 100, 1000); - // register the fastrpc muorb with uORBManager. + // The uORB Manager needs to be initialized first up, otherwise the instance is nullptr. + uORB::Manager::initialize(); + // Register the fastrpc muorb with uORBManager. uORB::Manager::get_instance()->set_uorb_communicator(uORB::FastRpcChannel::GetInstance()); + + // Now continue with the usual dspal startup. const char *argv[] = {"dspal", "start"}; int argc = 2; int rc; rc = dspal_main(argc, (char **)argv); + return rc; }