45 #ifndef _mtsNDISerial_h
46 #define _mtsNDISerial_h
78 char ManufacturerID[13];
95 void Configure(
const std::string & filename =
"");
103 std::string GetToolName(
const unsigned int index)
const;
105 void PortHandlesInitialize(
void);
106 void PortHandlesQuery(
void);
107 void PortHandlesEnable(
void);
110 enum { MAX_BUFFER_SIZE = 512 };
111 enum { CRC_SIZE = 4 };
114 return SerialBufferPointer - SerialBuffer;
117 return MAX_BUFFER_SIZE - GetSerialBufferSize();
120 if (*(SerialBufferPointer - 1) ==
'\0') {
121 return GetSerialBufferSize() - 1;
127 void CommandInitialize(
void);
128 void CommandAppend(
const char command);
129 void CommandAppend(
const char * command);
130 void CommandAppend(
const int command);
131 bool CommandSend(
void);
134 CommandAppend(command);
135 return CommandSend();
137 bool ResponseRead(
void);
138 bool ResponseRead(
const char * expectedMessage);
139 unsigned int ComputeCRC(
const char * data);
140 bool ResponseCheckCRC(
void);
142 bool ResetSerialPort(
void);
148 void Beep(
const int & numberOfBeeps);
150 void LoadToolDefinitionFile(
const char * portHandle,
const char * filePath);
151 Tool * CheckTool(
const char * serialNumber);
152 Tool * AddTool(
const std::string & name,
const char * serialNumber);
153 Tool * AddTool(
const std::string & name,
const char * serialNumber,
const char * toolDefinitionFile);
155 void ToggleTracking(
const bool & track);
157 void CalibratePivot(
const std::string & toolName);
158 void ReportStrayMarkers(
void);
161 char SerialBuffer[MAX_BUFFER_SIZE];
177 #endif // _mtsNDISerial_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
~mtsNDISerial(void)
Definition: mtsNDISerial.h:92
size_t GetSerialBufferStringSize(void) const
Definition: mtsNDISerial.h:119
BaudRateType
Definition: osaSerialPort.h:62
ParityCheckingType
Definition: osaSerialPort.h:98
cmnNamedMap< Tool > PortToTool
Definition: mtsNDISerial.h:166
mtsNDISerial(const mtsTaskPeriodicConstructorArg &arg)
Definition: mtsNDISerial.h:90
mtsNDISerial(const std::string &taskName, const double period)
Definition: mtsNDISerial.h:88
Definition: mtsTaskPeriodic.h:38
char * SerialBufferPointer
Definition: mtsNDISerial.h:162
Typedef for fixed size vectors.
double ReadTimeout
Definition: mtsNDISerial.h:171
bool IsTracking
Definition: mtsNDISerial.h:168
const int CMN_DYNAMIC_CREATION_ONEARG
Definition: cmnClassRegisterMacros.h:333
osaSerialPort SerialPort
Definition: mtsNDISerial.h:160
size_t GetSerialBufferAvailableSize(void) const
Definition: mtsNDISerial.h:116
bool CommandSend(const char *command)
Definition: mtsNDISerial.h:132
size_t GetNumberOfTools(void) const
Definition: mtsNDISerial.h:100
ToolsType Tools
Definition: mtsNDISerial.h:165
FlowControlType
Definition: osaSerialPort.h:110
CharacterSizeType
Definition: osaSerialPort.h:83
virtual void Configure(const std::string &CMN_UNUSED(filename)="")
Definition: mtsTask.h:218
Definition: mtsNDISerial.h:57
Definition: osaStopwatch.h:82
void Startup(void)
Definition: mtsNDISerial.h:96
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
StopBitsType
Definition: osaSerialPort.h:116
size_t GetSerialBufferSize(void) const
Definition: mtsNDISerial.h:113
Definition: mtsInterfaceProvided.h:96
#define CMN_LOG_CLASS_RUN_ERROR
Definition: cmnLogger.h:117
osaStopwatch ResponseTimer
Definition: mtsNDISerial.h:172
mtsMatrix< double > StrayMarkers
Definition: mtsNDISerial.h:169
Definition: mtsTaskPeriodic.h:80
Serial port.
Definition: osaSerialPort.h:50
virtual void Cleanup(void)
Definition: mtsComponent.h:267
CMN_DECLARE_SERVICES_INSTANTIATION(mtsNDISerial)
cmnNamedMap< Tool > ToolsType
Definition: mtsNDISerial.h:164
Declaration of osaSerialPort.
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
Definition: prmPositionCartesianGet.h:37