home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / descent / source / lib / tracker.h < prev    next >
C/C++ Source or Header  |  1998-06-08  |  2KB  |  55 lines

  1. /*
  2. THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
  3. SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
  4. END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
  5. ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
  6. IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
  7. SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
  8. FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
  9. CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
  10. AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
  11. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
  12. */
  13. /* tracker.h */
  14. /* Created 12/12/94 */
  15. #ifndef TRACKER_H
  16. #define TRACKER_H
  17.  
  18. typedef enum {TP_COM1,TP_COM2,TP_COM3,TP_COM4} TrackerPort;
  19. typedef enum {
  20.   TS_OK,TS_NO_SERIAL,TS_NO_TRACKER,TS_TIMEOUT,
  21.   TS_CHECKSUM,TS_HEADER,TS_WRITEVERIFY,TS_INVALID,TS_CMD_ERROR
  22. } TrackerStatus;
  23.  
  24. typedef struct {
  25.   void * sd;  // Serial Data
  26.   vec3 magnetic;
  27.   vec2 gravimetric;
  28.   vec3 euler;
  29.   vec3 magOff;
  30.   vec3 magGain;
  31.   vec2 grvOff;
  32.   vec2 grvGain;
  33.   long magFilts;
  34.   long grvFilts;
  35. } TrackerData;
  36.  
  37. extern long debugTrackerIO;
  38.  
  39. TrackerStatus initTracker(TrackerData * td,TrackerPort port,long comRate,long timeout);
  40. void closeTracker(TrackerData * td);
  41. TrackerStatus readPacket(TrackerData * td,char * data,long size,long timeout);
  42. TrackerStatus readTracker(TrackerData * td,long timeout);
  43. TrackerStatus readTrackerEuler(TrackerData * td,long timeout);
  44. void writeSerString(TrackerData * td,char * s);
  45. void requestTrackerData(TrackerData * td);
  46. char * trackerInfo(TrackerStatus ts);
  47.  
  48. TrackerStatus resetTracker(TrackerData * td,long timeout);
  49. TrackerStatus sendTrackerCMD(TrackerData * td,char * cmd,long timeout);
  50. TrackerStatus getTrackerResponse(TrackerData * td,long timeout);
  51.  
  52. #endif
  53.  
  54. /* tracker.h */
  55.