Jafar
|
Implements a channel filter belonging to node i and connected to another channel filter belonging to node j. More...
Implements a channel filter belonging to node i and connected to another channel filter belonging to node j.
The channel filter allows for information synchronization between nodes. Thus, it has to implement information prediction.
Implementation based on "A robust architecture for decentralized data fusion" E. Nettleton, H. Durrant-Whyte, S. Sukkarieh
Definition at line 28 of file channelfilterbase.hpp.
#include <channelfilterbase.hpp>
Public Member Functions | |
ChannelFilterBase (unsigned short sv_size, unsigned short belongs_to_node, unsigned short link_with, CommBase *comm, PredictionEngineBase *pred_engine, InfoContainer const &info_init) | |
unsigned short | GetLinkWithNode () const |
InfoContainer const & | GetNewInfo () const |
void | SetCommonInfoTime (time const &t) |
void | SetNow (time const &now) |
Set the time origin. | |
bool | Sync_Ok () const |
void | ResetJustReceived () |
bool | HasJustReceivedInfo () const |
This function is used in simulation only. | |
void | SetLog (bool log) |
Enable/disable logging. | |
void | OutputInfoToOtherNode (InfoContainer const &to_j) |
Send information to the connected node. | |
bool | Sync (time const &horizon) |
This function is called by the channel manager. | |
void | PrintPredModel () |
void | CloseLogFile () |
Private Types | |
enum | EVENT { EVENT_OUT, EVENT_SYNC, EVENT_NOSYNC } |
Private Member Functions | |
void | LogHeader () |
void | DumpState (EVENT const &event, InfoContainer const &send_rec) |
void | InitLog () |
Private Attributes | |
CommBase * | m_comm |
InfoContainer | m_info_ij |
InfoContainer | m_new_ji |
InfoContainer | m_pred_j |
PredictionEngineBase * | m_pred_engine |
unsigned short | m_link_with_node |
unsigned short | m_belongs_to_node |
time | m_time_orig |
bool | m_do_log |
std::ofstream | m_dump_file |
bool jafar::ddf::ChannelFilterBase::HasJustReceivedInfo | ( | ) | const [inline] |
This function is used in simulation only.
It allows to know if an information has been received.
Definition at line 68 of file channelfilterbase.hpp.
void jafar::ddf::ChannelFilterBase::SetNow | ( | time const & | now | ) | [inline] |
Set the time origin.
The current time is substracted with "now" so that we have access to the relative time. It is used when logging is enabled.
Definition at line 61 of file channelfilterbase.hpp.
bool jafar::ddf::ChannelFilterBase::Sync | ( | time const & | horizon | ) |
This function is called by the channel manager.
It predicts the information sent by node j to the next time horizon. (compute equation 17 with equation 4) return CHAN_FAILURE if no suitable item is available in the fifo return CHAN_EMPTY if the buffer is empty return CHAN_OK if one suitable item is found
Generated on Wed Oct 15 2014 00:37:33 for Jafar by doxygen 1.7.6.1 |