AURobotServers
4
|
#include <ufunctioncam.h>
Public Member Functions | |
virtual bool | handleCommand (UServerInMsg *msg, void *extra) |
UFunctionCam () | |
virtual | ~UFunctionCam () |
Public Member Functions inherited from UFunctionCamBase | |
virtual void | createResources () |
UImage * | getImage (UServerInMsg *msg, void *extra) |
virtual bool | setResource (UResBase *ressource, bool remove) |
UFunctionCamBase () | |
virtual | ~UFunctionCamBase () |
Public Member Functions inherited from UFunctionImgBase | |
virtual void | setCmdHandler (UCmdExe *cmdExe) |
void | showImagesAsDefault (bool show) |
UFunctionImgBase () | |
virtual | ~UFunctionImgBase () |
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) |
UVarPool * | addStruct (const char *name, const char *comment, bool copy=false) |
UVariable * | addVar (const char *name, const double initialValue, const char *type, const char *comment) |
UVariable * | addVar (const char *name, const char *initialValue, const char *type, const char *comment) |
UVariable * | addVarA (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) |
UVarCalc * | getVarPool () |
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) |
UCmdExe * | getCorePointer () |
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 | stop (bool) |
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 () |
Private Member Functions | |
bool | handleCamGetCommand (UServerInMsg *msg) |
bool | handleCamPushCommand (UServerInMsg *msg) |
bool | handleCamSetCommand (UServerInMsg *msg) |
bool | handleCamsGetCommand (UServerInMsg *msg) |
bool | sendStatusReply (UServerInMsg *msg, UComCamSml *camValues, UCamMounted *cam) |
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 UFunctionCamBase | |
UCamPush * | getCam (int imgDevice, const char *posName) |
UCamPush * | getCam (int camDevNum) |
bool | getCamAndRawImage (UCamPush **cam, UImage **imgRaw, int *imgDevice, void *imgBase, const char *posName, int rectfiedImg) |
int | getDefaultCamDevice () |
Protected Member Functions inherited from UFunctionImgBase | |
bool | sendImage (UServerInMsg *msg, const char *tagName, UImage *imgRgb, int imgLeft=0, int imgTop=0, int imgWidth=640, int imgHeight=480, int imgSource=-1, bool isCodecBin=true, bool imgIsBW=false, bool imgGetNum=true, bool imgGetTod=true, bool imgGetTime=false, const char *posName=NULL, bool imgGetName=true, bool silent=false) |
Protected Member Functions inherited from UFunctionBase | |
int | getCmdIndex () |
UResBase * | getStaticResource (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) |
UResBase * | setThisResource (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 | |
UResBase * | getStaticResource (const char *resName, bool mayCreate, bool staticOnly=true) |
get a pointer to a static resource. More... | |
Protected Attributes inherited from UFunctionCamBase | |
UCamPool * | camPool |
Protected Attributes inherited from UFunctionImgBase | |
UImagePool * | imgPool |
Protected Attributes inherited from UFunctionBase | |
char | aliasName [MAX_ID_LENGTH] |
UCmdExe * | cmdHandler |
char * | cmdToks [20] |
int | cmdToksCnt |
char | commandsHandled [MAX_RESOURCE_LIST_SIZE] |
UServerInMsg * | msg |
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 |
UReplay * | replayParent |
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... | |
Functions that control the cameras
UFunctionCam::UFunctionCam | ( | ) |
Constructor
References UFunctionBase::setCommand().
|
virtual |
Constructor Destructor
|
private |
Handle commands that returns actual settings
References UComCamSml::camParValid, UFunctionCamBase::camPool, UComCamSml::clear(), UComCam::deviceValid, UComCam::deviceValue, USmlTagIn::getAttValue(), UCamPool::getCam(), USmlTagIn::getTagName(), UComCamSml::posName, UComCamSml::posNameValid, UComCamSml::relPosValid, UComCamSml::relRotValid, UFunctionBase::sendHelpDone(), UFunctionBase::sendHelpStart(), UFunctionBase::sendMsg(), sendStatusReply(), UFunctionBase::sendText(), UComCam::sizeValid, UServerInMsg::tag, and UComCamSml::unpack().
Referenced by handleCommand().
|
private |
Handle commands that returns actual settings
References UCamPush::addCamPushCommand(), bool2str(), UFunctionCamBase::camPool, UCamPool::getCam(), UCamBase::getDev(), UCamRad::getImageSnapshot(), USmlTagIn::getNextAttribute(), USmlTagIn::getTagName(), UCamDevBase::isCameraOpen(), MAX_MOUNT_NAME_SIZE, MAX_SML_NAME_LENGTH, UFunctionBase::sendHelpDone(), UFunctionBase::sendHelpStart(), UFunctionBase::sendMsg(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), and UServerInMsg::tag.
Referenced by handleCommand().
|
private |
Handle commands, that change settings of the camera
References bool2str(), UFunctionCamBase::camPool, UComCamSml::clear(), UServerInMsg::client, UComCam::deviceValid, UComCam::deviceValue, USmlTagIn::getAttBool(), USmlTagIn::getAttInteger(), UCamPool::getCam(), UCamBase::getDev(), UTime::GetMicrosec(), UTime::getSec(), USmlTagIn::getTagName(), UComCam::inCtrlValid, UCamDevBase::isCameraOpen(), UCamMounted::isClientInCharge(), UCamPool::isImagelogOpen(), UCamPool::isLogPng(), UReplay::isReplay(), UCamPool::makeDevice(), UCamDevBase::makeTriggerPulse(), UCamPool::openImageLogging(), UComCamSml::posName, UComCamSml::posNameValid, UResBase::replay, UReplay::replayStep(), UReplay::replayTimeNow, UFunctionBase::sendHelpDone(), UFunctionBase::sendHelpStart(), UFunctionBase::sendInfo(), UFunctionBase::sendMsg(), sendStatusReply(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), UComCamSml::setCamDevice(), UCamMounted::setClientInCharge(), UCamDevBase::setExternalTrigger(), UCamDevBase::setLog(), UCamPool::setLogPng(), UReplay::setReplay(), UCamDevBase::setReplay(), UFunctionBase::silent, UServerInMsg::tag, and UComCamSml::unpack().
Referenced by handleCommand().
|
private |
Get list of video devices
References UFunctionCamBase::camPool, UCamPool::findDevices(), UCamPool::getCam(), UCamPool::getCamByPoolIndex(), UCamDevBase::getCameraName(), UCamBase::getDev(), UCamPool::getDeviceCount(), UCamDevBase::getDeviceNumber(), USmlTagIn::getNextAttribute(), UCamMounted::getPosName(), UServerPush::getPushCmdCnt(), USmlTagIn::getTagName(), MAX_MOUNT_NAME_SIZE, MAX_SML_NAME_LENGTH, UFunctionBase::sendHelpDone(), UFunctionBase::sendHelpStart(), UFunctionBase::sendMsg(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), and UServerInMsg::tag.
Referenced by handleCommand().
|
virtual |
Name of function The returned name is intended as informative to clients and should include a version number Returns list of handled functions. The following functions are handled: <h2>camGet:</h2>
Return specified parameter values. e.g.
<camGet camera=1 name size fps/>
The allowed attributes are described below
name: Return the name of the camera
posName: Return the position name of the camera (e.g. cameraLeft)
pos, posX, posY, posZ: Return the position of the camera relative to the robot.
rot, rotOmega, rotPhi, rotKappa: Returns the orientation of the camera relative to the robot
Handle camera and image commands
Reimplemented from UFunctionBase.
References handleCamGetCommand(), handleCamPushCommand(), handleCamSetCommand(), handleCamsGetCommand(), USmlTagIn::isTagA(), UFunctionBase::sendDebug(), and UServerInMsg::tag.
|
private |
Send status reply to the message client for each of the requested areas in the 'cmaValues' from the 'cam' camera. Returns true if send.
References UServerInMsg::client, USmlTagIn::getTagName(), UComCamSml::notUsedPars, UComCamSml::pack(), UFunctionBase::sendMsg(), and UServerInMsg::tag.
Referenced by handleCamGetCommand(), and handleCamSetCommand().