Difference between revisions of "OpenIGTLink"
From NAMIC Wiki
(→STATUS) |
|||
Line 100: | Line 100: | ||
19 Exiting / shut down in progress<br /> | 19 Exiting / shut down in progress<br /> | ||
<br /> | <br /> | ||
+ | |||
+ | |||
+ | = Resources = | ||
+ | * [[Slicer3:_Image_Guided_Therapy_(IGT) ]] | ||
+ | * [[Slicer/Features/Middleware | Middleware features]] | ||
+ | * [http://www.cisst.org/wiki/MRI_robot/MIT_2007_06_27_Meeting Initial discussion about requirements] |
Revision as of 20:09, 9 January 2008
Home < OpenIGTLinkContents
Overview
Protocol
Header Structure
Bytes 0 2 14 34 42 50 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+..... | V | TYPE | DEVICE_NAME | BODY_SIZE | CRC | BODY +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+.....
Byte Order
Big endian should be used.
Header Fields
Data | Type | Description |
V | Unsigned short (16bit) | Version number (1) |
TYPE | char[8] | Type name of body |
DEVICE_NAME | char[20] | Unique device name |
BODY_SIZE | 64 bit unsigned int | Size of body in bytes |
CRC | 64 bit unsigned int | 64 bit CRC for body data |
Message types
IMAGE
TRANSFORM
POSITION
STATUS
Bytes (Body) 50 52 60 80 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+..... | C | Sub Code | Status name | Status message (optional) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+.....
Data | Type | Description |
C | Unsigned short (16bit) | Status code groups: 1-Ok, 2-Generic Error, ... (see below) |
Sub Code | 64 bit integer | Sub code for the error (ex. 0x200 - file not found) |
Error name | char[20] | "Error", "Ok", "Starting up" - can be anything, don't relay on this |
Status Message (optional) | char[ BodySize - 30 ] | Optional (English) description (ex. "File C:\test.ini not found") |
Status codes:
0 No Errors Found (use status 1 instead!)
1 OK (Default status)
2 Unknown error
3 Panic mode (emergency)
4 Not found (file, configuration, device etc)
5 Access denied
6 Busy
7 Time out / Connection lost
8 Overflow / Can't be reached
9 Checksum error
10 Configuration error
11 Not enough resource (memory, storage etc)
12 Illegal/Unknown instruction (or feature not implemented)
13 Device not ready (starting up)
14 Manual mode (device does not accept commands)
15 Device disabled
16 Device not present
17 Device version not known
18 Hardware failure
19 Exiting / shut down in progress