/elekIOServ/elekIOServ.h

http://github.com/Yniold/liftsrc · C Header · 102 lines · 37 code · 23 blank · 42 comment · 0 complexity · dc2a22137e9ed64f95f5307fd3588b92 MD5 · raw file

  1. // ============================================
  2. // elekIOServ.h
  3. // Headerfile
  4. // ============================================
  5. // $RCSfile: elekIOServ.h,v $ last changed on $Date: 2006/09/04 10:47:22 $ by $Author: rudolf $
  6. // History:
  7. //
  8. // $Log: elekIOServ.h,v $
  9. // Revision 1.14 2006/09/04 10:47:22 rudolf
  10. // fixed compiler warning for GCC 4.03
  11. //
  12. // Revision 1.13 2005/12/14 13:53:27 rudolf
  13. // GABRIEL campaign changes
  14. //
  15. // Revision 1.12 2005/09/21 21:02:48 rudolf
  16. // fixed Latitude and Longitude parsing, changed tty to S1
  17. //
  18. // Revision 1.11 2005/06/27 10:12:42 rudolf
  19. // changed TimerStates numbering (HH), fixed bug
  20. //
  21. // Revision 1.10 2005/06/26 13:02:17 rudolf
  22. // added time limit for answer from slave
  23. //
  24. // Revision 1.9 2005/06/08 17:31:51 rudolf
  25. // prepared sockets for sending the data structure between master and slave
  26. //
  27. // Revision 1.8 2005/05/22 15:02:43 rudolf
  28. // changed BaudRate and ttyX, changed debug output if commands are sent via eCmd
  29. //
  30. // Revision 1.7 2005/04/21 15:59:21 rudolf
  31. // fixed stupid typo
  32. //
  33. // Revision 1.6 2005/04/21 15:51:52 rudolf
  34. // fix for ARM version
  35. //
  36. // Revision 1.5 2005/01/31 09:49:31 rudolf
  37. // more work on GPS
  38. //
  39. #ifdef RUNONPC
  40. #define SIGNAL_STATUS SIGRTMAX
  41. #else
  42. #define SIGNAL_STATUS SIGALRM
  43. #endif
  44. #define MAX_AGE_SLAVE_STATUS 0.06 // time that a status package is valid after init req.
  45. #define MAX_TASKS_TO_WAKE 10
  46. enum TimerSignalStateEnum { // states of signal timer
  47. TIMER_SIGNAL_STATE_INITIAL=-1, // wait for signal to occur
  48. TIMER_SIGNAL_STATE_GATHER, // wake up and gather data
  49. TIMER_SIGNAL_STATE_REQ, // request data from slave and instruments
  50. TIMER_SIGNAL_STATE_MAX
  51. };
  52. typedef unsigned char BOOL;
  53. struct TaskListType {
  54. char TaskName[MAX_PORT_NAME_LEN];
  55. int TaskConn;
  56. int TaskWantStatusOnPort;
  57. }; /* TaskListType */
  58. struct SyncFlagType {
  59. BOOL MaskChange;
  60. }; /*SyncFlagType */
  61. #define MAXSLAVES 3
  62. /* struct to keep a list of slaves */
  63. struct SlaveListType {
  64. char *SlaveName; /* name for debug messages */
  65. char *SlaveIP; /* IP Address */
  66. };
  67. // ========================
  68. // Globals for GPS
  69. // ========================
  70. char port[256] = "/dev/ttyS1"; // serial device used for the incoming GPS data
  71. unsigned char pDataBuffer[1024];
  72. char aProgramName[] = "GPS"; // needed for serial.c 's debug output
  73. char *progname = (char *) aProgramName; // export pointer to debug string
  74. int verbose = 255; // be very verbose
  75. long baud = 4800; // serial baudrate
  76. long baudmaster= 38400; // baudrate master
  77. volatile char ucDataReadyFlag = 0; // Data ready flag
  78. int fdGPS = -1; // file descriptor for serial communication
  79. char ucPortOpened = 0; // flag for the timer routine wether port is available or not