DUNE: Uniform Navigational Environment  2016.05.0
Monitors::FuelLevel::FuelFilter Class Reference

Detailed Description

Fuel Filter for Fuel Level.

Classes

struct  Arguments
 
struct  BatteryModel
 

Public Types

enum  MergedModels { MGD_RATED, MGD_FTAC, MGD_ATAC }
 
enum  Models {
  MDL_OPT, MDL_PES, MDL_ZERO, MDL_VCOLD,
  MDL_TOTAL
}
 

Public Member Functions

 FuelFilter (Arguments *args, unsigned eids[BatteryData::BM_TOTAL], const EPMap *epower, Tasks::Task *task=NULL, bool real_clock=false, double start_time=0.0)
 
 ~FuelFilter (void)
 
void onVoltage (const IMC::Voltage *msg)
 
void onCurrent (const IMC::Current *msg)
 
void onTemperature (const IMC::Temperature *msg)
 
void onVehicleState (const IMC::VehicleState *msg)
 
void onEntityActivationState (const IMC::EntityActivationState *msg)
 
bool update (void)
 
void fillMessage (IMC::FuelLevel &fl, const std::vector< std::string > &labels, const std::vector< float > &values)
 

Member Enumeration Documentation

Enumerator
MGD_RATED 

Optimistic and pessimistic model merge.

MGD_FTAC 

Rated and cold model merge to find energy for fixed cold temperature and any electric current.

MGD_ATAC 

Rated and cold model merge (temperature map) to find energy for any temperature and any electric current.

Enumerator
MDL_OPT 

Optimistic model.

MDL_PES 

Pessimistic model.

MDL_ZERO 

Model for 0ยบ Celsius of temperature.

MDL_VCOLD 

Very cold model.

MDL_TOTAL 

Number of models available.

Constructor & Destructor Documentation

Monitors::FuelLevel::FuelFilter::FuelFilter ( Arguments args,
unsigned  eids[BatteryData::BM_TOTAL],
const EPMap epower,
Tasks::Task *  task = NULL,
bool  real_clock = false,
double  start_time = 0.0 
)
inline
Monitors::FuelLevel::FuelFilter::~FuelFilter ( void  )
inline

Member Function Documentation

void Monitors::FuelLevel::FuelFilter::fillMessage ( IMC::FuelLevel &  fl,
const std::vector< std::string > &  labels,
const std::vector< float > &  values 
)
inline
void Monitors::FuelLevel::FuelFilter::onCurrent ( const IMC::Current *  msg)
inline

On Current message.

Parameters
[in]msgpointer to Current message

References Monitors::FuelLevel::BatteryData::update().

Referenced by Monitors::FuelLevel::Task::consume().

void Monitors::FuelLevel::FuelFilter::onEntityActivationState ( const IMC::EntityActivationState *  msg)
inline

On EntityActivationState message.

Parameters
[in]msgpointer to EntityActivationState message

Referenced by Monitors::FuelLevel::Task::consume().

void Monitors::FuelLevel::FuelFilter::onTemperature ( const IMC::Temperature *  msg)
inline

On Temperature message.

Parameters
[in]msgpointer to Temperature message

References Monitors::FuelLevel::BatteryData::update().

Referenced by Monitors::FuelLevel::Task::consume().

void Monitors::FuelLevel::FuelFilter::onVehicleState ( const IMC::VehicleState *  msg)
inline

On VehicleState message.

Parameters
[in]msgpointer to VehicleState message

Referenced by Monitors::FuelLevel::Task::consume().

void Monitors::FuelLevel::FuelFilter::onVoltage ( const IMC::Voltage *  msg)
inline
Collaboration diagram for Monitors::FuelLevel::FuelFilter:
Collaboration graph