Browse Source

muorb: code cleanup

Fixed comments and code formatting

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
sbg
Mark Charlebois 10 years ago
parent
commit
5120708b38
  1. 4
      src/modules/muorb/adsp/px4muorb.cpp
  2. 68
      src/modules/muorb/krait/uORBKraitFastRpcChannel.cpp

4
src/modules/muorb/adsp/px4muorb.cpp

@ -49,7 +49,7 @@
#define _ENABLE_MUORB 1 #define _ENABLE_MUORB 1
extern "C" { extern "C" {
int dspal_main(int argc, const char *argv[]); int dspal_main(int argc, const char *argv[]);
}; };
@ -58,7 +58,7 @@ int px4muorb_orb_initialize()
int rc = 0; int rc = 0;
PX4_WARN("Before calling dspal_entry() method..."); PX4_WARN("Before calling dspal_entry() method...");
HAP_power_request(100, 100, 1000); HAP_power_request(100, 100, 1000);
// registere the fastrpc muorb with uORBManager. // register the fastrpc muorb with uORBManager.
uORB::Manager::get_instance()->set_uorb_communicator(uORB::FastRpcChannel::GetInstance()); uORB::Manager::get_instance()->set_uorb_communicator(uORB::FastRpcChannel::GetInstance());
const char *argv[2] = { "dspal", "start" }; const char *argv[2] = { "dspal", "start" };
int argc = 2; int argc = 2;

68
src/modules/muorb/krait/uORBKraitFastRpcChannel.cpp

@ -39,12 +39,12 @@
#define LOG_TAG "uORBKraitFastRpcChannel.cpp" #define LOG_TAG "uORBKraitFastRpcChannel.cpp"
static void DumpData(uint8_t *buffer, int32_t length, int32_t num_topics); uORB::KraitFastRpcChannel uORB::KraitFastRpcChannel::_Instance;
static std::string _log_file_name = "./hex_dump.txt"; static void DumpData(uint8_t *buffer, int32_t length, int32_t num_topics);
// static intialization. // static intialization.
uORB::KraitFastRpcChannel uORB::KraitFastRpcChannel::_Instance; static std::string _log_file_name = "./hex_dump.txt";
static unsigned long _snd_msg_min = 0xFFFFFF; static unsigned long _snd_msg_min = 0xFFFFFF;
static unsigned long _snd_msg_max = 0; static unsigned long _snd_msg_max = 0;
@ -58,59 +58,45 @@ static hrt_abstime _log_check_time = 0;
static hrt_abstime _log_check_interval = 10000000; static hrt_abstime _log_check_interval = 10000000;
//============================================================================== uORB::KraitFastRpcChannel::KraitFastRpcChannel() :
//============================================================================== _RxHandler(nullptr),
uORB::KraitFastRpcChannel::KraitFastRpcChannel() _ThreadStarted(false),
: _RxHandler(nullptr) _ThreadShouldExit(false)
, _ThreadStarted(false)
, _ThreadShouldExit(false)
{ {
_KraitWrapper.Initialize(); _KraitWrapper.Initialize();
} }
//==============================================================================
//==============================================================================
int16_t uORB::KraitFastRpcChannel::add_subscription(const char *messageName, int32_t msgRateInHz) int16_t uORB::KraitFastRpcChannel::add_subscription(const char *messageName, int32_t msgRateInHz)
{ {
int16_t rc = 0; int16_t rc = 0;
// invoke fast_rpc call. From Idl. //PX4_DEBUG("Before calling AddSubscriber for [%s]\n", messageName);
PX4_DEBUG("Before calling AddSubscriber for [%s]\n", messageName);
rc = _KraitWrapper.AddSubscriber(messageName); rc = _KraitWrapper.AddSubscriber(messageName);
PX4_DEBUG("Response for AddSubscriber for [%s], rc[%d]\n", messageName, rc); //PX4_DEBUG("Response for AddSubscriber for [%s], rc[%d]\n", messageName, rc);
return rc; return rc;
} }
//==============================================================================
//==============================================================================
int16_t uORB::KraitFastRpcChannel::remove_subscription(const char *messageName) int16_t uORB::KraitFastRpcChannel::remove_subscription(const char *messageName)
{ {
int16_t rc = 0; int16_t rc = 0;
// invoke the fast_rpc call defined in idl. //PX4_DEBUG("Before calling RemoveSubscriber for [%s]\n", messageName);
PX4_DEBUG("Before calling RemoveSubscriber for [%s]\n", messageName);
rc = _KraitWrapper.RemoveSubscriber(messageName); rc = _KraitWrapper.RemoveSubscriber(messageName);
PX4_DEBUG("Response for RemoveSubscriber for [%s], rc[%d]\n", messageName, rc); //PX4_DEBUG("Response for RemoveSubscriber for [%s], rc[%d]\n", messageName, rc);
return rc; return rc;
} }
//==============================================================================
//==============================================================================
int16_t uORB::KraitFastRpcChannel::register_handler(uORBCommunicator::IChannelRxHandler *handler) int16_t uORB::KraitFastRpcChannel::register_handler(uORBCommunicator::IChannelRxHandler *handler)
{ {
_RxHandler = handler; _RxHandler = handler;
return 0; return 0;
} }
//==============================================================================
//==============================================================================
int16_t uORB::KraitFastRpcChannel::send_message(const char *messageName, int32_t length, uint8_t *data) int16_t uORB::KraitFastRpcChannel::send_message(const char *messageName, int32_t length, uint8_t *data)
{ {
int16_t rc = 0; int16_t rc = 0;
// invoke the fast rpc call to send data defined in idl.
//PX4_DEBUG( "Before calling send_data for [%s] len[%d]\n", messageName.c_str(), length );
int32_t status = 0; int32_t status = 0;
hrt_abstime t1, t4; hrt_abstime t1, t4;
hrt_abstime t2 = 0, t3 = 0; hrt_abstime t2 = 0;
hrt_abstime t3 = 0;
t1 = hrt_absolute_time(); t1 = hrt_absolute_time();
if (_AdspSubscriberCache.find(std::string(messageName)) == _AdspSubscriberCache.end()) { if (_AdspSubscriberCache.find(std::string(messageName)) == _AdspSubscriberCache.end()) {
@ -152,15 +138,21 @@ int16_t uORB::KraitFastRpcChannel::send_message(const char *messageName, int32_t
if ((t3 - t2) > _snd_msg_max) { _snd_msg_max = (t3 - t2); } if ((t3 - t2) > _snd_msg_max) { _snd_msg_max = (t3 - t2); }
_snd_msg_avg = ((double)((_snd_msg_avg * (_snd_msg_count - 1)) + (unsigned long)(t3 - t2))) / (double)(_snd_msg_count); _snd_msg_avg = ((double)((_snd_msg_avg * (_snd_msg_count - 1)) +
(unsigned long)(t3 - t2))) / (double)(_snd_msg_count);
} }
_overall_snd_avg = ((double)((_overall_snd_avg * (_overall_snd_count - 1)) + (unsigned long)(t4 - t1))) / (double)( _overall_snd_avg = ((double)((_overall_snd_avg * (_overall_snd_count - 1)) +
_overall_snd_count); (unsigned long)(t4 - t1))) / (double)(_overall_snd_count);
if ((t4 - _log_check_time) > _log_check_interval) { if ((t4 - _log_check_time) > _log_check_interval) {
/*
PX4_DEBUG("SndMsgStats: overall_min: %lu overall_max: %lu snd_msg_min: %lu snd_msg_max: %lu",
_overall_snd_min, _overall_snd_max,
_snd_msg_min, _snd_msg_max);
PX4_DEBUG(".... overall_avg: %f (%lu) snd_msg_avg: %f (%lu)",
_overall_snd_avg, _overall_snd_count, _snd_msg_avg, _snd_msg_count);
*/
_log_check_time = t4; _log_check_time = t4;
_overall_snd_min = _snd_msg_min = 0xFFFFFFF; _overall_snd_min = _snd_msg_min = 0xFFFFFFF;
_overall_snd_max = _snd_msg_max = 0; _overall_snd_max = _snd_msg_max = 0;
@ -200,13 +192,12 @@ void uORB::KraitFastRpcChannel::Stop()
{ {
_ThreadShouldExit = true; _ThreadShouldExit = true;
_KraitWrapper.UnblockReceiveData(); _KraitWrapper.UnblockReceiveData();
PX4_DEBUG("After calling _KraitWrapper.UnblockReceiveData()...\n"); //PX4_DEBUG("After calling UnblockReceiveData()...\n");
pthread_join(_RecvThread, NULL); pthread_join(_RecvThread, NULL);
PX4_DEBUG("*** After calling pthread_join...\n"); //PX4_DEBUG("*** After calling pthread_join...\n");
_ThreadStarted = false; _ThreadStarted = false;
} }
void *uORB::KraitFastRpcChannel::thread_start(void *handler) void *uORB::KraitFastRpcChannel::thread_start(void *handler)
{ {
if (handler != nullptr) { if (handler != nullptr) {
@ -237,9 +228,6 @@ void uORB::KraitFastRpcChannel::fastrpc_recv_thread()
while (!_ThreadShouldExit) { while (!_ThreadShouldExit) {
hrt_abstime t1, t2, t3; hrt_abstime t1, t2, t3;
t1 = hrt_absolute_time(); t1 = hrt_absolute_time();
// call the fastrpc recv data call.
//uorb_fastrpc_recieve( &type, &name_len, name, &data_length, data );
//rc = _KraitWrapper.ReceiveData(&type, &name, &data_length, &data);
rc = _KraitWrapper.ReceiveBulkData(&data, &data_length, &num_topics); rc = _KraitWrapper.ReceiveBulkData(&data, &data_length, &num_topics);
t2 = hrt_absolute_time(); t2 = hrt_absolute_time();
@ -284,12 +272,15 @@ void uORB::KraitFastRpcChannel::fastrpc_recv_thread()
if ((unsigned long)(t2 - t1) < rpc_min) { if ((unsigned long)(t2 - t1) < rpc_min) {
rpc_min = (unsigned long)(t2 - t1); rpc_min = (unsigned long)(t2 - t1);
} }
if ((unsigned long)(t2 - t1) > rpc_max) { if ((unsigned long)(t2 - t1) > rpc_max) {
rpc_max = (unsigned long)(t2 - t1); rpc_max = (unsigned long)(t2 - t1);
} }
if ((unsigned long)(t3 - t2) < orb_min) { if ((unsigned long)(t3 - t2) < orb_min) {
orb_min = (unsigned long)(t3 - t2); orb_min = (unsigned long)(t3 - t2);
} }
if ((unsigned long)(t3 - t2) > orb_max) { if ((unsigned long)(t3 - t2) > orb_max) {
orb_max = (unsigned long)(t3 - t2); orb_max = (unsigned long)(t3 - t2);
} }
@ -310,7 +301,6 @@ void uORB::KraitFastRpcChannel::fastrpc_recv_thread()
//PX4_DEBUG("MsgName: %30s, t1: %lu, t2: %lu, t3: %lu, dt1: %lu, dt2: %lu",name, (unsigned long) t1, (unsigned long) t2, (unsigned long) t3, //PX4_DEBUG("MsgName: %30s, t1: %lu, t2: %lu, t3: %lu, dt1: %lu, dt2: %lu",name, (unsigned long) t1, (unsigned long) t2, (unsigned long) t3,
// (unsigned long) (t2-t1), (unsigned long) (t3-t2)); // (unsigned long) (t2-t1), (unsigned long) (t3-t2));
} }
PX4_DEBUG("[uORB::KraitFastRpcChannel::fastrpc_recv_thread] Exiting fastrpc_recv_thread\n"); PX4_DEBUG("[uORB::KraitFastRpcChannel::fastrpc_recv_thread] Exiting fastrpc_recv_thread\n");

Loading…
Cancel
Save