AURobotServers  4
Public Member Functions | Private Member Functions | Private Attributes | List of all members
UFuncPTgrey Class Reference

#include <ufuncPTgrey.h>

Inheritance diagram for UFuncPTgrey:
Inheritance graph

Public Member Functions

virtual void callGotNewDataWithObject ()
 
virtual void createResources ()
 
virtual bool handleCommand (UServerInMsg *msg, void *extra)
 
int Receiver ()
 
void runSetting ()
 
 UFuncPTgrey ()
 
 ~UFuncPTgrey ()
 
- Public Member Functions inherited from UFuncPlugBasePush
virtual bool setResource (UResBase *resource, bool remove)
 
 UFuncPlugBasePush ()
 
virtual ~UFuncPlugBasePush ()
 
- Public Member Functions inherited from UFunctionBase
bool addResource (UResBase *resource, UFunctionBase *owner)
 
void closeLogfile ()
 
virtual const char * commandList ()
 
const char * getAliasName ()
 
const char * getLoadedFileName ()
 
void * getLoadedModuleRef ()
 
virtual bool gotAllResources (char *missingThese, int missingTheseCnt)
 
bool isMine (const char *cmdName)
 
bool isStatic ()
 is the module loaded as static A module is static if the ldFilename has a length of zero. More...
 
virtual const char * name ()
 
bool newCmd (UServerInMsg *newMsg, UDataBase *extra)
 
bool newCommand (UServerInMsg *newMsg, void *extra)
 
bool openLogfile (const char *name)
 
void print (const char *preString)
 
virtual void resourceUpdated ()
 
bool sendEndTag (UServerInMsg *msg)
 
bool sendEndTag ()
 
bool sendFullTag (const char *attributes)
 
bool sendHelpDone (UServerInMsg *msg)
 
bool sendHelpDone ()
 
bool sendHelpStart (UServerInMsg *msg, const char *subject)
 
bool sendHelpStart (const char *subject)
 
bool sendHelpStart ()
 
bool sendMsg (UServerInMsg *msg, const char *message, int size)
 
bool sendMsg (const char *message)
 
bool sendMsg (UServerInMsg *msg, const char *message)
 
bool sendMsg (int clientIdx, const char *message, int size)
 
bool sendMsgInt (int clientIdx, const char *message)
 
bool sendStartTag (const char *attributes)
 
bool sendText (UServerInMsg *msg, const char *text)
 
bool sendText (const char *text)
 
virtual void setAliasName (const char *name)
 
virtual void setCommand (const char *cmdList, const char *name, const char *note)
 
void setLoadedModuleRef (void *module, const char *moduleFileName)
 
virtual void setLoadTime (UTime)
 
void setName (const char *name)
 
void setVerbose (bool value)
 
 UFunctionBase ()
 
virtual ~UFunctionBase ()
 
- Public Member Functions inherited from UCallBack
bool addOnEvent (UOnEvent *dataObject)
 
virtual bool onEvent (const char *interface, const char *dataType, void *data)
 
 UCallBack ()
 
virtual ~UCallBack ()
 
- Public Member Functions inherited from UResVarPool
int addMethod (const char *formalName, const char *paramTypes, const char *comment)
 
int addMethodV (const char *formalName, const char *paramTypes, const char *comment)
 
UVarPooladdStruct (const char *name, const char *comment, bool copy=false)
 
UVariableaddVar (const char *name, const double initialValue, const char *type, const char *comment)
 
UVariableaddVar (const char *name, const char *initialValue, const char *type, const char *comment)
 
UVariableaddVarA (const char *name, const char *initialValue, const char *type, const char *comment)
 
bool callGlobal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt)
 
bool callGlobalV (const char *name, const char *paramOrder, UVariable **params, UDataBase **returnStruct, int *returnStructCnt)
 Call a method from the root var pool scope It may be in the structure direct (no '.') or in any sub-structure that the 'name.subname' indicate. More...
 
bool callLocal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt)
 
bool callVS (const char *function, const char *stringParam)
 
int callVSCD (const char *function, const char *strPar, UDataBase *data, int cooSys)
 
void createBaseVar ()
 
virtual bool createVarSpace (const int varCnt, const int structCnt, const int methCnt, const char *note, bool copy=false)
 
bool getGlobalString (const char *name, const char **value)
 
bool getGlobalValue (const char *name, double *value)
 
bool getGlobalValue (const char *name, const char **value)
 
bool getGlobalValue (const char *name, bool *value)
 
bool getGlobalValue (const char *name, UTime *value)
 
bool getLocalValue (const char *name, double *value)
 get a value in this variable tree More...
 
bool getLocalValue (const char *name, bool *value)
 
bool getLocalValue (const char *name, UTime *value)
 
double getLocalValue (int idx)
 
UPosition getLocalValue3D (int idx)
 
UPosRot getLocalValue6D (int idx)
 
bool getLocalValueBool (int idx)
 
int getLocalValueInt (int idx)
 
UTime getLocalValueTime (int idx)
 
const char * getLogFileName ()
 
const char * getVarDescription (int idx)
 
UVarCalcgetVarPool ()
 
bool isLogFileOpen ()
 
bool isLogFileOpen (const char *structName)
 
bool isVarPoolUpdated (int lastCnt, int *newCnt)
 
void logFileClose ()
 
bool logFileOpen ()
 
void logFileStart (const char *structName, bool open)
 
virtual bool methodCall (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct=NULL, int *returnStructCnt=NULL)
 
virtual const char * print (const char *preString, char *buff, int buffCnt)
 
bool setGlobalVar (const char *name, const double value, bool mayAdd)
 Assigns a value to a variable. The variable may be a part of a structure. More...
 
bool setLocalVar (int idx, double value, const int element)
 
bool setLocalVar (const char *name, const double value, bool mayAdd)
 Assigns a value to a variable. The variable may be a part of a structure. More...
 
bool setLocalVar3D (int idx, UPosition *value)
 
bool setLocalVar6D (int idx, UPosRot *value)
 
bool setLocalVarAdd (int idx, double value, const int element)
 
bool setLocalVarPose (int idx, UPose *value)
 
void setVarPool (UVarCalc *sharedVarPool)
 
int updateQTvars (int structIdx)
 
 UResVarPool ()
 
virtual ~UResVarPool ()
 
- Public Member Functions inherited from UResBase
void createReplayVar (UVarPool *pool)
 
UCmdExegetCorePointer ()
 
char * getLogFileName (char *fn, const int fnCnt)
 
int getResFuncIdx ()
 
const char * getResID ()
 
int getResVersion ()
 
bool isA (const char *idStr)
 
bool isAlsoA (const char *id)
 
virtual void saveSettings ()
 
void setCorePointer (UCmdExe *serverCore)
 
void setResFuncIdx (int idx)
 
virtual void setResID (const char *id, const int version)
 
virtual void updateReplayStatus ()
 
 UResBase ()
 
virtual ~UResBase ()
 
- Public Member Functions inherited from UReplay
void addChild (UReplay *child)
 
virtual bool decodeReplayLine (char *)
 
char * getLogFileName (char *fn, const int fnCnt)
 
char * getReplayFileName (char *fn, const int fnCnt)
 
int getReplayLogLine ()
 
bool isReplay ()
 
bool isReplayFileOpen ()
 
void removeChild (UReplay *child)
 
virtual void replayAdvanceTime (UTime untilTime)
 
void replaySetBaseFileName (const char *name, const char *preName="")
 
void replaySetFileName (const char *name)
 
virtual bool replayStep ()
 
int replayStep (int steps)
 
virtual bool replayToTime (UTime untilTime)
 
void setParent (UReplay *parent)
 
bool setReplay (bool value)
 
 UReplay ()
 
virtual ~UReplay ()
 
- Public Member Functions inherited from ULock
bool lock ()
 
void lockInit ()
 
void post ()
 
bool tryLock ()
 
bool tryWait ()
 
 ULock ()
 
void unlock ()
 
bool wait ()
 
 ~ULock ()
 
- Public Member Functions inherited from UVarMethodImplement
virtual bool methodCallV (const char *name, const char *paramOrder, UVariable *params[], UDataBase **returnStruct, int *returnStructCnt)
 
virtual ~UVarMethodImplement ()
 
- Public Member Functions inherited from UServerPush
int addPushCommand (UServerInMsg *msg)
 
bool doPushCall (UServerPushElement *pe, const char *value)
 
void flushClientCmds (int clientIdx)
 
UServerPushImplementgetImplementor ()
 
int getPushCmdCnt (int *cmdCnt, int *callCnt)
 
UServerPushQueuegetPushQueue ()
 
bool gotCmdExe ()
 
void gotNewData (void *pData)
 
bool isUpdated (int lastCnt, int *newCnt)
 
bool needNewData ()
 
void print (const char *preString)
 
void print (const char *preString, char *buff, int buffCnt)
 
void servicePendingPushCmds ()
 
void setCmdExe (UServerPushImplement *executor)
 
void setImplementor (UServerPushImplement *executor)
 
bool setResource (UResBase *resource, bool remove)
 
bool setUpdated (const char *value)
 Add watch object if needed. An image or other object is updated. set object as updated, with an extra qualifier, that may be used as a parameter in a push call. this push list is then added to the to the push list examined by the server thread. when server thread reach this push list it will call to get a possible associated data structure by a call to needNewData() whish is expected to call gotNewData(void * data_structure) - but now in the server thread. More...
 
 UServerPush ()
 
virtual ~UServerPush ()
 

Private Member Functions

bool getAllSetting (void)
 
char * GetNextValue (char *reply)
 
bool handlePTgrey (UServerInMsg *msg)
 
void init ()
 
bool logImageToFile (UImage *imgToLog)
 
void PrintBuildInfo ()
 
void PrintCameraInfo (FlyCapture2::CameraInfo *pCamInfo)
 
void PrintError (FlyCapture2::Error error)
 
void PrintFormat7Capabilities (FlyCapture2::Format7Info fmt7Info)
 
bool processSetting (void)
 
bool start ()
 start read thread More...
 
void stop (bool andWait)
 

Private Attributes

FlyCapture2::BusManager busMgr
 
FlyCapture2::Camera cam
 
FlyCapture2::CameraInfo camInfo
 
bool camInfoAvailable
 
UTime CurrentImageTime
 
UClientPort DataPort
 
FlyCapture2::Error error
 
FlyCapture2::Format7ImageSettings format7ImageSettings
 
FlyCapture2::Format7Info format7info
 
FlyCapture2::Format7PacketInfo format7PacketInfo
 
int ImageLog
 
FlyCapture2::PixelFormat k_fmt7PixFmt
 
UImageLog logImage
 
unsigned int numCameras
 
UClientPort SettingPort
 
char strIF [128]
 
char strResMax [128]
 
pthread_t threadHandlePTgreyCfg
 
pthread_t threadHandlePTgreyData
 
bool threadRunningCfg
 thread runnung flag More...
 
bool threadRunningData
 
bool threadStopCfg
 stop thread flag More...
 
bool threadStopData
 
bool triggerExt
 
FlyCapture2::TriggerMode triggerMode
 
UVariablevarActualFramerate
 
UVariablevarCamDeviceNum
 
UVariablevarCamDevN
 
UVariablevarCamInterface
 
UVariablevarDesiredFramerate
 
UVariablevarErrorCnt
 
UVariablevarImageLogN
 
UVariablevarImgRes
 
UVariablevarIsOpen
 
UVariablevarSavePNG
 
UVariablevarTriggerExt
 
UVariablevarUpdateCnt
 

Additional Inherited Members

- Static Public Member Functions inherited from UResVarPool
static const char * getResClassID ()
 
- Public Attributes inherited from UFunctionBase
bool silent
 is reply to client and console to be limited More...
 
- Public Attributes inherited from UReplay
bool replayTimeAdvancePending
 
UTime replayTimeNow
 
- Static Public Attributes inherited from UFunctionBase
static const int MAX_ID_LENGTH = 30
 
static const int MAX_RESOURCE_LIST_SIZE = 250
 
- Protected Member Functions inherited from UFuncPlugBasePush
bool handlePush (UServerInMsg *msg)
 
- Protected Member Functions inherited from UFunctionBase
int getCmdIndex ()
 
UResBasegetStaticResource (const char *resName, bool mayCreate, bool staticOnly=true)
 get a pointer to a static resource. More...
 
bool isClientAlive (int clientIdx, double holdOffTime)
 
bool sendDebug (UServerInMsg *msg, const char *debugText)
 
bool sendDebug (const char *debugText)
 
bool sendError (UServerInMsg *msg, const char *errorText)
 
bool sendError (const char *errorText)
 
bool sendHelp (UServerInMsg *msg, const char *infoText)
 
bool sendHelp (const char *infoText)
 
bool sendInfo (UServerInMsg *msg, const char *infoText)
 
bool sendInfo (const char *infoText)
 
bool sendWarning (UServerInMsg *msg, const char *warningText)
 
bool sendWarning (const char *warningText)
 
UResBasesetThisResource (const char *ID, UResBase *resource, bool remove, bool *changed, UResBase *currentResPtr, bool *isLocal)
 
- Protected Member Functions inherited from UResVarPool
void setDescription (const char *note, bool copy=false)
 
- Protected Member Functions inherited from UResBase
UResBasegetStaticResource (const char *resName, bool mayCreate, bool staticOnly=true)
 get a pointer to a static resource. More...
 
- Protected Attributes inherited from UFunctionBase
char aliasName [MAX_ID_LENGTH]
 
UCmdExecmdHandler
 
char * cmdToks [20]
 
int cmdToksCnt
 
char commandsHandled [MAX_RESOURCE_LIST_SIZE]
 
UServerInMsgmsg
 
char pluginName [MAX_RESOURCE_LIST_SIZE]
 
bool verboseMessages
 
- Protected Attributes inherited from UResBase
int resFuncIdx
 
char resID [MAX_RESOURCE_ID_LENGTH]
 
char resIsAlso [MAX_RESOURCE_ISALSO_LENGTH]
 
int resVersion
 
- Protected Attributes inherited from UReplay
bool replay
 
FILE * replayFile
 
char replayFileName [REPLAY_FILE_NAME_LENGTH]
 replay filename More...
 
char replayLine [MAX_LOG_LINE_LENGTH]
 
int replayLogLine
 
UReplayreplayParent
 
UTime replayTimeNext
 
- Static Protected Attributes inherited from UReplay
static const int MAX_LOG_LINE_LENGTH = 10000
 
static const int REPLAY_FILE_NAME_LENGTH = 264
 max length of replay filename More...
 

Detailed Description

This is a simple example plugin, that manipulates global variables, both of its own, and those of other modules.

Author
Christian Andersen

Constructor & Destructor Documentation

UFuncPTgrey::UFuncPTgrey ( )
inline
UFuncPTgrey::~UFuncPTgrey ( )

Destructor

References stop().

Referenced by UFuncPTgrey().

Member Function Documentation

void UFuncPTgrey::callGotNewDataWithObject ( )
virtual

Called from push implementor to get the push object. should call to 'gotNewData(object)' with the available event object. if no object is available (anymore), then call with a NULL pointer.

Reimplemented from UServerPush.

References UServerPush::gotNewData().

Referenced by UFuncPTgrey().

void UFuncPTgrey::createResources ( )
virtual

Called by server after this module is integrated into the server core structure, i.e. all core services are in place, but no commands are serviced for this module yet. Create any resources that this modules needs.

Reimplemented from UFunctionBase.

References UResVarPool::addVar(), UResVarPool::addVarA(), camInfoAvailable, format7info, UFunctionBase::getAliasName(), logImage, ULogFile::setLogName(), strIF, strResMax, varActualFramerate, varCamDeviceNum, varCamDevN, varCamInterface, varDesiredFramerate, varErrorCnt, varImageLogN, varImgRes, varIsOpen, varSavePNG, varTriggerExt, and varUpdateCnt.

Referenced by UFuncPTgrey().

bool UFuncPTgrey::getAllSetting ( void  )
private

reads all the settings from the camera

Referenced by UFuncPTgrey().

char* UFuncPTgrey::GetNextValue ( char *  reply)
private

call XML-RPC command and related functions

Referenced by UFuncPTgrey().

bool UFuncPTgrey::handleCommand ( UServerInMsg msg,
void *  extra 
)
virtual

Handle incomming commands flagged for this module

Parameters
msgpointer to the message and the client issuing the command
Returns
true if the function is handled - otherwise the client will get a 'failed' reply

Reimplemented from UFunctionBase.

References UFunctionBase::getCmdIndex(), handlePTgrey(), and UFunctionBase::sendDebug().

Referenced by UFuncPTgrey().

bool UFuncPTgrey::handlePTgrey ( UServerInMsg msg)
private
void UFuncPTgrey::init ( )
private

Initialize other variables

References threadRunningCfg, threadRunningData, threadStopCfg, and threadStopData.

Referenced by UFuncPTgrey().

bool UFuncPTgrey::logImageToFile ( UImage imgToLog)
private

Save image to imagelog and save the image itself in the imagePath. if camera device do not exist, then a default device is created..

Parameters
imgToLogis the image to be logged.

References cam, UImage::camDevice, UFunctionBase::getAliasName(), UCamPool::getCam(), UVariable::getInt(), UFunctionBase::getStaticResource(), ULock::lock(), UImageLog::logImage(), logImage, UCamPool::makeDevice(), ULock::unlock(), and varImageLogN.

Referenced by Receiver(), and UFuncPTgrey().

void UFuncPTgrey::PrintBuildInfo ( )
private

Threads Point grey functions

Referenced by UFuncPTgrey().

void UFuncPTgrey::PrintCameraInfo ( FlyCapture2::CameraInfo *  pCamInfo)
private
void UFuncPTgrey::PrintError ( FlyCapture2::Error  error)
private
void UFuncPTgrey::PrintFormat7Capabilities ( FlyCapture2::Format7Info  fmt7Info)
private

Referenced by UFuncPTgrey().

bool UFuncPTgrey::processSetting ( void  )
private

check if setting is up to data, if not, update it

Referenced by UFuncPTgrey().

int UFuncPTgrey::Receiver ( )
void UFuncPTgrey::runSetting ( )
bool UFuncPTgrey::start ( )
private
void UFuncPTgrey::stop ( bool  andWait)
privatevirtual

stop read thread

Parameters
andWaitwaits until thread is terminated, when false, then the call returns when the stop flag is set (i.e. immidiately).

Reimplemented from UResBase.

References UFunctionBase::getAliasName(), threadHandlePTgreyCfg, threadHandlePTgreyData, threadRunningCfg, threadRunningData, threadStopCfg, and threadStopData.

Referenced by handlePTgrey(), runSetting(), UFuncPTgrey(), and ~UFuncPTgrey().

Member Data Documentation

FlyCapture2::BusManager UFuncPTgrey::busMgr
private

Referenced by handlePTgrey().

FlyCapture2::Camera UFuncPTgrey::cam
private
FlyCapture2::CameraInfo UFuncPTgrey::camInfo
private

Referenced by handlePTgrey().

bool UFuncPTgrey::camInfoAvailable
private

Referenced by createResources(), and handlePTgrey().

UTime UFuncPTgrey::CurrentImageTime
private

Referenced by Receiver().

UClientPort UFuncPTgrey::DataPort
private
FlyCapture2::Error UFuncPTgrey::error
private
FlyCapture2::Format7ImageSettings UFuncPTgrey::format7ImageSettings
private

Referenced by handlePTgrey(), and runSetting().

FlyCapture2::Format7Info UFuncPTgrey::format7info
private
FlyCapture2::Format7PacketInfo UFuncPTgrey::format7PacketInfo
private

Referenced by handlePTgrey(), and runSetting().

int UFuncPTgrey::ImageLog
private

Referenced by Receiver(), runSetting(), and start().

FlyCapture2::PixelFormat UFuncPTgrey::k_fmt7PixFmt
private

Referenced by handlePTgrey().

UImageLog UFuncPTgrey::logImage
private
unsigned int UFuncPTgrey::numCameras
private

Referenced by handlePTgrey().

UClientPort UFuncPTgrey::SettingPort
private
char UFuncPTgrey::strIF[128]
private

Referenced by createResources().

char UFuncPTgrey::strResMax[128]
private

Referenced by createResources(), and runSetting().

pthread_t UFuncPTgrey::threadHandlePTgreyCfg
private

Thread handle for frame read thread.

Referenced by start(), and stop().

pthread_t UFuncPTgrey::threadHandlePTgreyData
private

Referenced by start(), and stop().

bool UFuncPTgrey::threadRunningCfg
private

thread runnung flag

Referenced by init(), runSetting(), start(), and stop().

bool UFuncPTgrey::threadRunningData
private
bool UFuncPTgrey::threadStopCfg
private

stop thread flag

Referenced by init(), runSetting(), start(), and stop().

bool UFuncPTgrey::threadStopData
private

Referenced by handlePTgrey(), init(), Receiver(), start(), and stop().

bool UFuncPTgrey::triggerExt
private
FlyCapture2::TriggerMode UFuncPTgrey::triggerMode
private

Referenced by runSetting().

UVariable* UFuncPTgrey::varActualFramerate
private
UVariable* UFuncPTgrey::varCamDeviceNum
private
UVariable* UFuncPTgrey::varCamDevN
private

Referenced by createResources(), and handlePTgrey().

UVariable* UFuncPTgrey::varCamInterface
private

Referenced by createResources(), and handlePTgrey().

UVariable* UFuncPTgrey::varDesiredFramerate
private

Referenced by createResources().

UVariable* UFuncPTgrey::varErrorCnt
private

Referenced by createResources(), and Receiver().

UVariable* UFuncPTgrey::varImageLogN
private
UVariable* UFuncPTgrey::varImgRes
private
UVariable* UFuncPTgrey::varIsOpen
private

Pointers to "own" global variables.

Referenced by createResources(), handlePTgrey(), Receiver(), and runSetting().

UVariable* UFuncPTgrey::varSavePNG
private

Referenced by createResources(), and runSetting().

UVariable* UFuncPTgrey::varTriggerExt
private

Referenced by createResources(), and runSetting().

UVariable* UFuncPTgrey::varUpdateCnt
private

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