Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitk::NDIProtocol Class Reference

The NDI Protocol class provides building and parsing of command strings and answers to and from a NDI tracking device. More...

#include <mitkNDIProtocol.h>

Inheritance diagram for mitk::NDIProtocol:
Collaboration diagram for mitk::NDIProtocol:

Public Types

typedef mitk::SerialCommunication::PortNumber PortNumber
 Port number of the serial connection. More...
 
typedef mitk::SerialCommunication::BaudRate BaudRate
 Baud rate of the serial connection. More...
 
typedef mitk::SerialCommunication::DataBits DataBits
 Number of data bits used in the serial connection. More...
 
typedef mitk::SerialCommunication::Parity Parity
 Parity mode used in the serial connection. More...
 
typedef mitk::SerialCommunication::StopBits StopBits
 Number of stop bits used in the serial connection. More...
 
typedef mitk::SerialCommunication::HardwareHandshake HardwareHandshake
 Hardware handshake mode of the serial connection. More...
 
typedef mitk::NDIPassiveTool::TrackingPriority TrackingPriority
 Tracking priority used for tracking a tool. More...
 

Public Member Functions

 mitkClassMacroItkParent (NDIProtocol, itk::Object)
 
Pointer Clone () const
 
virtual void SetTrackingDevice (NDITrackingDevice *_arg)
 
NDIErrorCode APIREV (std::string *revision)
 Gives information about the tool which is assosiated with the port handle. Writes portInfo to the string. More...
 
NDIErrorCode PHINF (std::string portHandle, std::string *portInfo)
 
NDIErrorCode PSOUT (std::string portHandle, std::string state)
 Set GPIO Output (Aurora) More...
 
NDIErrorCode COMM (mitk::SerialCommunication::BaudRate baudRate, mitk::SerialCommunication::DataBits dataBits, mitk::SerialCommunication::Parity parity, mitk::SerialCommunication::StopBits stopBits, mitk::SerialCommunication::HardwareHandshake hardwareHandshake)
 Change Serial Communication Parameters. More...
 
NDIErrorCode INIT ()
 Initialize the Measurement System. More...
 
NDIErrorCode DSTART ()
 Start the Diagnostic Mode. More...
 
NDIErrorCode DSTOP ()
 Stop the Diagnostic Mode. More...
 
NDIErrorCode IRINIT ()
 Initialize the System to Check for Infrared. More...
 
NDIErrorCode IRCHK (bool *IRdetected)
 This version of IRCHK uses only the simple "presence of infrared light" call, that returns a binary "IR detected/no IR detected" answer. More...
 
NDIErrorCode PHSR (PHSRQueryType queryType, std::string *portHandles)
 Port Handle Search. Will write returned port handles to the string portHandles. More...
 
NDIErrorCode PHF (std::string *portHandle)
 Port Handle Free. Frees the port handle. More...
 
NDIErrorCode PHRQ (std::string *portHandle)
 Port Handle Request. Will request a Port Handle for a wireless tool and return it in the string portHandle. More...
 
NDIErrorCode PVWR (std::string *portHandle, const unsigned char *sromData, unsigned int sromDataLength)
 Port Virtual Write. Writes an SROM Image data to a tool. More...
 
NDIErrorCode PINIT (std::string *portHandle)
 Port Initialize. Will initialize a Port that has been acquired with PHRQ and has been assigned a SROM File with PVWR. More...
 
NDIErrorCode PENA (std::string *portHandle, TrackingPriority prio)
 Port Enable. Will enable a port that has been initialized with PINIT. More...
 
NDIErrorCode PDIS (std::string *portHandle)
 Port Disable. Will disable a port that has been enabled with PENA. More...
 
NDIErrorCode IRATE (IlluminationActivationRate rate)
 Setting the illuminator rate. Will set the refresh rate for the illuminator for wireless tools. More...
 
NDIErrorCode BEEP (unsigned char count)
 Sounding the measurement system beeper. The tracking system will beep one to nine times. More...
 
NDIErrorCode SFLIST (std::string *info)
 Returns information about the supported feature of the tracking system. More...
 
NDIErrorCode TSTART (bool resetFrameCounter=false)
 Start Tracking Mode. The tracking system must be in setup mode and must be initialized. More...
 
NDIErrorCode TSTOP ()
 Stop Tracking Mode. The tracking system must be in Tracking mode. More...
 
NDIErrorCode TX (bool trackIndividualMarkers=false, MarkerPointContainerType *markerPositions=nullptr)
 Report transformations in text mode. Optionally, individual markers can be tracked. More...
 
NDIErrorCode BX ()
 Report transformations in binary mode. More...
 
NDIErrorCode POS3D (MarkerPointContainerType *markerPositions)
 Report 3D Positions of single markers. can only be used in diagnostics mode. More...
 
NDIErrorCode VER (mitk::TrackingDeviceType &t)
 returns if the tracking device is a Polaris or an Aurora system More...
 
NDIErrorCode VSEL (mitk::TrackingDeviceData deviceData)
 Sets the tracking volume to the given type. Check available tracking volumes with SFLIST first. More...
 
NDIErrorCode TX1000 (MarkerPointContainerType *markerPositions)
 Report transformations in text mode. More...
 
unsigned int ByteToNbBitsOn (char &c) const
 
virtual bool GetUseCRC () const
 
virtual void SetUseCRC (bool _arg)
 Get whether to append a CRC16 checksum to each message. More...
 
virtual void UseCRCOn ()
 Set whether to append a CRC16 checksum to each message. More...
 
virtual void UseCRCOff ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 NDIProtocol ()
 Set whether to append a CRC16 checksum to each message. More...
 
 ~NDIProtocol () override
 
NDIErrorCode ParseOkayError ()
 
NDIErrorCode GenericCommand (const std::string command, const std::string *parameter=nullptr)
 
NDIErrorCode GetErrorCode (const std::string *input)
 returns the error code for an Error String returned from the NDI tracking device More...
 

Protected Attributes

NDITrackingDevicem_TrackingDevice
 tracking device to which the commands will be send More...
 
bool m_UseCRC
 whether to append a CRC16 checksum to each message More...
 

Detailed Description

The NDI Protocol class provides building and parsing of command strings and answers to and from a NDI tracking device.

Documentation

Definition at line 86 of file mitkNDIProtocol.h.

Member Typedef Documentation

◆ BaudRate

Baud rate of the serial connection.

Definition at line 95 of file mitkNDIProtocol.h.

◆ DataBits

Number of data bits used in the serial connection.

Definition at line 96 of file mitkNDIProtocol.h.

◆ HardwareHandshake

Hardware handshake mode of the serial connection.

Definition at line 99 of file mitkNDIProtocol.h.

◆ Parity

Parity mode used in the serial connection.

Definition at line 97 of file mitkNDIProtocol.h.

◆ PortNumber

Port number of the serial connection.

Definition at line 92 of file mitkNDIProtocol.h.

◆ StopBits

Number of stop bits used in the serial connection.

Definition at line 98 of file mitkNDIProtocol.h.

◆ TrackingPriority

Tracking priority used for tracking a tool.

Definition at line 100 of file mitkNDIProtocol.h.

Constructor & Destructor Documentation

◆ NDIProtocol()

mitk::NDIProtocol::NDIProtocol ( )
protected

Set whether to append a CRC16 checksum to each message.

Definition at line 24 of file mitkNDIProtocol.cpp.

◆ ~NDIProtocol()

mitk::NDIProtocol::~NDIProtocol ( )
overrideprotected

Definition at line 30 of file mitkNDIProtocol.cpp.

Member Function Documentation

◆ APIREV()

mitk::NDIErrorCode mitk::NDIProtocol::APIREV ( std::string *  revision)

◆ BEEP()

◆ BX()

mitk::NDIErrorCode mitk::NDIProtocol::BX ( )

Report transformations in binary mode.

Definition at line 1169 of file mitkNDIProtocol.cpp.

References TX().

◆ ByteToNbBitsOn()

unsigned int mitk::NDIProtocol::ByteToNbBitsOn ( char &  c) const

Definition at line 1447 of file mitkNDIProtocol.cpp.

Referenced by TX(), and TX1000().

◆ Clone()

Pointer mitk::NDIProtocol::Clone ( ) const

◆ COMM()

◆ DSTART()

mitk::NDIErrorCode mitk::NDIProtocol::DSTART ( )

Start the Diagnostic Mode.

Definition at line 114 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ DSTOP()

mitk::NDIErrorCode mitk::NDIProtocol::DSTOP ( )

Stop the Diagnostic Mode.

Definition at line 120 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ GenericCommand()

mitk::NDIErrorCode mitk::NDIProtocol::GenericCommand ( const std::string  command,
const std::string *  parameter = nullptr 
)
protected

Documentation Sends the command command to the tracking system and checks for OKAY and ERROR as replies This is used by commands like INIT, DSTART, DSTOP,... that do not need parameters or special parsing of replies

Definition at line 1404 of file mitkNDIProtocol.cpp.

References mitk::NDITrackingDevice::ClearReceiveBuffer(), m_TrackingDevice, m_UseCRC, mitk::NDIOKAY, mitk::NDIUNKNOWNERROR, ParseOkayError(), mitk::NDITrackingDevice::Send(), and mitk::TRACKINGDEVICENOTSET.

Referenced by COMM(), DSTART(), DSTOP(), INIT(), IRATE(), IRINIT(), PDIS(), PENA(), PHF(), PSOUT(), TSTART(), and TSTOP().

◆ GetErrorCode()

◆ GetUseCRC()

virtual bool mitk::NDIProtocol::GetUseCRC ( ) const
virtual

◆ INIT()

mitk::NDIErrorCode mitk::NDIProtocol::INIT ( )

Initialize the Measurement System.

Definition at line 108 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ IRATE()

mitk::NDIErrorCode mitk::NDIProtocol::IRATE ( IlluminationActivationRate  rate)

Setting the illuminator rate. Will set the refresh rate for the illuminator for wireless tools.

Definition at line 532 of file mitkNDIProtocol.cpp.

References GenericCommand(), mitk::Hz20, mitk::Hz30, and mitk::Hz60.

◆ IRCHK()

mitk::NDIErrorCode mitk::NDIProtocol::IRCHK ( bool *  IRdetected)

◆ IRINIT()

mitk::NDIErrorCode mitk::NDIProtocol::IRINIT ( )

Initialize the System to Check for Infrared.

Definition at line 126 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ mitkClassMacroItkParent()

mitk::NDIProtocol::mitkClassMacroItkParent ( NDIProtocol  ,
itk::Object   
)

◆ New()

static Pointer mitk::NDIProtocol::New ( )
static

◆ ParseOkayError()

mitk::NDIErrorCode mitk::NDIProtocol::ParseOkayError ( )
protected

Documentation Reads the reply from the tracking device and checks if it is either "OKAY" or "ERROR##". if it reads an error, it returns the equivalent NDIErrorCode Replies other than OKAY or ERROR result in an NDIUNEXPECTEDREPLY

Definition at line 1464 of file mitkNDIProtocol.cpp.

References mitk::NDITrackingDevice::CalcCRC(), mitk::NDITrackingDevice::ClearReceiveBuffer(), GetErrorCode(), m_TrackingDevice, mitk::NDICRCERROR, mitk::NDIOKAY, mitk::NDIUNEXPECTEDREPLY, mitk::NDIUNKNOWNERROR, mitk::NDITrackingDevice::Receive(), and mitk::NDITrackingDevice::ReceiveByte().

Referenced by GenericCommand(), and PVWR().

◆ PDIS()

mitk::NDIErrorCode mitk::NDIProtocol::PDIS ( std::string *  portHandle)

Port Disable. Will disable a port that has been enabled with PENA.

Definition at line 520 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ PENA()

mitk::NDIErrorCode mitk::NDIProtocol::PENA ( std::string *  portHandle,
TrackingPriority  prio 
)

Port Enable. Will enable a port that has been initialized with PINIT.

Definition at line 492 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ PHF()

mitk::NDIErrorCode mitk::NDIProtocol::PHF ( std::string *  portHandle)

Port Handle Free. Frees the port handle.

Definition at line 526 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ PHINF()

mitk::NDIErrorCode mitk::NDIProtocol::PHINF ( std::string  portHandle,
std::string *  portInfo 
)

◆ PHRQ()

mitk::NDIErrorCode mitk::NDIProtocol::PHRQ ( std::string *  portHandle)

◆ PHSR()

mitk::NDIErrorCode mitk::NDIProtocol::PHSR ( PHSRQueryType  queryType,
std::string *  portHandles 
)

◆ PINIT()

◆ POS3D()

◆ PSOUT()

mitk::NDIErrorCode mitk::NDIProtocol::PSOUT ( std::string  portHandle,
std::string  state 
)

Set GPIO Output (Aurora)

Definition at line 643 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ PVWR()

mitk::NDIErrorCode mitk::NDIProtocol::PVWR ( std::string *  portHandle,
const unsigned char *  sromData,
unsigned int  sromDataLength 
)

◆ SetTrackingDevice()

virtual void mitk::NDIProtocol::SetTrackingDevice ( NDITrackingDevice _arg)
virtual

◆ SetUseCRC()

virtual void mitk::NDIProtocol::SetUseCRC ( bool  _arg)
virtual

Get whether to append a CRC16 checksum to each message.

◆ SFLIST()

◆ TSTART()

mitk::NDIErrorCode mitk::NDIProtocol::TSTART ( bool  resetFrameCounter = false)

Start Tracking Mode. The tracking system must be in setup mode and must be initialized.

Definition at line 627 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ TSTOP()

mitk::NDIErrorCode mitk::NDIProtocol::TSTOP ( )

Stop Tracking Mode. The tracking system must be in Tracking mode.

Definition at line 637 of file mitkNDIProtocol.cpp.

References GenericCommand().

◆ TX()

◆ TX1000()

◆ UseCRCOff()

virtual void mitk::NDIProtocol::UseCRCOff ( )
virtual

◆ UseCRCOn()

virtual void mitk::NDIProtocol::UseCRCOn ( )
virtual

Set whether to append a CRC16 checksum to each message.

◆ VER()

◆ VSEL()

Member Data Documentation

◆ m_TrackingDevice

NDITrackingDevice* mitk::NDIProtocol::m_TrackingDevice
protected

tracking device to which the commands will be send

Definition at line 158 of file mitkNDIProtocol.h.

Referenced by APIREV(), BEEP(), GenericCommand(), IRCHK(), ParseOkayError(), PHINF(), PHRQ(), PHSR(), PINIT(), POS3D(), PVWR(), SFLIST(), TX(), TX1000(), VER(), and VSEL().

◆ m_UseCRC

bool mitk::NDIProtocol::m_UseCRC
protected

whether to append a CRC16 checksum to each message

Definition at line 159 of file mitkNDIProtocol.h.

Referenced by APIREV(), BEEP(), GenericCommand(), IRCHK(), PHINF(), PHRQ(), PHSR(), PINIT(), POS3D(), PVWR(), SFLIST(), TX(), TX1000(), VER(), and VSEL().


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