Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
com.github.rosjava.rosjava_extras.hokuyo.scip20.Device Class Reference
Inheritance diagram for com.github.rosjava.rosjava_extras.hokuyo.scip20.Device:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 Device (InputStream inputStream, OutputStream outputStream, TimeProvider epochTimeProvider)
LaserScannerConfiguration getConfiguration ()
void shutdown ()
void startScanning (final LaserScanListener listener)

Private Member Functions

void checkMdmsStatus ()
void checkStatus ()
void checkTerminator ()
void checkTmStatus ()
void init ()
LaserScannerConfiguration queryConfiguration ()
State queryState ()
long queryUptime ()
String read ()
String readAndStripSemicolon ()
long readTimestamp ()
void reset ()
String verifyChecksum (String buffer)
void waitUntilReady ()
void write (String command)

Private Attributes

final BufferedInputStream bufferedInputStream
final LaserScannerConfiguration configuration
final BufferedReader reader
final RemoteUptimeClock remoteUptimeClock
final BufferedWriter writer

Static Private Attributes

static final int CALIBRATION_SAMPLE_SIZE = 20
static final int CALIBRATION_SAMPLING_DELAY_MILLIS = 500
static final boolean DEBUG = false
static final double DRIFT_SENSITIVITY = 0.3
static final double ERROR_REDUCTION_COEFFICIENT_SENSITIVITY = 0.3
static final String EXPECTED_SENSOR_DIAGNOSTIC = "Sensor works well."
static final int LATENCY_FILTER_SAMPLE_SIZE = 10
static final double LATENCY_FILTER_THRESHOLD = 1.05
static final Log log = LogFactory.getLog(Device.class)
static final int STREAM_BUFFER_SIZE = 8192

Detailed Description

Author:
damonkohler@google.com (Damon Kohler)

Definition at line 49 of file Device.java.


Constructor & Destructor Documentation

com.github.rosjava.rosjava_extras.hokuyo.scip20.Device.Device ( InputStream  inputStream,
OutputStream  outputStream,
TimeProvider  epochTimeProvider 
) [inline]

It is not necessary to provide buffered streams. Buffering is handled internally.

Parameters:
inputStreamthe InputStream for the ACM serial device
outputStreamthe OutputStream for the ACM serial device
epochTimeProvider

Definition at line 79 of file Device.java.


Member Function Documentation

Definition at line 169 of file Device.java.

Definition at line 163 of file Device.java.

Definition at line 245 of file Device.java.

Definition at line 180 of file Device.java.

Returns:
the device configuration

Implements com.github.rosjava.rosjava_extras.hokuyo.LaserScannerDevice.

Definition at line 143 of file Device.java.

Initialize the sensor by

  1. trying TM commands until one completes successfully,
  2. performing a reset,
  3. checking the laser's diagnostic information,
  4. and finally calibrating the laser's clock.

Definition at line 107 of file Device.java.

Definition at line 314 of file Device.java.

Definition at line 330 of file Device.java.

Definition at line 345 of file Device.java.

Definition at line 189 of file Device.java.

Definition at line 308 of file Device.java.

Returns:
the time in milliseconds

Definition at line 252 of file Device.java.

Definition at line 216 of file Device.java.

Shuts down the device and releases any shared resources.

Implements com.github.rosjava.rosjava_extras.hokuyo.LaserScannerDevice.

Definition at line 365 of file Device.java.

Definition at line 257 of file Device.java.

String com.github.rosjava.rosjava_extras.hokuyo.scip20.Device.verifyChecksum ( String  buffer) [inline, private]

Definition at line 202 of file Device.java.

Definition at line 116 of file Device.java.

void com.github.rosjava.rosjava_extras.hokuyo.scip20.Device.write ( String  command) [inline, private]

Definition at line 147 of file Device.java.


Member Data Documentation

Definition at line 63 of file Device.java.

Definition at line 60 of file Device.java.

Definition at line 61 of file Device.java.

Definition at line 66 of file Device.java.

final boolean com.github.rosjava.rosjava_extras.hokuyo.scip20.Device.DEBUG = false [static, private]

Definition at line 51 of file Device.java.

Definition at line 56 of file Device.java.

Definition at line 57 of file Device.java.

final String com.github.rosjava.rosjava_extras.hokuyo.scip20.Device.EXPECTED_SENSOR_DIAGNOSTIC = "Sensor works well." [static, private]

Definition at line 55 of file Device.java.

Definition at line 59 of file Device.java.

Definition at line 58 of file Device.java.

final Log com.github.rosjava.rosjava_extras.hokuyo.scip20.Device.log = LogFactory.getLog(Device.class) [static, private]

Definition at line 52 of file Device.java.

Definition at line 64 of file Device.java.

Definition at line 67 of file Device.java.

Definition at line 54 of file Device.java.

Definition at line 65 of file Device.java.


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


rosjava_extras
Author(s): Damon Kohler
autogenerated on Thu Aug 27 2015 14:53:42