Flair
Framework Libre Air
flair::actuator::Bldc Class Referenceabstract

Base class for brushless motors drivers. More...

#include <Bldc.h>

+ Inheritance diagram for flair::actuator::Bldc:

Public Member Functions

 Bldc (const core::IODevice *parent, gui::Layout *layout, std::string name, uint8_t motors_count)
 Constructor. More...
 
 Bldc (const core::Object *parent, std::string name, uint8_t motors_count)
 Constructor. More...
 
 ~Bldc ()
 Destructor. More...
 
void LockUserInterface (void) const
 Lock user interface. More...
 
void UnlockUserInterface (void) const
 Unlock user interface. More...
 
void UseDefaultPlot (gui::TabWidget *tabwidget)
 Use default plot. More...
 
core::MatrixOutput (void) const
 Output from motors. More...
 
uint8_t MotorsCount (void) const
 Motors count. More...
 
void SetEnabled (bool status)
 Enable motors. More...
 
bool AreEnabled (void) const
 Are motors enabled? More...
 
void SetPower (int motor_id, float value)
 Set motor power. More...
 
gui::LayoutGetLayout (void) const
 Layout. More...
 
virtual bool HasSpeedMeasurement (void) const =0
 Has speed measurement. More...
 
virtual bool HasCurrentMeasurement (void) const =0
 Has current measurement. More...
 
- Public Member Functions inherited from flair::core::IODevice
 IODevice (const Object *parent, std::string name)
 Constructor. More...
 
virtual ~IODevice ()
 Destructor. More...
 
void AddDeviceToLog (const IODevice *device)
 Add an IODevice to the logs. More...
 
void AddDataToLog (const io_data *data)
 Add an io_data to the log. More...
 
void OutputToShMem (bool enabled)
 Send the output to a shared memory. More...
 
bool IsReady (void) const
 is device ready More...
 
virtual DataType const & GetInputDataType () const
 
virtual DataType const & GetOutputDataType () const
 
- Public Member Functions inherited from flair::core::Object
 Object (const Object *parent=NULL, std::string name="", std::string type="")
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
std::string ObjectName (void) const
 Name. More...
 
std::string ObjectType (void) const
 Type. More...
 
const ObjectParent (void) const
 Parent. More...
 
std::vector< const Object * > * TypeChilds (void) const
 Childs of the same type. More...
 
std::vector< const Object * > * Childs (void) const
 Childs. More...
 
void Information (const char *function, int line, const char *format,...) const
 Formatted information. More...
 
void Warning (const char *function, const char *format,...) const
 Formatted warning. More...
 
void Error (const char *function, const char *format,...) const
 Formatted error. More...
 
bool ErrorOccured (bool recursive=true) const
 Has an errror occured? More...
 

Protected Attributes

core::Matrixoutput
 

Additional Inherited Members

- Public Types inherited from flair::core::Object
enum  color_t { Auto = 0, Red = 31, Green = 32, Orange = 33 }
 
- Protected Member Functions inherited from flair::core::IODevice
void ProcessUpdate (io_data *data)
 Process the childs of type IODevice, and log if needed. More...
 
void SetIsReady (bool status)
 set is ready More...
 

Detailed Description

Base class for brushless motors drivers.

Constructor & Destructor Documentation

flair::actuator::Bldc::Bldc ( const core::IODevice parent,
gui::Layout layout,
std::string  name,
uint8_t  motors_count 
)

Constructor.

Construct a Bldc.

Parameters
parentparent
layoutlayout
namename
motors_countnumber of motors
flair::actuator::Bldc::Bldc ( const core::Object parent,
std::string  name,
uint8_t  motors_count 
)

Constructor.

Construct a Bldc.
This contructor must only be called for a simulated device.

Parameters
parentparent
namename
motors_countnumber of motors
flair::actuator::Bldc::~Bldc ( )

Destructor.

Member Function Documentation

void flair::actuator::Bldc::LockUserInterface ( void  ) const

Lock user interface.

void flair::actuator::Bldc::UnlockUserInterface ( void  ) const

Unlock user interface.

void flair::actuator::Bldc::UseDefaultPlot ( gui::TabWidget tabwidget)

Use default plot.

Parameters
tabwidgetTabWidget to draw plots
core::Matrix* flair::actuator::Bldc::Output ( void  ) const

Output from motors.

First column is real speed if available, secund column is current if available

uint8_t flair::actuator::Bldc::MotorsCount ( void  ) const

Motors count.

Returns
number of motors
void flair::actuator::Bldc::SetEnabled ( bool  status)

Enable motors.

Parameters
trueto enable all motors
bool flair::actuator::Bldc::AreEnabled ( void  ) const

Are motors enabled?

Returns
true if motors are enabled
void flair::actuator::Bldc::SetPower ( int  motor_id,
float  value 
)

Set motor power.

Changes the power (from 0 to 1) of a specific motor.
By default power is set to 1 for each motor which has no effect.
A value <1 will decrease the power of a motor sent to the reimplemented Bldc class through SetMotors.
The power value is applied after applying saturation between min value and max value. So the resulting value cannot be higher than max value but it can be lower than min value.

Parameters
motor_idid of the motor
valuepower value (from 0 to 1)
gui::Layout* flair::actuator::Bldc::GetLayout ( void  ) const

Layout.

This the same Layout as passed to the constructor

Returns
a Layout
virtual bool flair::actuator::Bldc::HasSpeedMeasurement ( void  ) const
pure virtual

Has speed measurement.

Returns
true if it has speed measurement

Implemented in flair::actuator::BlCtrlV2, flair::actuator::AfroBldc, flair::actuator::SimuBldc, and flair::actuator::XBldc.

virtual bool flair::actuator::Bldc::HasCurrentMeasurement ( void  ) const
pure virtual

Has current measurement.

Returns
true if it has current measurement

Implemented in flair::actuator::BlCtrlV2, flair::actuator::AfroBldc, flair::actuator::SimuBldc, and flair::actuator::XBldc.