Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

LOW_compJalousieController Class Reference

#include <LOW_compJalousieController.h>

Inheritance diagram for LOW_compJalousieController:

Inheritance graph
[legend]
Collaboration diagram for LOW_compJalousieController:

Collaboration graph
[legend]
List of all members.

Public Methods

 class_DERIVE_FROM_EXCEPTION (compJalousieController_error, component_error)
 LOW_compJalousieController (const LOW_devDS2405 &inPowerControl, const LOW_devDS2405 &inDirectionControl, const float inClosingTime, const float inOpeningTime, const float inAngleClosingTime, const float inAngleOpeningTime)
 ~LOW_compJalousieController ()
void setPosition (float inPos, float inAngle)
float getClosingTime () const
void setClosingTime (const float inClosingTime)
float getOpeningTime () const
void setOpeningTime (const float inOpeningTime)
float getAngleClosingTime () const
void setAngleClosingTime (const float inAngleClosingTime)
float getAngleOpeningTime () const
void setAngleOpeningTime (const float inAngleOpeningTime)
void measureTransitionDelays ()
void getTransitionDelays (unsigned int &outStop2upDelay, unsigned int &outUp2stopDelay, unsigned int &outStop2downDelay, unsigned int &outDown2stopDelay, unsigned int &outUp2downDelay, unsigned int &outDown2upDelay)
void setTransitionDelays (const unsigned int inStop2upDelay, const unsigned int inUp2stopDelay, const unsigned int inStop2downDelay, const unsigned int inDown2stopDelay, const unsigned int inUp2downDelay, const unsigned int inDown2upDelay)

Protected Methods

void moveUp ()
void moveDown ()
void stopMove ()
void moveUpStop (const unsigned long inMillis)
void moveDownStop (const unsigned long inMillis)

Protected Attributes

const int jcSerialNum
const LOW_devDS2405powerControl
const LOW_devDS2405directionControl
float closingTime
float openingTime
float angleClosingTime
float angleOpeningTime
unsigned int stop2upDelay
unsigned int up2stopDelay
unsigned int stop2downDelay
unsigned int down2stopDelay
unsigned int up2downDelay
unsigned int down2upDelay
LOW_thread_mutex__linkRecMutex

Static Protected Attributes

const int fullMovementAdditionMillis = 500

Private Methods

void setPowerOn ()
void setPowerOff ()
void setDirectionDown ()
void setDirectionUp ()
unsigned int averageMillis (const std::vector< unsigned int > &inVals)

Private Attributes

bool powerIsOn
bool directionIsDown

Static Private Attributes

int jcCounter = 0

Friends

class manualMove
class jcLock

Detailed Description

Todo:
Documentation of class.

Calibration methods.

Locking during angle moves.

Method for angle move only

PROVIDE ASSIGNMENT CONSTRUCTOR

Author:
Harald Roelle

Definition at line 36 of file LOW_compJalousieController.h.


Constructor & Destructor Documentation

LOW_compJalousieController::LOW_compJalousieController const LOW_devDS2405   inPowerControl,
const LOW_devDS2405   inDirectionControl,
const float    inClosingTime,
const float    inOpeningTime,
const float    inAngleClosingTime,
const float    inAngleOpeningTime
 

Definition at line 44 of file LOW_compJalousieController.cpp.

References __linkRecMutex, LOW_devDS2405::cmd_Match(), LOW_devDS2405::cmd_SearchActive(), directionControl, directionIsDown, down2stopDelay, down2upDelay, LOW_netSegment::getHasExternalPower(), LOW_device::getID(), LOW_device::getNetSegment(), jcLock, LOW_thread_mutex::mutexKind_recursive, LOW_thread_Factory::new_mutex(), powerControl, powerIsOn, stop2downDelay, stop2upDelay, up2downDelay, and up2stopDelay.

LOW_compJalousieController::~LOW_compJalousieController  
 

Definition at line 98 of file LOW_compJalousieController.cpp.

References __linkRecMutex, jcLock, and stopMove().


Member Function Documentation

unsigned int LOW_compJalousieController::averageMillis const std::vector< unsigned int > &    inVals [private]
 

Definition at line 431 of file LOW_compJalousieController.cpp.

Referenced by measureTransitionDelays().

LOW_compJalousieController::class_DERIVE_FROM_EXCEPTION compJalousieController_error   ,
component_error   
 

float LOW_compJalousieController::getAngleClosingTime   const
 

Definition at line 199 of file LOW_compJalousieController.cpp.

References angleClosingTime.

float LOW_compJalousieController::getAngleOpeningTime   const
 

Definition at line 212 of file LOW_compJalousieController.cpp.

References angleOpeningTime.

float LOW_compJalousieController::getClosingTime   const
 

Definition at line 173 of file LOW_compJalousieController.cpp.

References closingTime.

float LOW_compJalousieController::getOpeningTime   const
 

Definition at line 186 of file LOW_compJalousieController.cpp.

References openingTime.

void LOW_compJalousieController::getTransitionDelays unsigned int &    outStop2upDelay,
unsigned int &    outUp2stopDelay,
unsigned int &    outStop2downDelay,
unsigned int &    outDown2stopDelay,
unsigned int &    outUp2downDelay,
unsigned int &    outDown2upDelay
 

Definition at line 284 of file LOW_compJalousieController.cpp.

References down2stopDelay, down2upDelay, stop2downDelay, stop2upDelay, up2downDelay, and up2stopDelay.

void LOW_compJalousieController::measureTransitionDelays  
 

Definition at line 225 of file LOW_compJalousieController.cpp.

References averageMillis(), LOW_platformMisc::diffTimestamp(), down2stopDelay, down2upDelay, LOW_platformMisc::getTimestamp(), jcLock, LOW_platformMisc::timestamp_t::milSec, moveDown(), moveUp(), stop2downDelay, stop2upDelay, stopMove(), up2downDelay, and up2stopDelay.

void LOW_compJalousieController::moveDown   [protected]
 

Definition at line 327 of file LOW_compJalousieController.cpp.

References setDirectionDown(), and setPowerOn().

Referenced by measureTransitionDelays(), LOW_compJalousieController::manualMove::moveDown(), and moveDownStop().

void LOW_compJalousieController::moveDownStop const unsigned long    inMillis [protected]
 

Definition at line 361 of file LOW_compJalousieController.cpp.

References down2stopDelay, LOW_platformMisc::milliSleep(), moveDown(), and stopMove().

Referenced by setPosition().

void LOW_compJalousieController::moveUp   [protected]
 

Definition at line 318 of file LOW_compJalousieController.cpp.

References setDirectionUp(), and setPowerOn().

Referenced by measureTransitionDelays(), LOW_compJalousieController::manualMove::moveUp(), and moveUpStop().

void LOW_compJalousieController::moveUpStop const unsigned long    inMillis [protected]
 

Definition at line 345 of file LOW_compJalousieController.cpp.

References LOW_platformMisc::milliSleep(), moveUp(), stopMove(), and up2stopDelay.

Referenced by setPosition().

void LOW_compJalousieController::setAngleClosingTime const float    inAngleClosingTime
 

Definition at line 205 of file LOW_compJalousieController.cpp.

References angleClosingTime, and jcLock.

void LOW_compJalousieController::setAngleOpeningTime const float    inAngleOpeningTime
 

Definition at line 218 of file LOW_compJalousieController.cpp.

References angleOpeningTime, and jcLock.

void LOW_compJalousieController::setClosingTime const float    inClosingTime
 

Definition at line 179 of file LOW_compJalousieController.cpp.

References closingTime, and jcLock.

void LOW_compJalousieController::setDirectionDown   [private]
 

Definition at line 407 of file LOW_compJalousieController.cpp.

References LOW_devDS2405::cmd_MatchRead(), directionControl, and directionIsDown.

Referenced by moveDown().

void LOW_compJalousieController::setDirectionUp   [private]
 

Definition at line 419 of file LOW_compJalousieController.cpp.

References LOW_devDS2405::cmd_MatchRead(), directionControl, and directionIsDown.

Referenced by moveUp(), and stopMove().

void LOW_compJalousieController::setOpeningTime const float    inOpeningTime
 

Definition at line 192 of file LOW_compJalousieController.cpp.

References jcLock, and openingTime.

void LOW_compJalousieController::setPosition float    inPos,
float    inAngle
 

Definition at line 119 of file LOW_compJalousieController.cpp.

References angleClosingTime, angleOpeningTime, closingTime, fullMovementAdditionMillis, jcLock, moveDownStop(), moveUpStop(), and openingTime.

void LOW_compJalousieController::setPowerOff   [private]
 

Definition at line 395 of file LOW_compJalousieController.cpp.

References LOW_devDS2405::cmd_MatchRead(), powerControl, and powerIsOn.

Referenced by stopMove().

void LOW_compJalousieController::setPowerOn   [private]
 

Definition at line 383 of file LOW_compJalousieController.cpp.

References LOW_devDS2405::cmd_MatchRead(), powerControl, and powerIsOn.

Referenced by moveDown(), and moveUp().

void LOW_compJalousieController::setTransitionDelays const unsigned int    inStop2upDelay,
const unsigned int    inUp2stopDelay,
const unsigned int    inStop2downDelay,
const unsigned int    inDown2stopDelay,
const unsigned int    inUp2downDelay,
const unsigned int    inDown2upDelay
 

Definition at line 297 of file LOW_compJalousieController.cpp.

References down2stopDelay, down2upDelay, jcLock, stop2downDelay, stop2upDelay, up2downDelay, and up2stopDelay.

void LOW_compJalousieController::stopMove   [protected]
 

Definition at line 336 of file LOW_compJalousieController.cpp.

References setDirectionUp(), and setPowerOff().

Referenced by measureTransitionDelays(), moveDownStop(), moveUpStop(), LOW_compJalousieController::manualMove::stopMove(), and ~LOW_compJalousieController().


Friends And Related Function Documentation

friend class jcLock [friend]
 

Definition at line 163 of file LOW_compJalousieController.h.

Referenced by LOW_compJalousieController(), measureTransitionDelays(), setAngleClosingTime(), setAngleOpeningTime(), setClosingTime(), setOpeningTime(), setPosition(), setTransitionDelays(), and ~LOW_compJalousieController().

friend class manualMove [friend]
 

Definition at line 162 of file LOW_compJalousieController.h.


Member Data Documentation

LOW_thread_mutex* LOW_compJalousieController::__linkRecMutex [protected]
 

Definition at line 194 of file LOW_compJalousieController.h.

Referenced by LOW_compJalousieController::jcLock::jcLock(), LOW_compJalousieController(), LOW_compJalousieController::jcLock::~jcLock(), and ~LOW_compJalousieController().

float LOW_compJalousieController::angleClosingTime [protected]
 

Definition at line 186 of file LOW_compJalousieController.h.

Referenced by getAngleClosingTime(), setAngleClosingTime(), and setPosition().

float LOW_compJalousieController::angleOpeningTime [protected]
 

Definition at line 187 of file LOW_compJalousieController.h.

Referenced by getAngleOpeningTime(), setAngleOpeningTime(), and setPosition().

float LOW_compJalousieController::closingTime [protected]
 

Definition at line 184 of file LOW_compJalousieController.h.

Referenced by getClosingTime(), setClosingTime(), and setPosition().

const LOW_devDS2405& LOW_compJalousieController::directionControl [protected]
 

Definition at line 183 of file LOW_compJalousieController.h.

Referenced by LOW_compJalousieController(), setDirectionDown(), and setDirectionUp().

bool LOW_compJalousieController::directionIsDown [private]
 

Definition at line 233 of file LOW_compJalousieController.h.

Referenced by LOW_compJalousieController(), setDirectionDown(), and setDirectionUp().

unsigned int LOW_compJalousieController::down2stopDelay [protected]
 

Definition at line 191 of file LOW_compJalousieController.h.

Referenced by getTransitionDelays(), LOW_compJalousieController(), measureTransitionDelays(), moveDownStop(), and setTransitionDelays().

unsigned int LOW_compJalousieController::down2upDelay [protected]
 

Definition at line 193 of file LOW_compJalousieController.h.

Referenced by getTransitionDelays(), LOW_compJalousieController(), measureTransitionDelays(), and setTransitionDelays().

const int LOW_compJalousieController::fullMovementAdditionMillis = 500 [static, protected]
 

Definition at line 172 of file LOW_compJalousieController.h.

Referenced by setPosition().

int LOW_compJalousieController::jcCounter = 0 [static, private]
 

Definition at line 35 of file LOW_compJalousieController.cpp.

const int LOW_compJalousieController::jcSerialNum [protected]
 

Definition at line 181 of file LOW_compJalousieController.h.

float LOW_compJalousieController::openingTime [protected]
 

Definition at line 185 of file LOW_compJalousieController.h.

Referenced by getOpeningTime(), setOpeningTime(), and setPosition().

const LOW_devDS2405& LOW_compJalousieController::powerControl [protected]
 

Definition at line 182 of file LOW_compJalousieController.h.

Referenced by LOW_compJalousieController(), setPowerOff(), and setPowerOn().

bool LOW_compJalousieController::powerIsOn [private]
 

Definition at line 232 of file LOW_compJalousieController.h.

Referenced by LOW_compJalousieController(), setPowerOff(), and setPowerOn().

unsigned int LOW_compJalousieController::stop2downDelay [protected]
 

Definition at line 190 of file LOW_compJalousieController.h.

Referenced by getTransitionDelays(), LOW_compJalousieController(), measureTransitionDelays(), and setTransitionDelays().

unsigned int LOW_compJalousieController::stop2upDelay [protected]
 

Definition at line 188 of file LOW_compJalousieController.h.

Referenced by getTransitionDelays(), LOW_compJalousieController(), measureTransitionDelays(), and setTransitionDelays().

unsigned int LOW_compJalousieController::up2downDelay [protected]
 

Definition at line 192 of file LOW_compJalousieController.h.

Referenced by getTransitionDelays(), LOW_compJalousieController(), measureTransitionDelays(), and setTransitionDelays().

unsigned int LOW_compJalousieController::up2stopDelay [protected]
 

Definition at line 189 of file LOW_compJalousieController.h.

Referenced by getTransitionDelays(), LOW_compJalousieController(), measureTransitionDelays(), moveUpStop(), and setTransitionDelays().


The documentation for this class was generated from the following files:
Generated on Mon Oct 27 22:56:26 2003 by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001