AURobotServers
4
|
#include <ulaserdevice.h>
Public Member Functions | |
virtual void | callGotNewDataWithObject () |
virtual bool | changeMode (int scanangle, double resolution) |
virtual void | createBaseVars () |
unsigned int | getBad () |
char * | getDeviceName () |
int | getDeviceNum () |
UPosition | getDevicePos () |
UPosRot | getDevicePose () |
URotation | getDeviceRot () |
unsigned int | getGood () |
char * | getLogFileName (char *buffer, int bufferCnt) |
int | getLogInterval () |
bool | getLogUsedScans () |
int | getMaxMeasurements () |
bool | getMirror () |
double | getMsgRate () |
char * | getName () |
virtual const char * | getNameFromDevice () |
virtual bool | getNewestData (ULaserData *dest, unsigned long lastSerial, int fake) |
int | getScanAngle () |
double | getScanAngle (int measurement) |
double | getScanResolution () |
unsigned long | getSerial () |
void | gotNewScan (ULaserData *gotData) |
virtual bool | isLogFileOpen () |
virtual bool | isPortOpen () |
virtual bool | isReplayDevice () |
bool | isRunning () |
bool | isSend () |
virtual bool | isVerbose () |
void | logFileClose () |
bool | logFileOpen () |
void | logThisScan (ULaserData *scan) |
void | openRequest (bool toOpen) |
void | print (char *preString) |
virtual const char * | print (const char *preString, char *buff, int buffCnt) |
void | send (char *msg) |
virtual void | setCore (UCmdExe *pCore) |
virtual void | setDeviceName (const char *device) |
void | setDeviceNum (int value) |
void | setDevicePose (UPosRot *newPose) |
void | setLogInterval (int value) |
void | setLogUsedScans (bool value) |
void | setMirror (bool value) |
void | setVarStructure (UVarPool *varStruct) |
void | setVerbose (bool value) |
bool | start () |
void | stop (bool justClosePort) |
void | threadRunLoop () |
ULaserDevice () | |
virtual | ~ULaserDevice () |
Public Member Functions inherited from UServerPush | |
int | addPushCommand (UServerInMsg *msg) |
bool | doPushCall (UServerPushElement *pe, const char *value) |
void | flushClientCmds (int clientIdx) |
UServerPushImplement * | getImplementor () |
int | getPushCmdCnt (int *cmdCnt, int *callCnt) |
UServerPushQueue * | getPushQueue () |
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 () |
Protected Member Functions | |
virtual void | closePort () |
virtual double | getDefaultDelay () |
void | getFakeScan (ULaserData *dest, unsigned long lastSerial, int fake, double fakeDt=0.2) |
virtual bool | openPort () |
virtual bool | receiveData () |
virtual bool | sendToDevice (const char *msg, int lng) |
void | updateScanData (UTime scanTime) |
Protected Attributes | |
double | angleResolution |
ULogFile | datalog |
int | datalogSeq |
bool | datalogUsedScans |
int | deviceNum |
char | devName [MAX_DEVICE_NAME_LNG] |
UTime | lastScanTime |
int | loopCnt |
double | maxValidRange |
bool | mirrorData |
int | modeAngleScan |
char | name [MAX_NAME_LNG] |
ULaserData * | pushData |
bool | replayOrFake |
bool | sendNewData |
char | sendStr [MAX_SEND_MSG_LNG] |
int | sendStrCnt |
unsigned long | serial |
unsigned int | statBadCnt |
unsigned int | statGoodCnt |
double | statMsgRate |
pthread_t | threadHandle |
bool | threadRunning |
bool | threadStop |
struct { | |
UVariable * framerate | |
UVariable * logData | |
UVariable * logDataInterval | |
UVariable * logSource | |
UVariable * maxRange | |
UVariable * name | |
UVariable * open | |
UVariable * pose | |
UVariable * scanDelay | |
UVariable * scanres | |
UVariable * scanwidth | |
UVariable * serial | |
UVariable * type | |
UVariable * versionInfo | |
} | var |
UVarPool * | vars |
bool | verbose |
Root class with basical laser scanner services, start, stop, get data etc.
ULaserDevice::ULaserDevice | ( | ) |
Constructor
References angleResolution, datalogSeq, datalogUsedScans, loopCnt, maxValidRange, mirrorData, modeAngleScan, pushData, replayOrFake, sendNewData, sendStrCnt, serial, setDeviceName(), statBadCnt, statGoodCnt, statMsgRate, threadRunning, threadStop, var, vars, and verbose.
|
virtual |
Destructor
References logFileClose(), and pushData.
|
virtual |
Called by cmdExe to get push object followed by a call to 'gotNewData(object)'. Should be overwritten by push object holder.
Reimplemented from UServerPush.
References UServerPush::gotNewData(), ULock::lock(), pushData, and ULock::unlock().
Referenced by isReplayDevice().
|
virtual |
Change scanner resolution mode. (modeAngleScan and angleResolution) Returns true if new resolution is implemented. If not open, then values are just saved
Reimplemented in USick, UHokuyo, ULaserSim, ULms500, ULms100, and UFakeDevice.
Referenced by getSerial(), and UFunctionLaser::handleSetCommand().
|
protectedvirtual |
Close serial port
Reimplemented in USick, UHokuyo, UFakeDevice, ULms500, ULms100, and ULaserSim.
References getDeviceName().
Referenced by openRequest(), and threadRunLoop().
|
virtual |
Create entry infor the globas variable database for this device
Reimplemented in UHokuyo, and UFakeDevice.
References UVarPool::addVar(), UVarPool::addVarA(), angleResolution, datalog, deviceNum, devName, maxValidRange, modeAngleScan, name, serial, ULogFile::setLogName(), start(), var, and vars.
Referenced by ULaserPool::addDevice(), UFakeDevice::createBaseVars(), UHokuyo::createBaseVars(), and setCore().
|
inline |
|
inlineprotectedvirtual |
|
inline |
Get serial device name
References devName.
Referenced by ULaserPool::addDevice(), ULaserSim::changeMode(), UHokuyo::closePort(), closePort(), ULaserPool::getDevice(), UFunctionLaser::handleScanGetCommand(), UFunctionLaser::handleSetCommand(), isPortOpen(), openPort(), receiveData(), and threadRunLoop().
|
inline |
Get device number for device
References deviceNum.
Referenced by UFuncLaserBase::getScan(), UFunctionLaser::handleSetCommand(), UReplayDevice::replayStep(), and UResV360::setDefDevice().
UPosition ULaserDevice::getDevicePos | ( | ) |
Get the device position on robot. The position (in 3D) is part of the device pose that also includes the rotation around the three axex (see gerDeviceRot(). The position is in meter x is forward, y is left and z is up.
References var.
Referenced by getMirror(), UFuncPpl::handleCommand(), UFunctionPassable::handlePass(), UResLocater::locate(), UFunctionPassable::sendFullScan(), UFuncEfLine::sendRobotPoseAndSensorPosition(), and UFunctionLaser::sendScan().
UPosRot ULaserDevice::getDevicePose | ( | ) |
Get the full device pose including 3D position (x,y,z) (see getDevicePos()) and rotation (Omega, Phi, Kappa) (see getDeviceRot)). Returns a pointer to the structure, and can thus be used to modify the value too.
References var.
Referenced by UNamedBoxes::doDetect(), getFakeScan(), getMirror(), UFakeDevice::getNewestData(), UFuncLocalize::handleLocalize(), UFuncLocalize::handleLocalizeMHF(), UFuncLocalize::handleLocalizeUKF(), UFunctionPassable::handlePass(), UFunctionLaser::handleSetCommand(), UResLobst::makeObst(), UFuncEfLine::sendBoxPose(), and UResV360::update().
URotation ULaserDevice::getDeviceRot | ( | ) |
Get the device rotation relative to robot. The roattion (in 3D) is part of the device pose that also includes the position (see gerDeviceRos(). The rotation is in radians where Omega is rotation around the x-axis (Roll) positive is roll to the right. Phi is rotation around the Y-axis (tilt), positive is tilt down. Kappa is rotation around the Z-axis (turn) positive is left. The specified rotation order is like for a crane, forst rotation, then tilt and finally roll of the in this way turned and tilted axis.
References UPosRot::getRot(), and var.
Referenced by getMirror(), UFunctionPassable::handlePass(), UFunctionPassable::sendFullScan(), UFuncEfLine::sendRobotPoseAndSensorPosition(), and UFunctionLaser::sendScan().
|
protected |
Get fake data to this destination and advance fake position if scan number is used before, otherwise maintain position
dest | is where to load the scan. |
lastSerial | is last used serial number - set next number in scan |
int | fake is fake number - 0 is live |
double | fakeDt is update time for fake position - default is 0.2 sec |
References angleResolution, UFakeMap::currentTruePose, datalogUsedScans, deviceNum, UFakeMap::fakeAdvancePose(), fakeMap, getDevicePose(), UPoseTVQ::getPose(), gotNewScan(), logThisScan(), mirrorData, modeAngleScan, UTime::now(), UPoseTVQ::print(), serial, ULaserData::setDeviceNum(), ULaserData::setMaxValidRange(), ULaserData::setMirror(), ULaserData::setScanTime(), ULaserData::setSerial(), ULaserData::setSimData(), UPoseTime::t, var, and verbose.
Referenced by ULaserSim::getNewestData(), UReplayDevice::getNewestData(), UFakeDevice::getNewestData(), ULms100::getNewestData(), ULms500::getNewestData(), UHokuyo::getNewestData(), USick::getNewestData(), and openRequest().
|
inline |
Get statistics - good count
References statGoodCnt.
Referenced by UFunctionLaser::handleSetCommand().
char * ULaserDevice::getLogFileName | ( | char * | buffer, |
int | bufferCnt | ||
) |
Get name of logfile (open or not) - made form devicenumber as 'laser_N'. Returns 'buffer'
References dataPath, and deviceNum.
Referenced by UFunctionLaser::handleSetCommand(), and isReplayDevice().
|
inline |
|
inline |
|
inline |
Get number of measurements in scan-mode
References angleResolution, modeAngleScan, and roundi().
|
inline |
Get mirror value. If false the first range is to the right. If mirror is true then first value is assumed to be to the left.
References getDevicePos(), getDevicePose(), getDeviceRot(), mirrorData, and setDevicePose().
Referenced by ULms100::getDataTo(), ULms500::getDataTo(), and UFunctionLaser::handleSetCommand().
|
inline |
Get statistics - number of good messages per second
References statMsgRate.
Referenced by UFunctionLaser::handleSetCommand(), and print().
|
inline |
Get name of scanner
References name.
Referenced by ULaserPool::addDevice(), ULaserPool::getDevice(), ULms100::getNameFromDevice(), ULms500::getNameFromDevice(), UHokuyo::getNameFromDevice(), getNameFromDevice(), UFunctionLaser::handleSetCommand(), UFakeDevice::print(), print(), and ULaserPool::setDefDevice().
|
virtual |
|
virtual |
Get newest available data to this destination structure. Returns true if data is available.
Reimplemented in USick, UHokuyo, ULms500, UFakeDevice, ULms100, UReplayDevice, and ULaserSim.
Referenced by UFuncLaserBase::getScan(), ULaserPool::getScan(), getScanAngle(), UResV360::getSourceData(), gotNewScan(), UFunctionPassable::handlePass(), UFunctionLaser::handleScanGetCommand(), UResLocater::locate(), and UResV360::update().
|
inline |
Get actual scan angle in degrees
References modeAngleScan.
Referenced by UFunctionLaser::handleSetCommand().
|
inline |
Get angle from measurement number - result is in degrees
References angleResolution, getNewestData(), modeAngleScan, print(), and send().
|
inline |
Get actual scan resolution in centi degrees
References angleResolution.
Referenced by UFunctionLaser::handleSetCommand().
|
inline |
Get name of scanner
References changeMode(), isPortOpen(), serial, start(), stop(), and threadRunLoop().
Referenced by print().
void ULaserDevice::gotNewScan | ( | ULaserData * | gotData | ) |
Got new measurement data from device. if 'gotData' == NULL, then data is available by a getNewestData(ULaserData*) call. Data should not be requested (by call) unless there is users waiting for the data. NB! this call is called by the read thread, and not the server message handler thread.
References ULaserData::copy(), data, datalogSeq, getNewestData(), UServerPush::getPushCmdCnt(), UServerPush::getPushQueue(), ULaserData::getScanTime(), logThisScan(), pushData, UServerPush::setUpdated(), ULock::tryLock(), ULock::unlock(), updateScanData(), and var.
Referenced by ULms100::decodeData(), ULms500::decodeData(), getFakeScan(), isReplayDevice(), ULaserSim::receiveData(), UHokuyo::receiveData(), USick::receiveData(), and UReplayDevice::replayStep().
|
inlinevirtual |
Is logfile open
References datalog, and ULogFile::isOpen().
Referenced by UFunctionLaser::handleSetCommand().
|
virtual |
Is the port to the device open
Reimplemented in USick, UHokuyo, ULms500, ULms100, UReplayDevice, UFakeDevice, and ULaserSim.
References getDeviceName().
Referenced by getSerial(), UFunctionLaser::handleScanGetCommand(), UFunctionLaser::handleSetCommand(), isRunning(), print(), send(), and threadRunLoop().
|
inlinevirtual |
Is laserscanner a replay device scanner
Reimplemented in UReplayDevice.
References callGotNewDataWithObject(), getLogFileName(), gotNewScan(), logFileClose(), and logFileOpen().
Referenced by UFunctionLaser::handleSetCommand(), and ULaserPool::replayToTime().
|
inline |
Is sick scanner running
References isPortOpen(), and threadRunning.
Referenced by USick::getNewestData(), and UFunctionLaser::handleSetCommand().
|
inline |
Is last string send
References getNameFromDevice(), and sendNewData.
Referenced by UFunctionLaser::handleSetCommand().
|
inlinevirtual |
void ULaserDevice::logFileClose | ( | ) |
Close logfile for this device (if open).
References ULogFile::closeLog(), datalog, ULogFile::isLogOpen(), replayOrFake, and var.
Referenced by UFunctionLaser::handleSetCommand(), isReplayDevice(), and ~ULaserDevice().
bool ULaserDevice::logFileOpen | ( | ) |
Open a logfile in the data directory adding this device number at the end. If the log is open, then it is closed before (re) opening.
References datalog, ULogFile::isLogOpen(), ULogFile::isOpen(), ULogFile::openLog(), replayOrFake, var, and Wait().
Referenced by UFunctionLaser::handleSetCommand(), and isReplayDevice().
void ULaserDevice::logThisScan | ( | ULaserData * | scan | ) |
Log this scan
References datalog, ULogFile::getF(), ULogFile::isLogOpen(), ULogFile::logLock(), ULogFile::logUnlock(), ULaserData::saveToLogFile(), and var.
Referenced by getFakeScan(), ULaserSim::getNewestData(), ULms100::getNewestData(), ULms500::getNewestData(), UHokuyo::getNewestData(), USick::getNewestData(), gotNewScan(), UFunctionLaser::handleScanGetCommand(), and setDeviceNum().
|
protectedvirtual |
Open serial post. Return true if open(ed)
Reimplemented in USick, UHokuyo, UFakeDevice, ULms500, ULms100, and ULaserSim.
References getDeviceName().
Referenced by openRequest(), and threadRunLoop().
|
inline |
open or close port that is set port to be opened or closed by the read thread
toOpen | set to open if true, else set to close |
References closePort(), getFakeScan(), openPort(), receiveData(), sendToDevice(), updateScanData(), and var.
Referenced by UFunctionLaser::handleScanGetCommand(), and UFunctionLaser::handleSetCommand().
void ULaserDevice::print | ( | char * | preString | ) |
Print status
Referenced by getScanAngle(), and ULaserPool::print().
|
virtual |
Print device status to a buffer string
Reimplemented in UFakeDevice.
References angleResolution, bool2str(), devName, getMsgRate(), getName(), getSerial(), isPortOpen(), and modeAngleScan.
|
protectedvirtual |
Receive data from device – called from device loop, should return as fast as possible after doing the job, i.e. no blocking read. Should add number of good and bad blocks of data to statBadCnt and statGootcnt. Returns true if data received.
Reimplemented in USick, UHokuyo, ULms500, ULms100, and ULaserSim.
References getDeviceName().
Referenced by openRequest(), and threadRunLoop().
void ULaserDevice::send | ( | char * | msg | ) |
Send data to device Data must be a zero-terminated string.
References isPortOpen(), sendNewData, sendStr, sendStrCnt, and start().
Referenced by getScanAngle(), and UFunctionLaser::handleSetCommand().
|
protectedvirtual |
Send data to device. Sends 'lng' bytes from 'msg'. Data must be a zero-terminated string.
Reimplemented in UHokuyo, ULms500, ULms100, and ULaserSim.
Referenced by openRequest(), and threadRunLoop().
|
inlinevirtual |
set server core pointer - just a debug feature - I think)
Reimplemented in ULaserSim.
References createBaseVars().
Referenced by ULaserPool::addDevice().
|
inlinevirtual |
Set device name
Reimplemented in UFakeDevice.
References devName, and MAX_DEVICE_NAME_LNG.
Referenced by UFunctionLaser::handleSetCommand(), UFakeDevice::setDeviceName(), UHokuyo::UHokuyo(), ULaserDevice(), ULms100::ULms100(), ULms500::ULms500(), and USick::USick().
|
inline |
Set device number for device
References deviceNum, logThisScan(), and scan.
Referenced by ULaserPool::addDevice().
void ULaserDevice::setDevicePose | ( | UPosRot * | newPose | ) |
Set the full device pose including 3D position (x,y,z) (see getDevicePos()) and rotation (Omega, Phi, Kappa) (see getDeviceRot)). Returns a pointer to the structure, and can thus be used to modify the value too.
References var.
Referenced by getMirror(), and UFunctionLaser::handleSetCommand().
|
inline |
|
inline |
|
inline |
Set mirror flag. The mirror flag indicates that the laserscanner is mounted upside down, and thus the data is in reverse angle order. This will result in the start angle and resolution has negated sign. In normal mode first range is to the right, i.e. a negative angle. The resolution (angle step size) is then positive. With the mirror flag set, the start angle will be positive (first range to the left) and the resolution is negative.
References mirrorData.
Referenced by UFunctionLaser::handleSetCommand().
|
inline |
Set pointer to var-pool structure for variables for this device.
References vars.
Referenced by ULaserPool::addDevice().
|
inline |
Set verbose flag (for debugging)
References verbose.
Referenced by UFunctionLaser::handleSetCommand().
bool ULaserDevice::start | ( | ) |
Start sick scanner and grap the data
References replayOrFake, threadHandle, threadRunning, threadRunSick(), threadStop, and var.
Referenced by createBaseVars(), UHokuyo::getNameFromDevice(), ULaserSim::getNewestData(), ULms100::getNewestData(), ULms500::getNewestData(), USick::getNewestData(), getSerial(), UHokuyo::isUrg(), UHokuyo::receiveFromDevice(), and send().
void ULaserDevice::stop | ( | bool | justClosePort | ) |
Stop sick scanner port. Stop also thread - if not 'justClosePort'.
References ULogFile::closeLog(), datalog, threadHandle, threadRunning, threadStop, and var.
Referenced by getSerial(), ULaserPool::stop(), UHokuyo::~UHokuyo(), ULms100::~ULms100(), ULms500::~ULms500(), and USick::~USick().
void ULaserDevice::threadRunLoop | ( | ) |
Start the receive loop for continous messages
References ULogFile::closeLog(), closePort(), datalog, getDeviceName(), UTime::getTimePassed(), ULogFile::isLogOpen(), isPortOpen(), loopCnt, UTime::Now(), ULogFile::openLog(), openPort(), receiveData(), replayOrFake, sendNewData, sendStr, sendStrCnt, sendToDevice(), statBadCnt, statGoodCnt, statMsgRate, threadRunning, threadStop, var, verbose, and Wait().
Referenced by getSerial(), and threadRunSick().
|
protected |
Update global variables with new scan data
scantime | scantime of the new scan (for framerate calculation) |
References angleResolution, lastScanTime, modeAngleScan, serial, and var.
Referenced by gotNewScan(), and openRequest().
|
protected |
Angle resolution, this can be 1.0 0.5 or 0.25 degrees. NB! natural resolution is 1.0 deg, the others take 2 or 4 resolutions to generate. Unit is 1 degree. For the URG scanner the resolution is fixed to 360/1024 = 0.35156 deg.
Referenced by UFakeDevice::changeMode(), ULms100::changeMode(), ULms500::changeMode(), ULaserSim::changeMode(), UHokuyo::changeMode(), USick::changeMode(), createBaseVars(), getFakeScan(), getMaxMeasurements(), USick::getNewestData(), getScanAngle(), getScanResolution(), UHokuyo::makeGetDataString(), USick::openPort(), UFakeDevice::print(), print(), UReplayDevice::replayStep(), USick::set_resolution(), UFakeDevice::setDeviceName(), UFakeDevice::UFakeDevice(), UHokuyo::UHokuyo(), ULaserDevice(), ULms100::ULms100(), ULms500::ULms500(), updateScanData(), and USick::USick().
|
protected |
Data logfile for received data - debug
Referenced by createBaseVars(), UHokuyo::decodeData(), isLogFileOpen(), logFileClose(), logFileOpen(), logThisScan(), stop(), and threadRunLoop().
|
protected |
Logging sequence number
Referenced by gotNewScan(), and ULaserDevice().
|
protected |
interval beteen systematic loggings. 0 is no (systematic) logging. 1 is log every scan. N log every N'th scan. Log the used scans - that is scans requested by 'getNewestData'
Referenced by getFakeScan(), getLogUsedScans(), ULaserSim::getNewestData(), ULms100::getNewestData(), ULms500::getNewestData(), UHokuyo::getNewestData(), USick::getNewestData(), setLogUsedScans(), and ULaserDevice().
|
protected |
Device number in current laser pool
Referenced by createBaseVars(), ULms100::decodeData(), ULms500::decodeData(), getDeviceNum(), getFakeScan(), getLogFileName(), ULaserSim::getNewestData(), ULms100::getNewestData(), ULms500::getNewestData(), UHokuyo::getNewestData(), USick::getNewestData(), ULaserSim::receiveData(), UHokuyo::receiveData(), and setDeviceNum().
|
protected |
Serial device, where laser scanner is attached
Referenced by USick::changeMode(), createBaseVars(), getDeviceName(), USick::getDeviceName(), UReplayDevice::getReplayFileName(), USick::open_port(), ULaserSim::openPort(), ULms100::openPort(), ULms500::openPort(), UHokuyo::openPort(), UFakeDevice::print(), print(), setDeviceName(), UFakeDevice::setDeviceName(), and UReplayDevice::UReplayDevice().
UVariable* ULaserDevice::framerate |
|
protected |
Time of last scan
Referenced by updateScanData().
UVariable* ULaserDevice::logData |
UVariable* ULaserDevice::logDataInterval |
UVariable* ULaserDevice::logSource |
|
protected |
Loop count for receive thread
Referenced by threadRunLoop(), and ULaserDevice().
UVariable* ULaserDevice::maxRange |
|
protected |
Max valid range for this laserscanner
Referenced by createBaseVars(), ULms100::decodeData(), ULms500::decodeData(), UFakeDevice::getNewestData(), USick::getNewestData(), UFakeDevice::maxRange(), UHokuyo::receiveData(), UReplayDevice::replayStep(), UFakeDevice::setDeviceName(), UFakeDevice::UFakeDevice(), UHokuyo::UHokuyo(), ULaserDevice(), ULaserSim::ULaserSim(), ULms100::ULms100(), ULms500::ULms500(), UReplayDevice::UReplayDevice(), and USick::USick().
|
protected |
Mirror data - laser is mounted upside down reverse the angle reading
Referenced by ULms100::decodeData(), ULms500::decodeData(), ULms100::getDataTo(), UHokuyo::getDataTo(), getFakeScan(), getMirror(), ULaserSim::getNewestData(), USick::getNewestData(), ULaserSim::receiveData(), UHokuyo::receiveData(), UReplayDevice::replayStep(), setMirror(), and ULaserDevice().
|
protected |
The scanning angle of the SICK laser scanner, it can be either 100 or 180 or 240 (URG only) deg. Unit is degrees.
Referenced by UFakeDevice::changeMode(), ULms100::changeMode(), ULms500::changeMode(), ULaserSim::changeMode(), UHokuyo::changeMode(), USick::changeMode(), createBaseVars(), ULms100::getDataTo(), getFakeScan(), getMaxMeasurements(), USick::getNewestData(), getScanAngle(), UHokuyo::makeGetDataString(), USick::openPort(), UFakeDevice::print(), print(), UReplayDevice::replayStep(), USick::set_resolution(), UFakeDevice::setDeviceName(), UFakeDevice::UFakeDevice(), UHokuyo::UHokuyo(), ULaserDevice(), ULms100::ULms100(), ULms500::ULms500(), updateScanData(), and USick::USick().
|
protected |
Name returned from serial device
Referenced by createBaseVars(), ULms100::decodeName(), ULms500::decodeName(), UHokuyo::decodeName(), getName(), USick::openPort(), ULms100::sendToDevice(), ULms500::sendToDevice(), UHokuyo::sendToDevice(), UFakeDevice::UFakeDevice(), UHokuyo::UHokuyo(), ULaserSim::ULaserSim(), ULms100::ULms100(), ULms500::ULms500(), UReplayDevice::UReplayDevice(), and USick::USick().
UVariable* ULaserDevice::name |
UVariable* ULaserDevice::open |
Referenced by USick::open_port(), and UHokuyo::openPort().
UVariable* ULaserDevice::pose |
Referenced by UReplayDevice::replayStep().
|
protected |
Scan to be used by a pending push command
Referenced by callGotNewDataWithObject(), gotNewScan(), ULaserDevice(), and ~ULaserDevice().
|
protected |
Use thread based device interface - else generated, i.e. replay or fake
Referenced by logFileClose(), logFileOpen(), start(), threadRunLoop(), UFakeDevice::UFakeDevice(), ULaserDevice(), and UReplayDevice::UReplayDevice().
UVariable* ULaserDevice::scanDelay |
UVariable* ULaserDevice::scanres |
UVariable* ULaserDevice::scanwidth |
|
protected |
Flag for new data to send
Referenced by isSend(), send(), threadRunLoop(), and ULaserDevice().
|
protected |
Buffer for message to send
Referenced by send(), and threadRunLoop().
|
protected |
Send string length, may include a zero.
Referenced by send(), threadRunLoop(), and ULaserDevice().
|
protected |
UVariable* ULaserDevice::serial |
|
protected |
Read statistics total bad messages
Referenced by getBad(), USick::receive_continous_data(), ULms100::receiveData(), ULms500::receiveData(), UHokuyo::receiveData(), threadRunLoop(), and ULaserDevice().
|
protected |
Read statistics total good messages
Referenced by ULms100::decodeData(), ULms500::decodeData(), getGood(), UHokuyo::receiveData(), USick::receiveData(), threadRunLoop(), and ULaserDevice().
|
protected |
Good messages per second.
Referenced by getMsgRate(), threadRunLoop(), and ULaserDevice().
|
protected |
|
protected |
Is thread actually running
Referenced by isRunning(), start(), stop(), threadRunLoop(), and ULaserDevice().
|
protected |
Should thread stop - terminate
Referenced by start(), stop(), threadRunLoop(), and ULaserDevice().
UVariable* ULaserDevice::type |
struct { ... } ULaserDevice::var |
Referenced by UHokuyo::createBaseVars(), createBaseVars(), ULms100::decodeData(), ULms500::decodeData(), UHokuyo::decodeData(), UHokuyo::decodeName(), getDevicePos(), getDevicePose(), getDeviceRot(), getFakeScan(), getLogInterval(), ULaserSim::getNewestData(), gotNewScan(), logFileClose(), logFileOpen(), ULaserSim::logSourceData(), logThisScan(), openRequest(), ULaserSim::receiveData(), USick::receiveData(), UReplayDevice::replayStep(), setDevicePose(), setLogInterval(), start(), stop(), threadRunLoop(), ULaserDevice(), and updateScanData().
|
protected |
Pointer to local variable structure
Referenced by UFakeDevice::createBaseVars(), createBaseVars(), setVarStructure(), and ULaserDevice().
|
protected |
Print more (debug) messages
Referenced by UHokuyo::decodeData(), UHokuyo::getDataTo(), getFakeScan(), isVerbose(), UHokuyo::receiveData(), UHokuyo::receiveFromDevice(), setVerbose(), threadRunLoop(), and ULaserDevice().
UVariable* ULaserDevice::versionInfo |