Public Member Functions | Static Public Member Functions | Private Attributes
dji2mav::MavContainer Class Reference

#include <mavContainer.h>

List of all members.

Public Member Functions

void deliverHelper ()
 A message recv helper for the thread.
bool deliverMsg (uint16_t moduleIdx, const mavlink_message_t &msg)
 Deliver received message to specific module.
bool deliverMsg (std::string moduleName, const mavlink_message_t &msg)
 Deliver received message to specific module.
bool deliverMsgToAll (const mavlink_message_t &msg)
 Deliver received message to all modules.
int fetchMsgFromAll (mavlink_message_t *recvMsgList, mavlink_status_t *recvStatusList, uint16_t listSize)
 Fetch messages from Handler.
int fetchMsgFromMng (uint16_t mngIdx, mavlink_message_t *recvMsgList, mavlink_status_t *recvStatusList, uint16_t listSize)
 Fetch messages from Handler specific Manager.
int getModuleIdx (std::string moduleName)
 Get the index of module by its name.
bool hasMOI (uint16_t moduleIdx, uint8_t msgid)
 Judge whether a msgid is in the MOI list of module.
bool hasMOI (std::string moduleName, uint8_t msgid)
 Judge whether a msgid is in the MOI list of module.
 MavContainer (MavHandler &handler, uint16_t maxModuleNum=8)
 Constructor for the MavContainer.
bool registerModule (MavModule &module, uint16_t size,...)
 Inject the module object and set its msgid of interest.
bool run ()
 Run threads for delivering messages and modules.
 ~MavContainer ()

Static Public Member Functions

static void * thread_call (void *param)
 A thread calling function for delivering received msg.

Private Attributes

uint16_t m_currListSize
MavHandlerm_hdlr
uint16_t m_maxListSize
MavModule ** m_moduleList
uint8_t ** m_moduleMOI
pthread_t m_tid

Detailed Description

Definition at line 29 of file mavContainer.h.


Constructor & Destructor Documentation

dji2mav::MavContainer::MavContainer ( MavHandler handler,
uint16_t  maxModuleNum = 8 
) [inline]

Constructor for the MavContainer.

Parameters:
handler: The reference of MavHandler
maxModuleNum: The max number of modules

Definition at line 36 of file mavContainer.h.

Definition at line 59 of file mavContainer.h.


Member Function Documentation

A message recv helper for the thread.

Definition at line 318 of file mavContainer.h.

bool dji2mav::MavContainer::deliverMsg ( uint16_t  moduleIdx,
const mavlink_message_t msg 
) [inline]

Deliver received message to specific module.

Parameters:
moduleIdx: The index of the module
msg: The const pointer to msg
Returns:
True if succeed or false if fail

Definition at line 248 of file mavContainer.h.

bool dji2mav::MavContainer::deliverMsg ( std::string  moduleName,
const mavlink_message_t msg 
) [inline]

Deliver received message to specific module.

Parameters:
moduleName: The name of the module
msg: The const pointer to msg
Returns:
True if succeed or false if fail

Definition at line 268 of file mavContainer.h.

Deliver received message to all modules.

Parameters:
msg: The const pointer to msg that is to be delivered
Returns:
True if succeed or false if fail

Definition at line 291 of file mavContainer.h.

int dji2mav::MavContainer::fetchMsgFromAll ( mavlink_message_t recvMsgList,
mavlink_status_t recvStatusList,
uint16_t  listSize 
) [inline]

Fetch messages from Handler.

Parameters:
recvMsgList: The pointer of a recv msg list
recvStatusList: The pointer of a recv status list
listSize: The size of the list
Returns:
Num of msg received, -1 for error

Definition at line 233 of file mavContainer.h.

int dji2mav::MavContainer::fetchMsgFromMng ( uint16_t  mngIdx,
mavlink_message_t recvMsgList,
mavlink_status_t recvStatusList,
uint16_t  listSize 
) [inline]

Fetch messages from Handler specific Manager.

Parameters:
mngIdx: The index of specific Manager
recvMsgList: The pointer of a recv msg list
recvStatusList: The pointer of a recv status list
listSize: The size of the list
Returns:
Num of msg received, -2 for invalid input or -1 for error

Definition at line 216 of file mavContainer.h.

int dji2mav::MavContainer::getModuleIdx ( std::string  moduleName) [inline]

Get the index of module by its name.

Parameters:
moduleName: The string name of module
Returns:
The index of module or -1 for not matched

Definition at line 145 of file mavContainer.h.

bool dji2mav::MavContainer::hasMOI ( uint16_t  moduleIdx,
uint8_t  msgid 
) [inline]

Judge whether a msgid is in the MOI list of module.

Parameters:
moduleIdx: The index of module
msgid: The msgid that is to be checked
Returns:
True if exists or false if not

Definition at line 162 of file mavContainer.h.

bool dji2mav::MavContainer::hasMOI ( std::string  moduleName,
uint8_t  msgid 
) [inline]

Judge whether a msgid is in the MOI list of module.

Parameters:
moduleName: The name of the module
msgid: The msgid that is to be checked
Returns:
True if exists or false if not

Definition at line 196 of file mavContainer.h.

bool dji2mav::MavContainer::registerModule ( MavModule module,
uint16_t  size,
  ... 
) [inline]

Inject the module object and set its msgid of interest.

Parameters:
module: The reference of module object
size: The size of interested msgid list
...: The msgid list of interest, should be uint8_t
Returns:
True if succeed or false if fail

Definition at line 92 of file mavContainer.h.

bool dji2mav::MavContainer::run ( ) [inline]

Run threads for delivering messages and modules.

Returns:
True if succeed to create the thread or false if fail

Definition at line 339 of file mavContainer.h.

static void* dji2mav::MavContainer::thread_call ( void *  param) [inline, static]

A thread calling function for delivering received msg.

Parameters:
param: The pointer to the Container object

Definition at line 310 of file mavContainer.h.


Member Data Documentation

Definition at line 361 of file mavContainer.h.

Definition at line 356 of file mavContainer.h.

Definition at line 360 of file mavContainer.h.

Definition at line 358 of file mavContainer.h.

Definition at line 359 of file mavContainer.h.

pthread_t dji2mav::MavContainer::m_tid [private]

Definition at line 363 of file mavContainer.h.


The documentation for this class was generated from the following file:


dji_sdk_dji2mav
Author(s):
autogenerated on Thu Jun 6 2019 17:55:37