xinbiao.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #ifndef _XINBIAO_H_
  2. #define _XINBIAO_H_
  3. #define XINBIAO_NUM 100
  4. #define XINBIAO_FILE "/ext/prepack/xinbiao"
  5. #define LEADER_FILE "/ext/prepack/leader"
  6. /*
  7. 信标协议 cmd 00 通用
  8. 0a 摇晕 只收不发
  9. a0 解除摇晕
  10. 0b 摇毙 不收不发
  11. b0 解除摇毙
  12. 0c 强制打开GPS
  13. */
  14. #define NULLCMD 0x00
  15. #define YAOYUN 0xa0
  16. #define UNYAOYUN 0x0a
  17. #define YAOBI 0x0b
  18. #define UNYAOBI 0xb0
  19. #define GPSALLON 0x0c
  20. #define DISABLE_YAOYUN "FFFFFFFF"
  21. #define DISABLE_YAOBI "EEEEEEEE"
  22. #define DISABLE_GPS "DDDDDDDD"
  23. #define MAX_USER 100
  24. typedef struct{
  25. unsigned int xb_id;// 结构体index 也做作为mark
  26. unsigned char xb_Firm_CallId[9]; //用户定义呼号
  27. unsigned int xb_CallID;
  28. unsigned char xb_CallName[26];
  29. unsigned int xb_longitue;//经度
  30. unsigned int xb_latitue;//纬度
  31. unsigned int xb_heading;//航向
  32. unsigned int xb_headerSpeed;
  33. unsigned short xb_elevation;//海拔
  34. unsigned short xb_dir;//相对方向
  35. double xb_distance; //相对距离
  36. }SUT_XINBIAO_PAGE;
  37. extern SUT_XINBIAO_PAGE sut_xinbiaopage[XINBIAO_NUM];
  38. extern SUT_XINBIAO_PAGE New_xinbiaopage;
  39. typedef struct{
  40. unsigned char Max_id;//最大值
  41. }SUT_XINBIAO_INFO;
  42. typedef struct{
  43. int id;
  44. char UserName[26];
  45. char Status;
  46. }USERARR;
  47. typedef struct{
  48. char status;
  49. int id;
  50. }LEADER;
  51. extern SUT_XINBIAO_INFO sut_xinbiao_info;
  52. extern USERARR UserArr[MAX_USER];
  53. extern LEADER leader[XINBIAO_NUM];
  54. void Recv_PackNewxinbiaopage(char*msg);
  55. void XinbiaoPackSend(char cmd);
  56. void Xinbiao_handler(unsigned int interval);
  57. double GetDirectDistance(double srcLon, double srcLat, double destLon, double destLat);
  58. double GetBearing(double lat1, double lng1, double lat2, double lng2);
  59. /*
  60. 首长功能
  61. */
  62. signed char Record_Leader_CurIndex();
  63. char Record_Leader_Scanf(int id);
  64. void Record_Leader_Status(char type);
  65. void LeaderPackSend(char cmd,char type);
  66. void LeaderRecv_handler(char*msg,char type);
  67. void ReadLeaderFile();
  68. void WriteLeaderFile();
  69. double rad(double d);
  70. #endif