123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- #ifndef SYNC_MSG_DEF
- #define SYNC_MSG_DEF
- #define LENGTH_MSG_1K 1024
- #define LENGTH_MSG_2K 2048 // Êý¾Ý°ü×î´ó³¤¶È
- #define LENGTH_MSG_4K 4096
- #define LENGTH_MSG_8K 8192 //
- #define LENGTH_MSG_1M 1048476 // 1024 * 1024
- #define LENGTH_MSG_4M 4194304 // 4096 * 1024
- #define LENGTH_SEND_BUF 256 //
- #define LENGTH_SQL 2000
- #define MSG_LENGTH_MAX LENGTH_MSG_2K
- #pragma pack(1)
- typedef unsigned char BYTE; // 8-bit byte
- typedef unsigned int UINT; // 32-bit word, change to "long" for 16-bit machines
- typedef unsigned long long UINT64;
- typedef unsigned int UINT32;
- typedef unsigned short UINT16;
- typedef unsigned char UINT8;
- typedef signed long long INT64;
- typedef signed int INT32;
- typedef signed short INT16;
- typedef signed char INT8;
- typedef struct
- {
- INT16 MsgLen;
- UINT16 MsgCode;
- }MsgHeader;
- typedef struct
- {
- MsgHeader Header;
- UINT8 MsgBody[MSG_LENGTH_MAX];
- }SyncAndLocateMsg;
- typedef struct
- {
- UINT32 LocalAnchorNum;
- UINT8 LocalAntNum;
- UINT32 UpperAnchorNum;
- UINT8 UpperAntNum;
- UINT16 SyncNum;
- UINT16 SyncLevel;
- UINT8 SendTimeStamp[5];
- UINT8 ReceiveTimeStamp[5];
- }SyncMsgData;
- typedef struct
- {
- MsgHeader Header;
- SyncMsgData MsgData;
- UINT16 CRCInfo;
- }SyncMsgSingleRoot;
- typedef struct
- {
- UINT32 LocalAnchorNum;
- UINT8 LocalAntNum;
- UINT32 UpperAnchorNum;
- UINT8 UpperAntNum;
- UINT16 SyncNum;
- UINT16 SyncLevel;
- UINT8 SendTimeStamp[5];
- UINT8 ReceiveTimeStamp[5];
- UINT32 RootAnchorNum;
- UINT8 RootAntNum;
- }SyncMsgMultiRootData;
- typedef struct
- {
- MsgHeader Header;
- SyncMsgMultiRootData MsgData;
- UINT16 CRCInfo;
- }SyncMsgMultiRoot;
- typedef struct
- {
- UINT32 AnchorNum;
- UINT16 MsgSerialNum;
- UINT8 AnchorTime[7];
- INT8 Temperature;
- UINT16 State;
- }LocateAnchorInfo;
- typedef struct
- {
- UINT8 CardType;
- UINT32 CardId;
- UINT16 MsgSerialNum;
- //struct{
- // unsigned msg_type:4;
- // unsigned batter_info:4;
- //}MsgTypeAndBatterInfo;
- UINT8 MsgType_BatterInfo;
- UINT8 Reserved;
- INT8 AccelerateSpeed;
- UINT8 LocateTimeStamp[5];
- UINT8 AntNum;
- UINT16 SyncNum;
- UINT16 SingleStrength;
- }CardInfo;
- typedef struct
- {
- UINT8 CardType;
- UINT32 CardId;
- UINT16 MsgSerialNum;
- //struct
- //{
- // int MsgType:4;
- // int BatterInfo:4;
- //}MsgType_BatterInfo;
- UINT8 MsgType_BatterInfo;
- UINT8 Reserved;
- INT8 AccelerateSpeed;
- UINT8 LocateTimeStamp[5];
- UINT8 AntNum;
- }TofCardInfo;
- typedef struct
- {
- UINT8 CardType;
- UINT32 CardId;
- UINT16 INAVPeriod;
- INT16 MagneticData_X;
- INT16 MagneticData_Y;
- INT16 MagneticData_Z;
- INT16 AccerateData_X;
- INT16 AccerateData_Y;
- INT16 AccerateData_Z;
- INT16 Gyroscope_X;
- INT16 Gyroscope_Y;
- INT16 Gyroscope_Z;
- INT16 Displacement_X;
- INT16 Displacement_Y;
- INT16 Displacement_Z;
- INT16 AngleChange_X;
- INT16 AngleChange_Y;
- INT16 AngleChange_Z;
- }INAVLocateData;
- typedef struct
- {
- MsgHeader Header;
- LocateAnchorInfo AnchorInfo;
- CardInfo CardData[50];
-
- }CardLocateMsg;
- typedef struct
- {
- MsgHeader Header;
- LocateAnchorInfo AnchorInfo;
- TofCardInfo TofCardInfo[50];
- UINT16 CRCInfo;
- }TofLocateMsg;
- #define INAV_TAG_NUM 40
- typedef struct
- {
- MsgHeader Header;
- LocateAnchorInfo AnchorInfo;
- INAVLocateData INAVLocateInfo[INAV_TAG_NUM];
- UINT16 CRCInfo;
- }INAVLocateMsg;
- enum INAV_MOVING_STATUS
- {
- INAV_STATIC = 0,
- INAV_MOVING
- };
- enum INAV_DIRECTORY
- {
- INAV_NO_DIRECTORY = 10,
- INAV_FORWARD,
- INAV_BACKWARD,
- INAV_LEFTWARD,
- INAV_RIGHTWARD
- };
- enum INAV_ACCERATE_STATUS
- {
- INAV_NO_ACCERATE = 100,
- INAV_ACCERATE,
- INAV_SLOW_DOWN
- };
- typedef struct
- {
- INAV_MOVING_STATUS Status;
- INAV_DIRECTORY Directory;
- INAV_ACCERATE_STATUS AccerateStatus;
- }INAV_STATUS;
- #define GRAVITY_ACCERATION 9.8
- #define INAV_READING_MAX 32768
- const double DISPLACEMENT_THRESHOLD = 100;
- const double JOIN_ACCERATE_THRESHOLD = 0.3;
- const double MOVING_THRESHOLD = 1.2;
- const int DISPLACE_MENT_MOVING_THRESHOLD = 45;
- #endif
|