PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
ATC3DG.h
Go to the documentation of this file.
1 //*****************************************************************************//
2 //*****************************************************************************//
3 //
4 // Author: crobertson
5 //
6 // Revision for ATC3DG 36.0.19.7
7 //
8 //
9 // Date: 02/01/2012
10 //
11 // COPYRIGHT: COPYRIGHT ASCENSION TECHNOLOGY CORPORATION - 2012
12 //
13 //*****************************************************************************//
14 //*****************************************************************************//
15 //
16 // DESCRIPTION: ATC3DG3.h
17 //
18 // Header file containing function prototypes for the BIRD system API
19 // Also contains definitions of constants and structures required.
20 //
21 //*****************************************************************************//
22 //*****************************************************************************//
23 
24 #ifndef ATC3DG_H
25 #define ATC3DG_H
26 
27 #ifdef LINUX
28  #define ATC3DG_API
29 #else
30 #ifdef MAC
31  #define ATC3DG_API
32 #else
33 #ifdef DEF_FILE
34  #define ATC3DG_API
35 #else
36 #ifdef ATC3DG_EXPORTS
37  #define ATC3DG_API extern "C" __declspec(dllexport)
38 #else
39  #define ATC3DG_API extern "C" __declspec(dllimport)
40 #endif
41 #endif
42 #endif
43 #endif
44 
45 /*****************************************************************************
46  ENUMERATED CONSTANTS
47  *****************************************************************************/
48 
49 //*****************************************************************************
50 //
51 // ERROR MESSAGE format is as follows:
52 // ===================================
53 //
54 // All commands return a 32-bit integer with the following bit definitions:
55 //
56 // 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
57 // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
58 // +-+-+-+-+-+-+---------+---------+-------------------------------+
59 // |E|W|X|R|B|M| Reserved| Address | Code |
60 // +-+-+-+-+-+-+---------+---------+-------------------------------+
61 //
62 // where
63 //
64 // E - indicates an ERROR
65 // (Operation either cannot or will not proceed as intended
66 // e.g. EEPROM error of some kind. Requires hardware reset
67 // of system and/or replacement of hardware)
68 // W - indicates a WARNING
69 // (Operation may proceed but remedial action needs to be taken
70 // e.g. Sensor has been removed. Fix by replacing Sensor)
71 // X - indicates Transmitter related message
72 // R - indicates Sensor related message
73 // (If neither X nor R is set then the message is a SYSTEM message)
74 // B - indicates message originated in the BIRD hardware
75 // M - indicates there are more messages pending (no longer used)
76 //
77 // Address gives the index number of the device generating the message
78 // (Driver and system messages always have address 0)
79 //
80 // Code - is the status code as enumerated in BIRD_ERROR_CODES
81 //
82 //*****************************************************************************
84 {
85  // ERROR CODE DISPOSITION
86  // | (Some error codes have been retired.
87  // | The column below describes which codes
88  // | have been retired and why. O = Obolete,
89  // V I = handled internally)
90  BIRD_ERROR_SUCCESS=0, //00 < > No error
91  BIRD_ERROR_PCB_HARDWARE_FAILURE, //01 < > indeterminate failure on PCB
92  BIRD_ERROR_TRANSMITTER_EEPROM_FAILURE, //02 <I> transmitter bad eeprom
93  BIRD_ERROR_SENSOR_SATURATION_START, //03 <I> sensor has gone into saturation
94  BIRD_ERROR_ATTACHED_DEVICE_FAILURE, //04 <O> either a sensor or transmitter reports bad
95  BIRD_ERROR_CONFIGURATION_DATA_FAILURE, //05 <O> device EEPROM detected but corrupt
96  BIRD_ERROR_ILLEGAL_COMMAND_PARAMETER, //06 < > illegal PARAMETER_TYPE passed to driver
97  BIRD_ERROR_PARAMETER_OUT_OF_RANGE, //07 < > PARAMETER_TYPE legal, but PARAMETER out of range
98  BIRD_ERROR_NO_RESPONSE, //08 <O> no response at all from target card firmware
99  BIRD_ERROR_COMMAND_TIME_OUT, //09 < > time out before response from target board
100  BIRD_ERROR_INCORRECT_PARAMETER_SIZE, //10 < > size of parameter passed is incorrect
101  BIRD_ERROR_INVALID_VENDOR_ID, //11 <O> driver started with invalid PCI vendor ID
102  BIRD_ERROR_OPENING_DRIVER, //12 < > couldn't start driver
103  BIRD_ERROR_INCORRECT_DRIVER_VERSION, //13 < > wrong driver version found
104  BIRD_ERROR_NO_DEVICES_FOUND, //14 < > no BIRDs were found anywhere
105  BIRD_ERROR_ACCESSING_PCI_CONFIG, //15 < > couldn't access BIRDs config space
106  BIRD_ERROR_INVALID_DEVICE_ID, //16 < > device ID out of range
107  BIRD_ERROR_FAILED_LOCKING_DEVICE, //17 < > couldn't lock driver
108  BIRD_ERROR_BOARD_MISSING_ITEMS, //18 < > config space items missing
109  BIRD_ERROR_NOTHING_ATTACHED, //19 <O> card found but no sensors or transmitters attached
110  BIRD_ERROR_SYSTEM_PROBLEM, //20 <O> non specific system problem
111  BIRD_ERROR_INVALID_SERIAL_NUMBER, //21 <O> serial number does not exist in system
112  BIRD_ERROR_DUPLICATE_SERIAL_NUMBER, //22 <O> 2 identical serial numbers passed in set command
113  BIRD_ERROR_FORMAT_NOT_SELECTED, //23 <O> data format not selected yet
114  BIRD_ERROR_COMMAND_NOT_IMPLEMENTED, //24 < > valid command, not implemented yet
115  BIRD_ERROR_INCORRECT_BOARD_DEFAULT, //25 < > incorrect response to reading parameter
116  BIRD_ERROR_INCORRECT_RESPONSE, //26 <O> response received, but data,values in error
117  BIRD_ERROR_NO_TRANSMITTER_RUNNING, //27 < > there is no transmitter running
118  BIRD_ERROR_INCORRECT_RECORD_SIZE, //28 < > data record size does not match data format size
119  BIRD_ERROR_TRANSMITTER_OVERCURRENT, //29 <I> transmitter over-current detected
120  BIRD_ERROR_TRANSMITTER_OPEN_CIRCUIT, //30 <I> transmitter open circuit or removed
121  BIRD_ERROR_SENSOR_EEPROM_FAILURE, //31 <I> sensor bad eeprom
122  BIRD_ERROR_SENSOR_DISCONNECTED, //32 <I> previously good sensor has been removed
123  BIRD_ERROR_SENSOR_REATTACHED, //33 <I> previously good sensor has been reattached
124  BIRD_ERROR_NEW_SENSOR_ATTACHED, //34 <O> new sensor attached
125  BIRD_ERROR_UNDOCUMENTED, //35 <I> undocumented error code received from bird
126  BIRD_ERROR_TRANSMITTER_REATTACHED, //36 <I> previously good transmitter has been reattached
127  BIRD_ERROR_WATCHDOG, //37 < > watchdog timeout
128  BIRD_ERROR_CPU_TIMEOUT_START, //38 <I> CPU ran out of time executing algorithm (start)
129  BIRD_ERROR_PCB_RAM_FAILURE, //39 <I> BIRD on-board RAM failure
130  BIRD_ERROR_INTERFACE, //40 <I> BIRD PCI interface error
131  BIRD_ERROR_PCB_EPROM_FAILURE, //41 <I> BIRD on-board EPROM failure
132  BIRD_ERROR_SYSTEM_STACK_OVERFLOW, //42 <I> BIRD program stack overrun
133  BIRD_ERROR_QUEUE_OVERRUN, //43 <I> BIRD error message queue overrun
134  BIRD_ERROR_PCB_EEPROM_FAILURE, //44 <I> PCB bad EEPROM
135  BIRD_ERROR_SENSOR_SATURATION_END, //45 <I> Sensor has gone out of saturation
136  BIRD_ERROR_NEW_TRANSMITTER_ATTACHED, //46 <O> new transmitter attached
137  BIRD_ERROR_SYSTEM_UNINITIALIZED, //47 < > InitializeBIRDSystem not called yet
138  BIRD_ERROR_12V_SUPPLY_FAILURE, //48 <I > 12V Power supply not within specification
139  BIRD_ERROR_CPU_TIMEOUT_END, //49 <I> CPU ran out of time executing algorithm (end)
140  BIRD_ERROR_INCORRECT_PLD, //50 < > PCB PLD not compatible with this API DLL
141  BIRD_ERROR_NO_TRANSMITTER_ATTACHED, //51 < > No transmitter attached to this ID
142  BIRD_ERROR_NO_SENSOR_ATTACHED, //52 < > No sensor attached to this ID
143 
144  // new error codes added 2/27/03
145  // (Version 1,31,5,01) multi-sensor, synchronized
146  BIRD_ERROR_SENSOR_BAD, //53 < > Non-specific hardware problem
147  BIRD_ERROR_SENSOR_SATURATED, //54 < > Sensor saturated error
148  BIRD_ERROR_CPU_TIMEOUT, //55 < > CPU unable to complete algorithm on current cycle
149  BIRD_ERROR_UNABLE_TO_CREATE_FILE, //56 < > Could not create and open file for saving setup
150  BIRD_ERROR_UNABLE_TO_OPEN_FILE, //57 < > Could not open file for restoring setup
151  BIRD_ERROR_MISSING_CONFIGURATION_ITEM, //58 < > Mandatory item missing from configuration file
152  BIRD_ERROR_MISMATCHED_DATA, //59 < > Data item in file does not match system value
153  BIRD_ERROR_CONFIG_INTERNAL, //60 < > Internal error in config file handler
154  BIRD_ERROR_UNRECOGNIZED_MODEL_STRING, //61 < > Board does not have a valid model string
155  BIRD_ERROR_INCORRECT_SENSOR, //62 < > Invalid sensor type attached to this board
156  BIRD_ERROR_INCORRECT_TRANSMITTER, //63 < > Invalid transmitter type attached to this board
157 
158  // new error code added 1/18/05
159  // (Version 1.31.5.22)
160  // multi-sensor,
161  // synchronized-fluxgate,
162  // integrating micro-sensor,
163  // flat panel transmitter
164  BIRD_ERROR_ALGORITHM_INITIALIZATION, //64 < > Flat panel algorithm initialization failed
165 
166  // new error code for multi-sync
167  BIRD_ERROR_LOST_CONNECTION, //65 < > USB connection has been lost
168  BIRD_ERROR_INVALID_CONFIGURATION, //66 < > Invalid configuration
169 
170  // VPD error code
171  BIRD_ERROR_TRANSMITTER_RUNNING, //67 < > TX running while reading/writing VPD
172 
173  BIRD_ERROR_MAXIMUM_VALUE = 0x7F // ## value = number of error codes ##
174 };
175 
176 // error message defines
177 #define ERROR_FLAG 0x80000000
178 #define WARNING_FLAG 0x40000000
179 
180 #define XMTR_ERROR_SOURCE 0x20000000
181 #define RCVR_ERROR_SOURCE 0x10000000
182 #define BIRD_ERROR_SOURCE 0x08000000
183 
184 #define DIAG_ERROR_SOURCE 0x04000000
185 
186 // SYSTEM error = none of the above
187 
188 // NOTE: The MULTIPLE_ERRORS flag is no longer generated
189 // It has been left in for backwards compatibility
190 #define MULTIPLE_ERRORS 0x04000000
191 
192 // DEVICE STATUS ERROR BIT DEFINITIONS
193 #define VALID_STATUS 0x00000000
194 #define GLOBAL_ERROR 0x00000001
195 #define NOT_ATTACHED 0x00000002
196 #define SATURATED 0x00000004
197 #define BAD_EEPROM 0x00000008
198 #define HARDWARE 0x00000010
199 #define NON_EXISTENT 0x00000020
200 #define UNINITIALIZED 0x00000040
201 #define NO_TRANSMITTER_RUNNING 0x00000080
202 #define BAD_12V 0x00000100
203 #define CPU_TIMEOUT 0x00000200
204 #define INVALID_DEVICE 0x00000400
205 #define NO_TRANSMITTER_ATTACHED 0x00000800
206 #define OUT_OF_MOTIONBOX 0x00001000
207 #define ALGORITHM_INITIALIZING 0x00002000
208 
209 #define TRUE 1
210 #define FALSE 0
211 
213 {
214  SIMPLE_MESSAGE, // short string describing error code
215  VERBOSE_MESSAGE, // long string describing error code
216 };
217 
219 {
220  SERIAL_NUMBER_TX, // attached transmitter's serial number
221  REFERENCE_FRAME, // structure of type DOUBLE_ANGLES_RECORD
222  XYZ_REFERENCE_FRAME, // boolean value to select/deselect mode
223  VITAL_PRODUCT_DATA_TX, // single byte parameter to be read/write from VPD section of xmtr EEPROM
224  MODEL_STRING_TX, // 11 byte null terminated character string
225  PART_NUMBER_TX, // 16 byte null terminated character string
227 };
228 
230 {
231  DATA_FORMAT, // enumerated constant of type DATA_FORMAT_TYPE
232  ANGLE_ALIGN, // structure of type DOUBLE_ANGLES_RECORD
233  HEMISPHERE, // enumerated constant of type HEMISPHERE_TYPE
234  FILTER_AC_WIDE_NOTCH, // boolean value to select/deselect filter
235  FILTER_AC_NARROW_NOTCH, // boolean value to select/deselect filter
236  FILTER_DC_ADAPTIVE, // double value in range 0.0 (no filtering) to 1.0 (max)
237  FILTER_ALPHA_PARAMETERS,// structure of type ADAPTIVE_PARAMETERS
238  FILTER_LARGE_CHANGE, // boolean value to select/deselect filter
239  QUALITY, // structure of type QUALITY_PARAMETERS
240  SERIAL_NUMBER_RX, // attached sensor's serial number
241  SENSOR_OFFSET, // structure of type DOUBLE_POSITION_RECORD
242  VITAL_PRODUCT_DATA_RX, // single byte parameter to be read/write from VPD section of sensor EEPROM
243  VITAL_PRODUCT_DATA_PREAMP, // single byte parameter to be read/write from VPD section of preamp EEPROM
244  MODEL_STRING_RX, // 11 byte null terminated character string
245  PART_NUMBER_RX, // 16 byte null terminated character string
246  MODEL_STRING_PREAMP, // 11 byte null terminated character string
247  PART_NUMBER_PREAMP, // 16 byte null terminated character string
248  PORT_CONFIGURATION, // enumerated constant of type PORT_CONFIGURATION_TYPE
250 };
251 
253 {
254  SERIAL_NUMBER_PCB, // installed board's serial number
255  BOARD_SOFTWARE_REVISIONS, // BOARD_REVISIONS structure
256  POST_ERROR_PCB, // board POST_ERROR_PARAMETER
257  DIAGNOSTIC_TEST_PCB, // board DIAGNOSTIC_TEST_PARAMETER
258  VITAL_PRODUCT_DATA_PCB, // single byte parameter to be read/write from VPD section of board EEPROM
259  MODEL_STRING_PCB, // 11 byte null terminated character string
260  PART_NUMBER_PCB, // 16 byte null terminated character string
262 };
263 
265 {
266  SELECT_TRANSMITTER, // short int equal to transmitterID of selected transmitter
267  POWER_LINE_FREQUENCY, // double value (range is hardware dependent)
268  AGC_MODE, // enumerated constant of type AGC_MODE_TYPE
269  MEASUREMENT_RATE, // double value (range is hardware dependent)
270  MAXIMUM_RANGE, // double value (range is hardware dependent)
271  METRIC, // boolean value to select metric units for position
272  VITAL_PRODUCT_DATA, // single byte parameter to be read/write from VPD section of board EEPROM
273  POST_ERROR, // system (board 0) POST_ERROR_PARAMETER
274  DIAGNOSTIC_TEST, // system (board 0) DIAGNOSTIC_TEST_PARAMETER
275  REPORT_RATE, // single byte 1-127
276  COMMUNICATIONS_MEDIA, // Media structure
277  LOGGING, // Boolean
278  RESET, // Boolean
279  AUTOCONFIG, // BYTE 1-127
280  AUXILIARY_PORT, // structure of type AUXILIARY_PORT_PARAMETERS
281  COMMUTATION_MODE, // boolean value to select commutation of sensor data for interconnect pickup rejection
282  END_OF_LIST // end of list place holder
283 };
284 
286 {
287  USB, // Auto select USB driver
288  RS232, // Force to RS232
289  TCPIP // Force to TCP/IP
290 };
291 
293 {
296 };
297 
299 {
306 };
307 
309 {
310  TRANSMITTER_AND_SENSOR_AGC, // Old style normal addressing mode
311  SENSOR_AGC_ONLY // Old style extended addressing mode
312 };
313 
315 {
316  DOF_NOT_ACTIVE, // No sensor associated with this ID, e.g. ID 5 on a 6DOF port
317  DOF_6_XYZ_AER, // 6 degrees of freedom
318  DOF_5_XYZ_AE, // 5 degrees of freedom, no roll
319 };
320 
322 {
323  AUX_PORT_NOT_SUPPORTED, // There is no auxiliary port associated with this sensor port
324  AUX_PORT_NOT_SELECTED, // The auxiliary port is not selected.
325  AUX_PORT_SELECTED, // The auxiliary port is selected.
326 };
327 
329 {
331 
332  // SHORT (integer) formats
340 
341  // DOUBLE (floating point) formats
346  DOUBLE_POSITION_ANGLES, // system default
349 
350  // DOUBLE (floating point) formats with time stamp appended
358 
359  // DOUBLE (floating point) formats with time stamp appended and quality #
367 
368  // These DATA_FORMAT_TYPE codes contain every format in a single structure
373  DOUBLE_ALL_TIME_STAMP_Q_RAW, // this format contains a raw data matrix and
374  // is for factory use only...
375 
376  // DOUBLE (floating point) formats with time stamp appended, quality # and button
380 
381  // New types for button and wrapper
383 
385 };
386 
388 {
389  ATC3DG_MEDSAFE, // Standalone, DSP, 4 sensor
390  PCIBIRD_STD1, // single standard sensor
391  PCIBIRD_STD2, // dual standard sensor
392  PCIBIRD_8mm1, // single 8mm sensor
393  PCIBIRD_8mm2, // dual 8mm sensor
394  PCIBIRD_2mm1, // single 2mm sensor (microsensor)
395  PCIBIRD_2mm2, // dual 2mm sensor (microsensor)
396  PCIBIRD_FLAT, // flat transmitter, 8mm
397  PCIBIRD_FLAT_MICRO1, // flat transmitter, single TEM sensor (all types)
398  PCIBIRD_FLAT_MICRO2, // flat transmitter, dual TEM sensor (all types)
399  PCIBIRD_DSP4, // Standalone, DSP, 4 sensor
400  PCIBIRD_UNKNOWN, // default
401  ATC3DG_BB // BayBird
402 };
403 
405 {
406  STANDARD_SENSOR, // 25mm standard sensor
407  TYPE_800_SENSOR, // 8mm sensor
408  STANDARD_TRANSMITTER, // TX for 25mm sensor
409  MINIBIRD_TRANSMITTER, // TX for 8mm sensor
410  SMALL_TRANSMITTER, // "compact" transmitter
411  TYPE_500_SENSOR, // 5mm sensor
412  TYPE_180_SENSOR, // 1.8mm microsensor
413  TYPE_130_SENSOR, // 1.3mm microsensor
414  TYPE_TEM_SENSOR, // 1.8mm, 1.3mm, 0.Xmm microsensors
415  UNKNOWN_SENSOR, // default
417  TYPE_800_BB_SENSOR, // BayBird sensor
418  TYPE_800_BB_STD_TRANSMITTER, // BayBird standard TX
419  TYPE_800_BB_SMALL_TRANSMITTER, // BayBird small TX
420  TYPE_090_BB_SENSOR // Baybird 0.9 mm sensor
421 };
422 
423 // Async and Sync sensor id parameter
424 #define ALL_SENSORS 0xffff
425 
426 /*****************************************************************************
427  TYPEDEF DEFINITIONS
428  *****************************************************************************/
429 
430 #ifndef BASETYPES
431 #define BASETYPES
432 typedef unsigned long ULONG;
433 typedef ULONG *PULONG;
434 typedef unsigned short USHORT;
435 typedef USHORT *PUSHORT;
436 typedef short SHORT;
437 typedef SHORT *PSHORT;
438 typedef unsigned char UCHAR;
439 typedef UCHAR *PUCHAR;
440 typedef char *PSZ;
441 #endif /* !BASETYPES */
442 
443 typedef char CHAR;
444 typedef const CHAR *LPCSTR, *PCSTR;
445 typedef int BOOL;
447 
448 typedef unsigned char BYTE;
449 typedef unsigned short WORD;
450 typedef unsigned long DWORD;
451 
452 /*****************************************************************************
453  STRUCTURE DEFINITIONS
454  *****************************************************************************/
455 
456 typedef struct tagTRANSMITTER_CONFIGURATION
457 {
461  enum DEVICE_TYPES type;
462  BOOL attached;
464 
465 typedef struct tagSENSOR_CONFIGURATION
466 {
470  enum DEVICE_TYPES type;
471  BOOL attached;
473 
474 typedef struct tagBOARD_CONFIGURATION
475 {
477  enum BOARD_TYPES type;
483  char modelString[10];
484 
486 
487 typedef struct tagSYSTEM_CONFIGURATION
488 {
489  double measurementRate;
490  double powerLineFrequency;
491  double maximumRange;
492  enum AGC_MODE_TYPE agcMode;
493  int numberBoards;
494  int numberSensors;
495  int numberTransmitters;
497  BOOL metric;
499 
501 {
503  union
504  {
505  struct
506  {
507  CHAR comport[64];
508  } rs232;
509  struct
510  {
511  USHORT port;
512  CHAR ipaddr[64];
513  } tcpip;
514  };
516 
517 typedef struct tagADAPTIVE_PARAMETERS
518 {
519  USHORT alphaMin[7];
520  USHORT alphaMax[7];
521  USHORT vm[7];
522  BOOL alphaOn;
524 
525 typedef struct tagQUALITY_PARAMETERS
526 {
532 
533 // New Drivebay system parameter structure(s)
534 typedef struct tagVPD_COMMAND_PARAMETER
535 {
536  USHORT address;
537  UCHAR value;
539 
540 typedef struct tagPOST_ERROR_PARAMETER
541 {
542  USHORT error;
543  UCHAR channel;
544  UCHAR fatal;
547 
548 typedef struct tagDIAGNOSTIC_TEST_PARAMETER
549 {
550  UCHAR suite; // User sets this, 0 - All Suites
551  UCHAR test; // User sets this, 0 - All Tests
552 
553  UCHAR suites; // set, returns suites run
554  // get, returns num of suites, not used for # test query
555  UCHAR tests; // set, returns tests run in the given suite
556  // get, returns num of tests for given suite, not used for suite query
557  PUCHAR pTestName; // User supplied ptr to 64 bytes, we fill it in
559 
560  USHORT diagError; // set only, result of diagnostic execution
562 
563 typedef struct tagBOARD_REVISIONS
564 {
565  USHORT boot_loader_sw_number; // example 3.1 -> revision is 3, number is 1
578 
580 {
581  AUXILIARY_PORT_TYPE auxstate[4]; // one state for each sensor port
583 
584 //
585 // Data formatting structures
586 //
587 typedef struct tagSHORT_POSITION
588 {
589  short x;
590  short y;
591  short z;
593 
594 typedef struct tagSHORT_ANGLES
595 {
596  short a; // azimuth
597  short e; // elevation
598  short r; // roll
600 
601 typedef struct tagSHORT_MATRIX
602 {
603  short s[3][3];
605 
606 typedef struct tagSHORT_QUATERNIONS
607 {
608  short q[4];
610 
611 typedef struct tagSHORT_POSITION_ANGLES
612 {
613  short x;
614  short y;
615  short z;
616  short a;
617  short e;
618  short r;
620 
621 typedef struct tagSHORT_POSITION_MATRIX
622 {
623  short x;
624  short y;
625  short z;
626  short s[3][3];
628 
629 typedef struct tagSHORT_POSITION_QUATERNION
630 {
631  short x;
632  short y;
633  short z;
634  short q[4];
636 
637 
638 
639 
640 
641 
642 
643 
644 typedef struct tagDOUBLE_POSITION
645 {
646  double x;
647  double y;
648  double z;
650 
651 typedef struct tagDOUBLE_ANGLES
652 {
653  double a; // azimuth
654  double e; // elevation
655  double r; // roll
657 
658 typedef struct tagDOUBLE_MATRIX
659 {
660  double s[3][3];
662 
663 typedef struct tagDOUBLE_QUATERNIONS
664 {
665  double q[4];
667 
668 typedef struct tagDOUBLE_POSITION_ANGLES
669 {
670  double x;
671  double y;
672  double z;
673  double a;
674  double e;
675  double r;
677 
678 typedef struct tagDOUBLE_POSITION_MATRIX
679 {
680  double x;
681  double y;
682  double z;
683  double s[3][3];
685 
686 typedef struct tagDOUBLE_POSITION_QUATERNION
687 {
688  double x;
689  double y;
690  double z;
691  double q[4];
693 
694 
695 
696 
697 
698 
699 
700 
701 typedef struct tagDOUBLE_POSITION_TIME_STAMP
702 {
703  double x;
704  double y;
705  double z;
706  double time;
708 
709 typedef struct tagDOUBLE_ANGLES_TIME_STAMP
710 {
711  double a; // azimuth
712  double e; // elevation
713  double r; // roll
714  double time;
716 
717 typedef struct tagDOUBLE_MATRIX_TIME_STAMP
718 {
719  double s[3][3];
720  double time;
722 
724 {
725  double q[4];
726  double time;
728 
730 {
731  double x;
732  double y;
733  double z;
734  double a;
735  double e;
736  double r;
737  double time;
739 
741 {
742  double x;
743  double y;
744  double z;
745  double s[3][3];
746  double time;
748 
750 {
751  double x;
752  double y;
753  double z;
754  double q[4];
755  double time;
757 
758 
759 
760 
761 
762 
763 
764 
765 
766 
767 typedef struct tagDOUBLE_POSITION_TIME_Q
768 {
769  double x;
770  double y;
771  double z;
772  double time;
773  USHORT quality;
775 
776 typedef struct tagDOUBLE_ANGLES_TIME_Q
777 {
778  double a; // azimuth
779  double e; // elevation
780  double r; // roll
781  double time;
782  USHORT quality;
784 
785 typedef struct tagDOUBLE_MATRIX_TIME_Q
786 {
787  double s[3][3];
788  double time;
789  USHORT quality;
791 
792 typedef struct tagDOUBLE_QUATERNIONS_TIME_Q
793 {
794  double q[4];
795  double time;
796  USHORT quality;
798 
800 {
801  double x;
802  double y;
803  double z;
804  double a;
805  double e;
806  double r;
807  double time;
808  USHORT quality;
810 
812 {
813  double x;
814  double y;
815  double z;
816  double s[3][3];
817  double time;
818  USHORT quality;
820 
822 {
823  double x;
824  double y;
825  double z;
826  double q[4];
827  double time;
828  USHORT quality;
830 
832 {
833  double x;
834  double y;
835  double z;
836  double a;
837  double e;
838  double r;
839  double time;
840  USHORT quality;
841  USHORT button;
843 
845 {
846  double x;
847  double y;
848  double z;
849  double s[3][3];
850  double time;
851  USHORT quality;
852  USHORT button;
854 
856 {
857  double x;
858  double y;
859  double z;
860  double q[4];
861  double time;
862  USHORT quality;
863  USHORT button;
865 
867 {
868  double x;
869  double y;
870  double z;
871  double a;
872  double e;
873  double r;
874  double s[3][3];
875  double q[4];
876  double time;
877  USHORT quality;
878  USHORT button;
880 
881 typedef struct tagSHORT_ALL_RECORD
882 {
883  short x;
884  short y;
885  short z;
886  short a; // azimuth
887  short e; // elevation
888  short r; // roll
889  short s[3][3];
890  short q[4];
892 
893 typedef struct tagDOUBLE_ALL_RECORD
894 {
895  double x;
896  double y;
897  double z;
898  double a; // azimuth
899  double e; // elevation
900  double r; // roll
901  double s[3][3];
902  double q[4];
904 
905 typedef struct tagDOUBLE_ALL_TIME_STAMP_RECORD
906 {
907  double x;
908  double y;
909  double z;
910  double a; // azimuth
911  double e; // elevation
912  double r; // roll
913  double s[3][3];
914  double q[4];
915  double time;
917 
919 {
920  double x;
921  double y;
922  double z;
923  double a; // azimuth
924  double e; // elevation
925  double r; // roll
926  double s[3][3];
927  double q[4];
928  double time;
929  USHORT quality;
931 
933 {
934  double x;
935  double y;
936  double z;
937  double a; // azimuth
938  double e; // elevation
939  double r; // roll
940  double s[3][3];
941  double q[4];
942  double time;
943  USHORT quality;
944  double raw[3][3];
946 
947 
948 
949 
950 /*****************************************************************************
951  FUNCTION PROTOTYPES
952  *****************************************************************************/
953 
954 /*
955  InitializeBIRDSystem Starts and initializes driver, resets
956  hardware and interrogates hardware. Builds
957  local database of system resources.
958 
959  Parameters Passed: none
960 
961  Return Value: error status
962 
963  Remarks: Can be used anytime a catastrophic failure
964  has occurred and the system needs to be
965  restarted.
966 
967 */
969 
970 /*
971  GetBIRDSystemConfiguration
972 
973  Parameters Passed: SYSTEM_CONFIGURATION*
974 
975  Return Value: error status
976 
977  Remarks: Returns SYSTEM_CONFIGURATION structure
978  It contains values equal to the number of
979  transmitters, sensors and boards detected
980  in the system. (The board information is for
981  test/diagnostic purposes, all commands
982  reference sensors and transmitters only) Once
983  the number of devices is known, (e.g. n) the
984  range of IDs for those devices becomes 0..(n-1)
985 */
987  SYSTEM_CONFIGURATION* systemConfiguration
988  );
989 
990 /*
991  GetTransmitterConfiguration
992 
993  Parameters Passed: USHORT transmitterID
994  TRANSMITTER_CONFIGURATION *transmitterConfiguration
995 
996  Return Value: error status
997 
998  Remarks: After getting system config the user can then pass
999  the index of a transmitter of interest to this function
1000  which will then return the config for that transmitter.
1001  Items of interest are the serial number and status.
1002 
1003 */
1005  USHORT transmitterID,
1006  TRANSMITTER_CONFIGURATION* transmitterConfiguration
1007  );
1008 
1009 /*
1010  GetSensorConfiguration
1011 
1012  Parameters Passed: USHORT sensorID,
1013  SENSOR_CONFIGURATION* sensorConfiguration
1014 
1015  Return Value: error status
1016 
1017  Remarks: Similar to the transmitter function.
1018 
1019 */
1020 
1022  USHORT sensorID,
1023  SENSOR_CONFIGURATION* sensorConfiguration
1024  );
1025 
1026 /*
1027  GetBoardConfiguration
1028 
1029  Parameters Passed: USHORT boardID,
1030  BOARD_CONFIGURATION* boardConfiguration
1031 
1032  Return Value: error status
1033 
1034  Remarks: Similar to the Sensor and Transmitter
1035  functions. Also returns information on
1036  how many sensors and transmitters are
1037  attached. NOTE: Board information is not
1038  needed during normal operation this is
1039  only provided for "accounting" purposes.
1040 
1041 */
1043  USHORT boardID,
1044  BOARD_CONFIGURATION* boardConfiguration
1045  );
1046 
1047 /*
1048  GetAsynchronousRecord
1049 
1050  Parameters Passed: USHORT sensorID,
1051  void *pRecord,
1052  int recordSize
1053 
1054  Return Value: error status
1055 
1056  Remarks: Returns data immediately in the currently
1057  selected format from the last measurement
1058  cycle. Requires user providing a buffer large
1059  enough for the result otherwise an error is
1060  generated and data lost.
1061  (Old style BIRD POINT mode)
1062 
1063 */
1064 
1066  USHORT sensorID,
1067  void *pRecord,
1068  int recordSize
1069  );
1070 
1071 /*
1072  GetSynchronousRecord
1073 
1074  Parameters Passed: USHORT sensorID,
1075  void *pRecord,
1076  int recordSize
1077 
1078  Return Value: error status
1079 
1080  Remarks: Returns a record after next measurement cycle. Puts
1081  system into mode where records are generated 1/cycle.
1082  Will return one and only one record per measurement
1083  cycle. Will queue the records for each measurement
1084  cycle if command not issued sufficiently often. If
1085  command issued too often will time-out with no data.
1086  (old style BIRD STREAM mode)
1087 
1088 */
1090  USHORT sensorID,
1091  void *pRecord,
1092  int recordSize
1093  );
1094 
1095 
1096 
1097 /*
1098  GetSystemParameter
1099 
1100  Parameters Passed: PARAMETER_TYPE parameterType,
1101  void *pBuffer,
1102  int bufferSize
1103 
1104  Return Value: error status
1105 
1106  Remarks: When a properly enumerated parameter type constant
1107  is used, the command will return the parameter value
1108  to the buffer provided by the user. An error is
1109  generated if the buffer is incorrectly sized
1110 
1111 */
1113  enum SYSTEM_PARAMETER_TYPE parameterType,
1114  void *pBuffer,
1115  int bufferSize
1116  );
1117 
1118 
1119 /*
1120  SetSystemParameter
1121 
1122  Parameters Passed: PARAMETER_TYPE parameterType,
1123  void *pBuffer,
1124  int bufferSize
1125 
1126  Return Value: error status
1127 
1128  Remarks: Similar to GetSystemParameter but allows user
1129  to set (write) the parameter.
1130 
1131 */
1133  enum SYSTEM_PARAMETER_TYPE parameterType,
1134  void *pBuffer,
1135  int bufferSize
1136  );
1137 
1138 
1139 /*
1140  GetSensorParameter
1141 
1142  Parameters Passed: USHORT sensorID,
1143  PARAMETER_TYPE parameterType,
1144  void *pBuffer,
1145  int bufferSize
1146 
1147  Return Value: error status
1148 
1149  Remarks: When a sensor is selected with a valid index (ID)
1150  and a properly enumerated parameter type constant
1151  is used, the command will return the parameter value
1152  to the buffer provided by the user. An error is
1153  generated if the buffer is incorrectly sized
1154 
1155 */
1157  USHORT sensorID,
1158  enum SENSOR_PARAMETER_TYPE parameterType,
1159  void *pBuffer,
1160  int bufferSize
1161  );
1162 
1163 
1164 /*
1165  SetSensorParameter
1166 
1167  Parameters Passed: USHORT sensorID,
1168  PARAMETER_TYPE parameterType,
1169  void *pBuffer,
1170  int bufferSize
1171 
1172  Return Value: error status
1173 
1174  Remarks: Similar to GetSensorParameter but allows user
1175  to set (write) the parameter.
1176 
1177 */
1179  USHORT sensorID,
1180  enum SENSOR_PARAMETER_TYPE parameterType,
1181  void *pBuffer,
1182  int bufferSize
1183  );
1184 
1185 
1186 /*
1187  GetTransmitterParameter
1188 
1189  Parameters Passed: USHORT transmitterID,
1190  PARAMETER_TYPE parameterType,
1191  void *pBuffer,
1192  int bufferSize
1193 
1194  Return Value: error status
1195 
1196  Remarks: Same as Sensor command
1197 
1198 */
1200  USHORT transmitterID,
1201  enum TRANSMITTER_PARAMETER_TYPE parameterType,
1202  void *pBuffer,
1203  int bufferSize
1204  );
1205 
1206 
1207 
1208 
1209 /*
1210  SetTransmitterParameter
1211 
1212  Parameters Passed: USHORT transmitterID,
1213  PARAMETER_TYPE parameterType,
1214  void *pBuffer,
1215  int bufferSize
1216 
1217  Return Value: error status
1218 
1219  Remarks: Same as sensor command
1220 
1221 */
1223  USHORT transmitterID,
1224  enum TRANSMITTER_PARAMETER_TYPE parameterType,
1225  void *pBuffer,
1226  int bufferSize
1227  );
1228 
1229 /*
1230  GetBIRDError
1231 
1232  Parameters Passed: none
1233 
1234  Return Value: error status
1235 
1236  Remarks: Returns next error in queue
1237  if available
1238 
1239 */
1241  void
1242  );
1243 
1244 #define GetPOSTError GetBIRDError
1245 #define GetDIAGError GetBIRDError
1246 
1247 /*
1248  GetErrorText
1249 
1250  Parameters Passed: int errorCode
1251  char *pBuffer
1252  int bufferSize
1253  int type
1254 
1255  Return Value: error status as a text string
1256 
1257  Remarks: ErrorCode contains the error code returned from
1258  either a command or in response to GetBIRDError
1259  and which is to be described by a text string.
1260  Pass a pointer pBuffer to a buffer to contain
1261  the result of the command. The size of the
1262  buffer is contained in bufferSize. The type
1263  parameter is an enumerated constant of
1264  the type MESSAGE_TYPE.
1265 
1266 */
1268  int errorCode,
1269  char *pBuffer,
1270  int bufferSize,
1271  enum MESSAGE_TYPE type
1272  );
1273 
1274 /*
1275 
1276 */
1278  USHORT sensorID
1279  );
1280 
1281 /*
1282 
1283 */
1285  USHORT transmitterID
1286  );
1287 
1288 /*
1289 
1290 */
1292  USHORT boardID
1293  );
1294 
1295 /*
1296 
1297 */
1299  // no id required
1300  );
1301 
1302 /*
1303 
1304 */
1306  LPCSTR lpFileName
1307  );
1308 
1309 /*
1310 
1311 */
1313  LPCSTR lpFileName
1314  );
1315 
1316 /*
1317 
1318 */
1320  USHORT boardID,
1321  enum BOARD_PARAMETER_TYPE parameterType,
1322  void *pBuffer,
1323  int bufferSize
1324  );
1325 
1326 /*
1327 
1328 */
1330  USHORT boardID,
1331  enum BOARD_PARAMETER_TYPE parameterType,
1332  void *pBuffer,
1333  int bufferSize
1334  );
1335 
1336 /*
1337 
1338 */
1339 ATC3DG_API int CloseBIRDSystem(void);
1340 
1341 
1342 
1343 
1344 #endif // ATC3DG_H
1345 
USHORT boot_loader_sw_revision
Definition: ATC3DGm.h:567
PORT_CONFIGURATION_TYPE
Definition: ATC3DG.h:314
struct tagADAPTIVE_PARAMETERS ADAPTIVE_PARAMETERS
ATC3DG_API int SetBoardParameter(USHORT boardID, enum BOARD_PARAMETER_TYPE parameterType, void *pBuffer, int bufferSize)
USHORT numberTransmitters
Definition: ATC3DGm.h:480
enum DEVICE_TYPES type
Definition: ATC3DGm.h:471
USHORT mdsp_sw_revision
Definition: ATC3DGm.h:569
Definition: ATC3DG.h:316
int BOOL
Definition: ATC3DG.h:443
AUXILIARY_PORT_TYPE auxstate[4]
Definition: ATC3DG.h:581
struct tagDOUBLE_POSITION_ANGLES_MATRIX_QUATERNION_TIME_Q_BUTTON_RECORD DOUBLE_POSITION_ANGLES_MATRIX_QUATERNION_TIME_Q_BUTTON_RECORD
unsigned short USHORT
Definition: ATC3DG.h:432
ATC3DG_API int SaveSystemConfiguration(LPCSTR lpFileName)
unsigned char UCHAR
Definition: ATC3DGm.h:438
unsigned short WORD
Definition: ATC3DG.h:447
Definition: ATC3DG.h:299
struct tagDOUBLE_ALL_TIME_STAMP_Q_RAW_RECORD DOUBLE_ALL_TIME_STAMP_Q_RAW_RECORD
Definition: ATC3DG.h:313
struct tagDOUBLE_QUATERNIONS_TIME_Q DOUBLE_QUATERNIONS_TIME_Q_RECORD
struct tagSENSOR_CONFIGURATION SENSOR_CONFIGURATION
#define ATC3DG_API
Definition: ATC3DG.h:39
USHORT dipole_sw_revision
Definition: ATC3DGm.h:577
struct tagCOMMUNICATIONS_MEDIA_PARAMETERS::@2::@4 rs232
USHORT alphaMin[7]
Definition: ATC3DGm.h:520
struct tagCOMMUNICATIONS_MEDIA_PARAMETERS::@2::@5 tcpip
unsigned char UCHAR
Definition: ATC3DG.h:436
ATC3DG_API int InitializeBIRDSystem(void)
struct tagBOARD_REVISIONS BOARD_REVISIONS
struct tagDOUBLE_QUATERNIONS_TIME_STAMP DOUBLE_QUATERNIONS_TIME_STAMP_RECORD
struct tagPOST_ERROR_PARAMETER POST_ERROR_PARAMETER
ATC3DG_API DEVICE_STATUS GetTransmitterStatus(USHORT transmitterID)
const CHAR * LPCSTR
Definition: ATC3DGm.h:444
struct tagDOUBLE_POSITION_TIME_STAMP DOUBLE_POSITION_TIME_STAMP_RECORD
struct tagDOUBLE_POSITION_ANGLES DOUBLE_POSITION_ANGLES_RECORD
double s[3][3]
Definition: ATC3DGm.h:649
USHORT sixdof_sw_number
Definition: ATC3DGm.h:574
double s[3][3]
Definition: ATC3DGm.h:874
struct tagVPD_COMMAND_PARAMETER VPD_COMMAND_PARAMETER
char * PSZ
Definition: ATC3DG.h:438
struct tagSHORT_POSITION_MATRIX SHORT_POSITION_MATRIX_RECORD
Definition: ATC3DG.h:301
struct tagDOUBLE_ALL_TIME_STAMP_RECORD DOUBLE_ALL_TIME_STAMP_RECORD
struct tagDOUBLE_POSITION_MATRIX DOUBLE_POSITION_MATRIX_RECORD
ATC3DG_API int GetBoardConfiguration(USHORT boardID, BOARD_CONFIGURATION *boardConfiguration)
struct tagSYSTEM_CONFIGURATION SYSTEM_CONFIGURATION
ATC3DG_API int SetSensorParameter(USHORT sensorID, enum SENSOR_PARAMETER_TYPE parameterType, void *pBuffer, int bufferSize)
struct tagBOARD_CONFIGURATION BOARD_CONFIGURATION
USHORT mdsp_sw_number
Definition: ATC3DGm.h:568
ATC3DG_API int GetSynchronousRecord(USHORT sensorID, void *pRecord, int recordSize)
ATC3DG_API int GetBoardParameter(USHORT boardID, enum BOARD_PARAMETER_TYPE parameterType, void *pBuffer, int bufferSize)
ATC3DG_API int GetBIRDSystemConfiguration(SYSTEM_CONFIGURATION *systemConfiguration)
struct tagSHORT_POSITION_QUATERNION SHORT_POSITION_QUATERNION_RECORD
unsigned char BYTE
Definition: ATC3DG.h:446
struct tagDOUBLE_POSITION_MATRIX_STAMP_RECORD DOUBLE_POSITION_MATRIX_TIME_STAMP_RECORD
USHORT dipole_sw_number
Definition: ATC3DGm.h:576
Definition: ATC3DG.h:292
char CHAR
Definition: ATC3DGm.h:443
struct tagSHORT_QUATERNIONS SHORT_QUATERNIONS_RECORD
BOARD_PARAMETER_TYPE
Definition: ATC3DGm.h:266
UCHAR * PUCHAR
Definition: ATC3DGm.h:439
const CHAR * LPCSTR
Definition: ATC3DG.h:442
struct tagDOUBLE_POSITION DOUBLE_POSITION_RECORD
TRANSMITTER_PARAMETER_TYPE
Definition: ATC3DGm.h:233
BOARD_TYPES
Definition: ATC3DGm.h:388
struct tagAUXILIARY_PORT_PARAMETERS AUXILIARY_PORT_PARAMETERS
ULONG * PULONG
Definition: ATC3DG.h:431
struct tagDOUBLE_POSITION_QUATERNION_TIME_Q_BUTTON_RECORD DOUBLE_POSITION_QUATERNION_TIME_Q_BUTTON_RECORD
ATC3DG_API int GetTransmitterParameter(USHORT transmitterID, enum TRANSMITTER_PARAMETER_TYPE parameterType, void *pBuffer, int bufferSize)
struct tagDOUBLE_POSITION_MATRIX_TIME_Q_RECORD DOUBLE_POSITION_MATRIX_TIME_Q_RECORD
short s[3][3]
Definition: ATC3DGm.h:862
ATC3DG_API int CloseBIRDSystem(void)
struct tagDOUBLE_MATRIX_TIME_Q DOUBLE_MATRIX_TIME_Q_RECORD
struct tagDOUBLE_QUATERNIONS DOUBLE_QUATERNIONS_RECORD
USHORT sixdof_sw_revision
Definition: ATC3DGm.h:575
struct tagSHORT_POSITION_ANGLES SHORT_POSITION_ANGLES_RECORD
struct tagQUALITY_PARAMETERS QUALITY_PARAMETERS
MESSAGE_TYPE
Definition: ATC3DGm.h:227
USHORT fivedof_sw_number
Definition: ATC3DGm.h:572
struct tagDOUBLE_POSITION_QUATERNION_TIME_Q_RECORD DOUBLE_POSITION_QUATERNION_TIME_Q_RECORD
SYSTEM_PARAMETER_TYPE
Definition: ATC3DGm.h:280
ATC3DG_API int GetBIRDError(void)
struct tagDOUBLE_ANGLES_TIME_Q DOUBLE_ANGLES_TIME_Q_RECORD
FILTER_OPTION
Definition: ATC3DGm.h:307
struct tagDOUBLE_POSITION_ANGLES_TIME_Q_BUTTON_RECORD DOUBLE_POSITION_ANGLES_TIME_Q_BUTTON_RECORD
struct tagDOUBLE_ANGLES DOUBLE_ANGLES_RECORD
Definition: ATC3DG.h:315
Definition: ATC3DG.h:312
struct tagCOMMUNICATIONS_MEDIA_PARAMETERS COMMUNICATIONS_MEDIA_PARAMETERS
ULONG DEVICE_STATUS
Definition: ATC3DGm.h:447
ATC3DG_API int GetTransmitterConfiguration(USHORT transmitterID, TRANSMITTER_CONFIGURATION *transmitterConfiguration)
double s[3][3]
Definition: ATC3DGm.h:760
Definition: ATC3DG.h:285
AGC_MODE_TYPE
Definition: ATC3DGm.h:323
struct tagDOUBLE_POSITION_QUATERNION DOUBLE_POSITION_QUATERNION_RECORD
struct tagTRANSMITTER_CONFIGURATION TRANSMITTER_CONFIGURATION
COMMUNICATIONS_MEDIA_TYPE mediaType
Definition: ATC3DGm.h:503
short s[3][3]
Definition: ATC3DGm.h:599
unsigned short USHORT
Definition: ATC3DGm.h:434
struct tagDOUBLE_ALL_TIME_STAMP_Q_RECORD DOUBLE_ALL_TIME_STAMP_Q_RECORD
ATC3DG_API int GetSensorParameter(USHORT sensorID, enum SENSOR_PARAMETER_TYPE parameterType, void *pBuffer, int bufferSize)
USHORT alphaMax[7]
Definition: ATC3DGm.h:521
SHORT * PSHORT
Definition: ATC3DG.h:435
USHORT fivedof_sw_revision
Definition: ATC3DGm.h:573
struct tagDOUBLE_ANGLES_TIME_STAMP DOUBLE_ANGLES_TIME_STAMP_RECORD
AUXILIARY_PORT_TYPE
Definition: ATC3DG.h:321
ATC3DG_API int GetErrorText(int errorCode, char *pBuffer, int bufferSize, enum MESSAGE_TYPE type)
Definition: ATC3DG.h:300
struct tagDIAGNOSTIC_TEST_PARAMETER DIAGNOSTIC_TEST_PARAMETER
ATC3DG_API int GetSensorConfiguration(USHORT sensorID, SENSOR_CONFIGURATION *sensorConfiguration)
unsigned long ULONG
Definition: ATC3DGm.h:432
USHORT nondipole_sw_revision
Definition: ATC3DGm.h:571
char CHAR
Definition: ATC3DG.h:441
ULONG DEVICE_STATUS
Definition: ATC3DG.h:444
USHORT nondipole_sw_number
Definition: ATC3DGm.h:570
struct tagDOUBLE_MATRIX_TIME_STAMP DOUBLE_MATRIX_TIME_STAMP_RECORD
struct tagDOUBLE_POSITION_MATRIX_TIME_Q_BUTTON_RECORD DOUBLE_POSITION_MATRIX_TIME_Q_BUTTON_RECORD
COMMUNICATIONS_MEDIA_TYPE
Definition: ATC3DGm.h:299
enum DEVICE_TYPES type
Definition: ATC3DGm.h:462
enum BOARD_TYPES type
Definition: ATC3DGm.h:478
struct tagDOUBLE_POSITION_TIME_Q DOUBLE_POSITION_TIME_Q_RECORD
Definition: ATC3DG.h:314
unsigned long ULONG
Definition: ATC3DG.h:430
short SHORT
Definition: ATC3DGm.h:436
enum AGC_MODE_TYPE agcMode
Definition: ATC3DGm.h:493
HEMISPHERE_TYPE
Definition: ATC3DGm.h:313
ATC3DG_API int SetTransmitterParameter(USHORT transmitterID, enum TRANSMITTER_PARAMETER_TYPE parameterType, void *pBuffer, int bufferSize)
struct tagSHORT_ALL_RECORD SHORT_ALL_RECORD
Definition: ATC3DG.h:317
ATC3DG_API int SetSystemParameter(enum SYSTEM_PARAMETER_TYPE parameterType, void *pBuffer, int bufferSize)
ATC3DG_API DEVICE_STATUS GetBoardStatus(USHORT boardID)
unsigned long DWORD
Definition: ATC3DG.h:448
USHORT * PUSHORT
Definition: ATC3DG.h:433
struct tagDOUBLE_POSITION_ANGLES_TIME_STAMP DOUBLE_POSITION_ANGLES_TIME_STAMP_RECORD
UCHAR * PUCHAR
Definition: ATC3DG.h:437
ATC3DG_API int RestoreSystemConfiguration(LPCSTR lpFileName)
USHORT boot_loader_sw_number
Definition: ATC3DGm.h:566
DATA_FORMAT_TYPE
Definition: ATC3DGm.h:329
struct tagSHORT_ANGLES SHORT_ANGLES_RECORD
ATC3DG_API DEVICE_STATUS GetSensorStatus(USHORT sensorID)
ATC3DG_API int GetAsynchronousRecord(USHORT sensorID, void *pRecord, int recordSize)
struct tagDOUBLE_ALL_RECORD DOUBLE_ALL_RECORD
const CHAR * PCSTR
Definition: ATC3DG.h:442
DEVICE_TYPES
Definition: ATC3DGm.h:405
ATC3DG_API int GetSystemParameter(enum SYSTEM_PARAMETER_TYPE parameterType, void *pBuffer, int bufferSize)
struct tagSHORT_POSITION SHORT_POSITION_RECORD
SENSOR_PARAMETER_TYPE
Definition: ATC3DGm.h:244
USHORT error_sensitivity
Definition: ATC3DGm.h:530
int BOOL
Definition: ATC3DGm.h:446
char modelString[10]
Definition: ATC3DGm.h:484
BIRD_ERROR_CODES
Definition: ATC3DGm.h:92
struct tagSHORT_MATRIX SHORT_MATRIX_RECORD
struct tagDOUBLE_MATRIX DOUBLE_MATRIX_RECORD
struct tagDOUBLE_POSITION_QUATERNION_STAMP_RECORD DOUBLE_POSITION_QUATERNION_TIME_STAMP_RECORD
ATC3DG_API DEVICE_STATUS GetSystemStatus()
short SHORT
Definition: ATC3DG.h:434
struct tagDOUBLE_POSITION_ANGLES_TIME_Q_RECORD DOUBLE_POSITION_ANGLES_TIME_Q_RECORD