AURobotServers
4
|
#include <ufunctionlaser.h>
Public Member Functions | |
virtual void | createResources () |
virtual bool | handleCommand (UServerInMsg *msg, void *extra) |
virtual bool | setResource (UResBase *ressource, bool remove) |
UFunctionLaser () | |
~UFunctionLaser () | |
Public Member Functions inherited from UFuncLaserBase | |
UFuncLaserBase () | |
virtual | ~UFuncLaserBase () |
Public Member Functions inherited from UFuncPlugBase | |
UFuncPlugBase () | |
virtual | ~UFuncPlugBase () |
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 () |
Protected Types | |
enum | Dataformat { BIN, HEX, TAG, LIST } |
Protected Member Functions | |
bool | handleScanGetCommand (UServerInMsg *msg, void *extra) |
bool | handleScanPushCommand (UServerInMsg *msg) |
bool | handleSetCommand (UServerInMsg *msg) |
bool | sendScan (UServerInMsg *msg, ULaserData *laserData, int dataInterval, Dataformat dataCodex, ULaserDevice *sick, bool andPose) |
Protected Member Functions inherited from UFuncLaserBase | |
ULaserDevice * | getDevice (UServerInMsg *msg, ULaserData *pushData) |
ULaserData * | getScan (UServerInMsg *msg, ULaserData *pushData, bool any=false, ULaserDevice **dev=NULL) |
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... | |
Private Attributes | |
ULaserPool * | lasPool |
bool | lasPoolLocal |
unsigned long | lastSerial [MAX_LASER_DEVS+1] |
UResPoseHist * | poseHist |
UResV360 * | v360 |
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 Attributes inherited from UFuncLaserBase | |
ULaserData | dataBuff |
int | lastDevice |
unsigned long | lastSerial |
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... | |
Laser control functions
|
protected |
UFunctionLaser::UFunctionLaser | ( | ) |
Constructor
References lasPool, lasPoolLocal, lastSerial, MAX_LASER_DEVS, poseHist, UFunctionBase::setCommand(), and v360.
UFunctionLaser::~UFunctionLaser | ( | ) |
Destructor
References lasPool.
|
virtual |
Create any resources that this modules needs and add these to the resource pool to be integrated in the global variable pool and method sharing.
Reimplemented from UFunctionBase.
References UFunctionBase::addResource(), and lasPool.
|
virtual |
Test if all ressources are loaded as intended Names of ressource names provided by this function. Used by server core to get name and count of provided ressources. get pointer to ressource with this name. Returns pointer if ressource is available, otherwise NULL. Used by the server core to get link to ressource. Handle command from client (or console). Return true if command is handles and alle needed actions are taken. Return false if command is not known (due to syntax error or that it belongs to another function)
Reimplemented from UFunctionBase.
References handleScanGetCommand(), handleScanPushCommand(), handleSetCommand(), USmlTagIn::isTagA(), UFunctionBase::sendDebug(), and UServerInMsg::tag.
|
protected |
Handle get scandata command
References UResPoseHist::addIfNeeded(), BIN, bool2str(), ULaserPool::getDefDevice(), ULaserPool::getDefDeviceNumber(), ULaserPool::getDevice(), ULaserDevice::getDeviceName(), ULaserData::getDeviceNum(), ULaserData::getFakePoseTime(), UResV360::getNewestData(), ULaserDevice::getNewestData(), USmlTagIn::getNextAttribute(), UResPoseHist::getPoseAtTime(), UFuncLaserBase::getScan(), ULaserData::getScanTime(), ULaserData::getSerial(), HEX, ULaserData::isFake(), ULaserDevice::isPortOpen(), ULaserData::isValid(), lasPool, lastSerial, LIST, ULaserDevice::logThisScan(), MAX_LASER_DEVS, MAX_SML_NAME_LENGTH, ULaserDevice::openRequest(), poseHist, UFunctionBase::sendInfo(), UFunctionBase::sendMsg(), sendScan(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), ULaserPool::setDefDevice(), ULaserData::setFakePose(), UFunctionBase::silent, str2bool(), str2bool2(), TAG, UServerInMsg::tag, UResV360::update(), v360, UPoseTVQ::vel, UPose::x, and UPose::y.
Referenced by handleCommand().
|
protected |
Handle get scandata command
References UServerPush::addPushCommand(), USmlTagIn::getAttValue(), ULaserPool::getDefDevice(), ULaserPool::getDevice(), UServerPush::getPushCmdCnt(), lasPool, UFunctionBase::sendInfo(), UFunctionBase::sendMsg(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), and UServerInMsg::tag.
Referenced by handleCommand().
|
protected |
Set scanner parameters
References absd(), ULaserPool::addDevice(), bool2str(), ULaserDevice::changeMode(), UServerInMsg::client, UPosition::codeXml(), URotation::codeXml(), ULaserDevice::getBad(), ULaserPool::getDefDevice(), ULaserPool::getDevice(), ULaserPool::getDeviceCnt(), ULaserDevice::getDeviceName(), ULaserDevice::getDeviceNum(), ULaserDevice::getDevicePose(), ULaserDevice::getGood(), UPosRot::getKappa(), ULaserDevice::getLogFileName(), ULaserDevice::getLogInterval(), ULaserDevice::getLogUsedScans(), UTime::getMicrosec(), ULaserDevice::getMirror(), ULaserDevice::getMsgRate(), ULaserDevice::getName(), USmlTagIn::getNextAttribute(), UPosRot::getOmega(), UPosRot::getPhi(), UPosRot::getPos(), UReplayDevice::getReplayFileExist(), UReplayDevice::getReplayFileName(), UReplayDevice::getReplayLogLine(), UReplayDevice::getReplayTimeNext(), UReplayDevice::getReplayTimeNow(), UPosRot::getRot(), ULaserDevice::getScanAngle(), ULaserDevice::getScanResolution(), UTime::getSec(), USmlTagIn::getTagName(), UTime::getTimeAsString(), UPosRot::getX(), UPosRot::getY(), UPosRot::getZ(), ULaserDevice::isLogFileOpen(), ULaserDevice::isPortOpen(), UReplayDevice::isReplayDevice(), ULaserDevice::isReplayDevice(), UReplayDevice::isReplayFileOpen(), ULaserDevice::isRunning(), ULaserDevice::isSend(), ULaserDevice::isVerbose(), URotation::Kappa, lasPool, ULaserDevice::logFileClose(), ULaserDevice::logFileOpen(), MAX_DEVICE_NAME_LNG, MAX_SML_NAME_LENGTH, URotation::Omega, ULaserDevice::openRequest(), URotation::Phi, ULaserPool::print(), UResBase::replay, ULaserPool::replayAdvanceTime(), UReplayDevice::replayStep(), UReplayDevice::replayStepToScan(), UReplay::replayTimeNext, ULaserDevice::send(), UFunctionBase::sendHelp(), UFunctionBase::sendInfo(), UFunctionBase::sendMsg(), UFunctionBase::sendText(), UFunctionBase::sendWarning(), serverPort, ULaserPool::setDefDevice(), ULaserDevice::setDeviceName(), ULaserDevice::setDevicePose(), UPosRot::setKappa(), ULaserDevice::setLogInterval(), ULaserDevice::setLogUsedScans(), ULaserDevice::setMirror(), UPosRot::setOmega(), UPosRot::setPhi(), UReplayDevice::setReplay(), UTime::setTimeTod(), ULaserDevice::setVerbose(), UPosRot::setX(), UPosRot::setY(), UPosRot::setZ(), UFunctionBase::silent, str2bool(), str2bool2(), UServerInMsg::tag, UTime::valid, UPosition::x, UPosition::y, and UPosition::z.
Referenced by handleCommand().
|
protected |
Handle get scanner info commands Send this scan to client
References BIN, UServerInMsg::client, USmlTag::codePose(), USmlTag::codePosition(), USmlTag::codeRotation(), ULaserData::getAngleDeg(), ULaserData::getAngleResolutionDeg(), ULaserDevice::getDevicePos(), ULaserDevice::getDeviceRot(), ULaserData::getFakePose(), ULaserData::getFlags(), ULaserData::getMaxValidRange(), ULaserData::getMeasurementSetsCnt(), UTime::getMicrosec(), ULaserData::getRangeCnt(), ULaserData::getRangeMeter(), ULaserData::getRangeRaw(), ULaserData::getScanTime(), UTime::GetSec(), ULaserData::getSerial(), USmlTagIn::getTagName(), ULaserData::getUnit(), HEX, ULaserData::isMirror(), LIST, MAX_RANGE_VALUES, maxi(), mini(), UFunctionBase::sendMsg(), TAG, and UServerInMsg::tag.
Referenced by handleScanGetCommand().
|
virtual |
Set a resource pointer as appropriate for this class.
Reimplemented from UFunctionBase.
References fakeMap, UResPoseHist::getOdoPoseID(), UResV360::getResClassID(), ULaserPool::getResClassID(), UResPoseHist::getUtmPoseID(), UResBase::isA(), lasPool, lasPoolLocal, poseHist, UFakeMap::resOdo, UFakeMap::resUTM, UFunctionBase::setResource(), and v360.
|
private |
Pointer to the sick laser communication object
Referenced by createResources(), handleScanGetCommand(), handleScanPushCommand(), handleSetCommand(), setResource(), UFunctionLaser(), and ~UFunctionLaser().
|
private |
Is the laser pool locally owned
Referenced by setResource(), and UFunctionLaser().
|
private |
Is the laser pool locally owned Last serial send to client
Referenced by handleScanGetCommand(), and UFunctionLaser().
|
private |
DEfault device POinter to pose history
Referenced by handleScanGetCommand(), setResource(), and UFunctionLaser().
|
private |
Pointer to the virtual 360 deg laser scanner object
Referenced by handleScanGetCommand(), setResource(), and UFunctionLaser().