00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #define DAT0_FRAME 0
00024 #define DAT1_FRAME 1
00025 #define TIME_FRAME 2
00026 #define OFFSET_FRAME 3
00027 #define INFO_FRAME 4
00028 #define GPST_FRAME 5
00029 #define MISC_FRAME 6
00030 #define DAT2_FRAME 7
00031
00032
00037 #define frame2i32_64(frame, offset) ( ((int64_t)(frame[offset])<<24)+((int64_t)(frame[offset+1])<<16)+((int64_t)(frame[offset+2])<<8)+(int64_t)(frame[offset+3]) )
00038
00043 #define frame2i32(frame, offset) ( (frame[offset]<<24)+(frame[offset+1]<<16)+(frame[offset+2]<<8)+frame[offset+3] )
00044
00049 #define frame2i24_64(frame, offset) ( ((int64_t)(frame[offset])<<16)+((int64_t)(frame[offset+1])<<8)+(int64_t)(frame[offset+2]) )
00050
00055 #define frame2i24(frame, offset) ( (frame[offset]<<16)+(frame[offset+1]<<8)+frame[offset+2] )
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00070 #define frame2i16(frame, offset) ( (frame[offset]<<8)+frame[offset+1] )
00071
00072
00073 unsigned char ProcessMiscFrame(const unsigned char *frame);
00074 unsigned char ProcessInfoFrame(const unsigned char *frame);
00075 int64_t ProcessDataFrame(const unsigned char *frame);
00076 unsigned char ProcessTimeFrame(const unsigned char *frame);
00077 unsigned char ProcessOffsetFrame(const unsigned char *frame);