message.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef _MESSAGE_HPP_
  2. #define _MESSAGE_HPP_
  3. #include "zstream.h"
  4. NAMESPACE_POINT_BEGIN(NAMESPACE_POINT)
  5. struct package
  6. {
  7. zistream m_is;
  8. int64_t m_recv_time;
  9. uint16_t m_len;
  10. uint16_t m_cmd_id;
  11. uint16_t m_crc;
  12. package(const void*d,uint64_t recv_time);
  13. };
  14. struct loc_info
  15. {
  16. int64_t m_loc_time;//timestamp ms
  17. uint32_t m_card_id;//id
  18. int32_t m_tof; //fly time
  19. int32_t m_card_ct; //ct
  20. uint16_t m_cmd_id; //message type
  21. int8_t m_card_type;//card_type
  22. int8_t m_bat_level;//battery state
  23. int8_t m_ant_id; //ant_id
  24. int16_t m_rav; //recv angle
  25. int16_t m_acc; // acc
  26. float m_card_sp;//recv_signal_power
  27. loc_info(uint32_t cmd_id, uint64_t loc_time,const void*d);
  28. loc_info()
  29. {}
  30. int ant_id()const
  31. {
  32. return m_ant_id;
  33. }
  34. int ct()const
  35. {
  36. return (unsigned)m_card_ct;
  37. }
  38. // static loc_info*init(uint64_t loc_time,const void*d,loc_info*b);
  39. };
  40. struct loc_package:package
  41. {
  42. time_t m_sit_time;
  43. uint32_t m_sit_id;
  44. uint16_t m_sit_ct;
  45. uint8_t m_sit_temp;
  46. uint16_t m_sit_status;
  47. int16_t m_card_count;
  48. const uint8_t *m_card_data;
  49. loc_package(uint64_t recv_time,const void*data);
  50. uint32_t id()const
  51. {
  52. return m_sit_id;
  53. }
  54. int count()const
  55. {
  56. return m_card_count;
  57. }
  58. int ct()const
  59. {
  60. return (uint32_t)m_sit_ct;
  61. }
  62. int bytes_per_card()const
  63. {
  64. if(m_cmd_id==0x843b)
  65. return 20;
  66. if(m_cmd_id==0x753b)
  67. return 16;
  68. return 0;
  69. }
  70. loc_info get(int index)const;
  71. };
  72. NAMESPACE_POINT_END(NAMESPACE_POINT)
  73. #endif