123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- #ifndef __MESSAGE_HPP__
- #define __MESSAGE_HPP__
- #include <stdint.h>
- #include <time.h>
- #include "worker.h"
- #include "protocol.h"
- struct zistream;
- struct message_site{
- uint16_t m_time_stamp;
- time_t m_site_time;
- uint32_t m_site_id;
- uint8_t m_status;
- uint8_t m_reverse;
- uint8_t m_power_status;
- message_site():m_time_stamp(0), m_site_time(0), m_site_id(0), m_status(0), m_reverse(0), m_power_status(0)
- {}
- void clear()
- {
- m_time_stamp = m_site_time = m_site_id = m_status = m_reverse = m_power_status = 0;
- }
- };
- struct message_tdoa_card{
- uint8_t m_type;
- uint32_t m_id;
- uint16_t m_time_stamp;
- uint8_t m_battery_status;
- uint8_t m_call_info;
- int8_t m_rav;
- float m_acc;
- uint64_t m_loc_stamp;
- uint8_t m_ant_id;
- uint16_t m_sync_num;
- int16_t m_rssi;
- int16_t m_strength;
- int16_t m_rxpacc;
-
- int16_t m_acc_data[3];
- int16_t m_rav_data[3];
- uint8_t m_walk_steps;
- uint8_t m_jump_counts;
- uint8_t m_hang_time;
- uint8_t m_hang_height;
- message_tdoa_card():m_type(0), m_id(0), m_time_stamp(0), m_battery_status(0), m_call_info(0), m_rav(0), m_acc(0), m_loc_stamp(0), m_ant_id(0), m_sync_num(0), m_rssi(0), m_strength(0), m_rxpacc(0), m_walk_steps(0), m_jump_counts(0), m_hang_time(0), m_hang_height(0)
- {
- m_acc_data[0] = m_acc_data[1] = m_acc_data[2] = 0;
- m_rav_data[0] = m_rav_data[1] = m_rav_data[2] = 0;
- }
- int64_t get_long_id()const
- {
- return (((int64_t)m_type) << 32) | m_id;
- }
- void clear()
- {
- m_type = m_id = m_time_stamp = m_battery_status =
- m_call_info = m_rav = m_acc = m_loc_stamp = m_ant_id =
- m_sync_num = m_rssi = m_strength = m_rxpacc = m_walk_steps =
- m_jump_counts = m_hang_time = m_hang_height = 0;
- }
- };
- struct message_loc{
- virtual void zero_this() = 0;
- virtual void load(zistream& is, uint16_t& cmd) = 0;
- virtual int64_t long_id()const = 0;
- };
- struct message_tdoa_locinfo:task{
- message_site m_site_msg;
- message_tdoa_card m_card_msg;
- uint64_t m_interpolation;
- uint8_t m_loc_type;
- uint8_t m_loc_dimension;
- virtual void zero_this();
- virtual void load(zistream& is, uint16_t& cmd);
- virtual int64_t long_id()const
- {
- return m_card_msg.get_long_id();
- }
- };
- struct message_locinfo:task
- {
- uint64_t m_time_stamp;
- time_t m_site_time;
- uint64_t m_time_tmp;
- uint64_t m_tof;
- uint32_t m_site_id;
- uint32_t m_card_type;
- uint32_t m_card_id;
- uint16_t m_card_ct;
- uint8_t m_batty_status;
- uint8_t m_callinfo;
- int8_t m_rav;
-
- float m_acc;
- uint8_t m_ant_id;
- uint16_t m_sync_ct;
- int16_t m_rssi;
-
- float m_distance;
- uint8_t m_loc_type;
-
- void zero_this();
- void load(zistream&is,bool tdoa);
- void set_rav(uint8_t rav){m_rav=rav;}
- static std::vector<task*> load_opt(zistream&is);
- static task* clone(message_locinfo* ml);
- int64_t long_id()const
- {
- return (((int64_t)m_card_type)<<32)|m_card_id;
- }
- };
- struct message_tdoasync:task
- {
- uint32_t m_local_site_id;
- uint32_t m_parent_site_id;
- uint16_t m_local_ant_id;
- uint16_t m_parent_ant_id;
- uint16_t m_sync_num;
- uint16_t m_local_level;
- uint64_t m_recv_time;
- uint64_t m_send_time;
- uint64_t m_root_site_id;
- uint16_t m_root_ant_id;
- void zero_this();
- void load(zistream&is);
- };
- struct message_pdoa_locinfo: public message_locinfo{
- uint8_t m_loc_type;
- uint8_t m_loc_dimension;
- float m_poa[3];
-
- void zero_this();
- void load(zistream& is);
- };
- struct message_light: task{
- uint32_t m_light_id;
- uint8_t m_type;
- uint16_t m_stamp;
- uint64_t m_recv_time;
- uint8_t m_status;
- message_light(): m_light_id(0), m_type(0), m_stamp(0), m_recv_time(0), m_status(0)
- {}
- message_light(const uint32_t& lid, const uint16_t& type, const uint8_t& stamp, const uint64_t& rtime): m_status(0)
- {}
- };
- #endif
|