Laelaps  2.3.5
RoadNarrows Robotics Small Outdoor Mobile Robot Project
laelaps::LaeAuxBattOutEnable Class Reference

Laelaps top deck auxilliary battery power out enable class. More...

#include <laeGpio.h>

Inheritance diagram for laelaps::LaeAuxBattOutEnable:
laelaps::LaeGpio

Public Member Functions

 LaeAuxBattOutEnable ()
 Default constructor.
 
virtual ~LaeAuxBattOutEnable ()
 Destructor.
 
virtual void sync ()
 Synchronized this with GPIO hardware state.
 
bool enable ()
 Enable battery power to top deck. More...
 
bool disable ()
 Disable battery power to top deck. More...
 
bool isEnabled ()
 Test if battery power to top deck is enabled. More...
 
- Public Member Functions inherited from laelaps::LaeGpio
 LaeGpio (const std::string &strTag, const int gpio, const LaeGpio::Direction dir)
 Default intialization constructor. More...
 
virtual ~LaeGpio ()
 Destructor.
 
virtual int writeValue (const LaeGpio::TriState value)
 Write value to gpio. More...
 
virtual int writeValue (const int value)
 Write value to gpio. More...
 
virtual int readValue (int &value)
 Read current value of gpio. More...
 
int hasValue () const
 Get the current shadowed gpio value. More...
 
bool isConfigured () const
 Is the exported GPIO number configured to match this ojbect? More...
 

Additional Inherited Members

- Public Types inherited from laelaps::LaeGpio
enum  TriState {
  UNKNOWN = -1,
  LOW = 0,
  HIGH = 1
}
 GPIO tri-state value. More...
 
enum  Direction {
  INPUT = GPIO_DIR_IN,
  OUTPUT = GPIO_DIR_OUT
}
 GPIO direction. More...
 
- Protected Member Functions inherited from laelaps::LaeGpio
bool checkConfig ()
 Check if the exported GPIO exists in /sys/class and that it has been configured to match this objects configuration. More...
 
- Protected Attributes inherited from laelaps::LaeGpio
std::string m_gpioTag
 identifying tag
 
int m_gpioNum
 exported GPIO number
 
LaeGpio::Direction m_gpioDir
 GPIO direction.
 
int m_gpioVal
 shadowed value
 
bool m_gpioCfg
 GPIO is [not] configured (correctly)
 

Detailed Description

Laelaps top deck auxilliary battery power out enable class.

Definition at line 347 of file laeGpio.h.

Member Function Documentation

bool LaeAuxBattOutEnable::disable ( )

Disable battery power to top deck.

Returns
Returns true if power is enabled, false otherwise.

Definition at line 377 of file laeGpio.cxx.

References laelaps::LaeGpio::isConfigured(), laelaps::LaeGpio::m_gpioNum, laelaps::LaeGpio::m_gpioTag, laelaps::LaeGpio::m_gpioVal, laelaps::LaeGpio::sync(), laelaps::LaeGpio::UNKNOWN, and laelaps::LaeGpio::writeValue().

378 {
379  bool bEnabled;
380 
381  // lazy one-time synchronization
382  if( m_gpioVal == LaeGpio::UNKNOWN )
383  {
384  sync();
385  }
386 
387  // versions 2.1+ have battery power enable to top deck
388  if( isConfigured() )
389  {
390  writeValue(0);
391  }
392 
393  bEnabled = isEnabled();
394 
395  if( !bEnabled )
396  {
397  LOGDIAG2("%s (GPIO %d) disabled.", m_gpioTag.c_str(), m_gpioNum);
398  }
399 
400  return bEnabled;
401 }
virtual void sync()
Synchronized this with GPIO hardware state.
Definition: laeGpio.cxx:340
bool isEnabled()
Test if battery power to top deck is enabled.
Definition: laeGpio.cxx:403
int m_gpioNum
exported GPIO number
Definition: laeGpio.h:178
bool isConfigured() const
Is the exported GPIO number configured to match this ojbect?
Definition: laeGpio.h:171
unknown state value
Definition: laeGpio.h:83
virtual int writeValue(const LaeGpio::TriState value)
Write value to gpio.
Definition: laeGpio.h:129
int m_gpioVal
shadowed value
Definition: laeGpio.h:180
std::string m_gpioTag
identifying tag
Definition: laeGpio.h:177
bool LaeAuxBattOutEnable::enable ( )

Enable battery power to top deck.

Returns
Returns true if power is enabled, false otherwise.

Definition at line 351 of file laeGpio.cxx.

References laelaps::LaeGpio::isConfigured(), laelaps::LaeGpio::m_gpioNum, laelaps::LaeGpio::m_gpioTag, laelaps::LaeGpio::m_gpioVal, laelaps::LaeGpio::sync(), laelaps::LaeGpio::UNKNOWN, and laelaps::LaeGpio::writeValue().

352 {
353  bool bEnabled;
354 
355  // lazy one-time synchronization
356  if( m_gpioVal == LaeGpio::UNKNOWN )
357  {
358  sync();
359  }
360 
361  // versions 2.1+ have battery power enable to top deck
362  if( isConfigured() )
363  {
364  writeValue(1);
365  }
366 
367  bEnabled = isEnabled();
368 
369  if( bEnabled )
370  {
371  LOGDIAG2("%s (GPIO %d) enabled.", m_gpioTag.c_str(), m_gpioNum);
372  }
373 
374  return bEnabled;
375 }
virtual void sync()
Synchronized this with GPIO hardware state.
Definition: laeGpio.cxx:340
bool isEnabled()
Test if battery power to top deck is enabled.
Definition: laeGpio.cxx:403
int m_gpioNum
exported GPIO number
Definition: laeGpio.h:178
bool isConfigured() const
Is the exported GPIO number configured to match this ojbect?
Definition: laeGpio.h:171
unknown state value
Definition: laeGpio.h:83
virtual int writeValue(const LaeGpio::TriState value)
Write value to gpio.
Definition: laeGpio.h:129
int m_gpioVal
shadowed value
Definition: laeGpio.h:180
std::string m_gpioTag
identifying tag
Definition: laeGpio.h:177
bool LaeAuxBattOutEnable::isEnabled ( )

Test if battery power to top deck is enabled.

Returns
Returns true if power is enabled, false otherwise.

Definition at line 403 of file laeGpio.cxx.

References laelaps::LaeGpio::hasValue(), laelaps::LaeGpio::HIGH, laelaps::LaeGpio::m_gpioVal, laelaps::LaeGpio::sync(), and laelaps::LaeGpio::UNKNOWN.

404 {
405  // lazy one-time synchronization
406  if( m_gpioVal == LaeGpio::UNKNOWN )
407  {
408  sync();
409  }
410 
411  return hasValue() == LaeGpio::HIGH;
412 }
virtual void sync()
Synchronized this with GPIO hardware state.
Definition: laeGpio.cxx:340
int hasValue() const
Get the current shadowed gpio value.
Definition: laeGpio.h:157
unknown state value
Definition: laeGpio.h:83
high value
Definition: laeGpio.h:85
int m_gpioVal
shadowed value
Definition: laeGpio.h:180

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