libgpsfile  0.2.2
some useful C-functions
_gps_data_file_v0.h File Reference
#include <stdint.h>
#include <math.h>
Include dependency graph for _gps_data_file_v0.h:

Go to the source code of this file.

Macros

#define _GPS_SPEC_HAVE_ACCURACY   0
 
#define _GPS_SPEC_VERSION   0
 
#define LAT_GPS_SPEC_DIFF_MAX   (pow(2,_GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_SIZE) - 1)
 
#define LNG_GPS_SPEC_DIFF_MAX   (pow(2, _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_SIZE) - 1)
 
#define ALT_GPS_SPEC_DIFF_MAX   (pow(2, _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_SIZE) - 1)
 
#define TIME_GPS_SPEC_DIFF_MAX   (pow(2, _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_SIZE) - 1)
 
#define LAT_GPS_SPEC_MULTIPIER   (pow(10, 6))
 
#define LNG_GPS_SPEC_MULTIPIER   (pow(10, 6))
 
#define ALT_GPS_SPEC_MULTIPIER   (pow(10, 1))
 
#define _GPS_HEADER_BLOCK_SIZE   (16)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_SIZE   (16)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_SIZE   (8)
 
#define _GPS_COMMENT_BLOCK_SIZE   (128)
 
#define _GPS_SUMMARY_BLOCK_SIZE   (32)
 
#define _GPS_EMPTY_BLOCK_SIZE   (8)
 
#define _GPS_DEFAULT_BLOCK_SIZE   _GPS_COMPLETE_LOCATION_BLOCK_SIZE
 
#define _GPS_BLOCK_IDENTITY_SIZE   (4)
 
#define _GPS_ACCURANCY_FIELD_SIZE   (0)
 
#define _GPS_SIGN_FIELD_SIZE   (1)
 
#define _GPS_HEADER_BLOCK_IDENTITY   0x50
 
#define _GPS_COMPLETE_LOCATION_BLOCK_IDENTITY   0xC0
 
#define _GPS_PARTIAL_LOCATION_BLOCK_IDENTITY   0x30
 
#define _GPS_COMMENT_BLOCK_IDENTITY   0x10
 
#define _GPS_SUMMARY_BLOCK_IDENTITY   0x80
 
#define _GPS_EMPTY_BLOCK_IDENTITY   0x00
 
#define _GPS_HEADER_BLOCK_VERSION_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE)
 
#define _GPS_HEADER_BLOCK_VERSION_FIELD_SIZE   (4)
 
#define _GPS_HEADER_BLOCK_TEXT_FIELD_START   (_GPS_HEADER_BLOCK_VERSION_FIELD_START + _GPS_HEADER_BLOCK_VERSION_FIELD_SIZE)
 
#define _GPS_HEADER_BLOCK_TEXT_FIELD_SIZE   (104)
 
#define _GPS_HEADER_BLOCK_OPTIONS_FIELD_START   (_GPS_HEADER_BLOCK_TEXT_FIELD_START + _GPS_HEADER_BLOCK_TEXT_FIELD_SIZE)
 
#define _GPS_HEADER_BLOCK_OPTIONS_FIELD_SIZE   (8)
 
#define _GPS_HEADER_BLOCK_FUTURE_FIELD_START   (_GPS_HEADER_BLOCK_OPTIONS_FIELD_START + _GPS_HEADER_BLOCK_OPTIONS_FIELD_SIZE)
 
#define _GPS_HEADER_BLOCK_FUTURE_FIELD_SIZE   (8)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE + 8)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_SIZE   (42)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_SIZE)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_SIZE   (28)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_SIZE)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_SIZE   (29)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_SIZE)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_SIZE   (17)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_SIZE)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE   (_GPS_ACCURANCY_FIELD_SIZE)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_FUTURE_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE)
 
#define _GPS_COMPLETE_LOCATION_BLOCK_FUTURE_FIELD_SIZE   (0)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE + 3)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_SIZE   (22)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_SIZE   (_GPS_SIGN_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_SIZE   (11)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_SIZE   (_GPS_SIGN_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_SIZE   (12)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_SIZE   (_GPS_SIGN_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_SIZE   (9)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE   (_GPS_ACCURANCY_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_FUTURE_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE)
 
#define _GPS_PARTIAL_LOCATION_BLOCK_FUTURE_FIELD_SIZE   (0)
 
#define _GPS_SUMMARY_BLOCK_MODE_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE)
 
#define _GPS_SUMMARY_BLOCK_MODE_FIELD_SIZE   (2)
 
#define _GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_START   (_GPS_SUMMARY_BLOCK_MODE_FIELD_START + _GPS_SUMMARY_BLOCK_MODE_FIELD_SIZE)
 
#define _GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_SIZE   (17)
 
#define _GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_START   (_GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_START + _GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_SIZE)
 
#define _GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_SIZE   (17)
 
#define _GPS_SUMMARY_BLOCK_DISTANCE_FIELD_START   (_GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_START + _GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_SIZE)
 
#define _GPS_SUMMARY_BLOCK_DISTANCE_FIELD_SIZE   (20)
 
#define _GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_START   (_GPS_SUMMARY_BLOCK_DISTANCE_FIELD_START + _GPS_SUMMARY_BLOCK_DISTANCE_FIELD_SIZE)
 
#define _GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_SIZE   (18)
 
#define _GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_START   (_GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_START + _GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_SIZE)
 
#define _GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_SIZE   (20)
 
#define _GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_START   (_GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_START + _GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_SIZE)
 
#define _GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_SIZE   (17)
 
#define _GPS_SUMMARY_BLOCK_CLIMB_TRAVEL_TIME_FIELD_START   (_GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_START + _GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_SIZE)
 
#define _GPS_SUMMARY_BLOCK_CLIMB_TRAVEL_TIME_FIELD_SIZE   (17)
 
#define _GPS_SUMMARY_BLOCK_FUTURE_FIELD_START   (_GPS_SUMMARY_BLOCK_CLIMB_TRAVEL_TIME_FIELD_START + _GPS_SUMMARY_BLOCK_CLIMB_TRAVEL_TIME_FIELD_SIZE)
 
#define _GPS_SUMMARY_BLOCK_FUTURE_FIELD_SIZE   (124)
 
#define _GPS_COMMENT_BLOCK_COMMENT_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE + 4)
 
#define _GPS_COMMENT_BLOCK_COMMENT_FIELD_SIZE   (1016)
 
#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 
#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
 
#define GET_BYTE(a)   ((a) / 8)
 
#define GET_BIT(a)   (7 - ((a) % 8))
 
#define SHIFT(b, n)   (((n) < 0) ? ((b) << (-(n))) : ((b) >> (n)))
 
#define GET_SHIFT(l, s, p)   ((l) + (s) - (1) - (p))
 

Macro Definition Documentation

◆ _GPS_ACCURANCY_FIELD_SIZE

#define _GPS_ACCURANCY_FIELD_SIZE   (0)

Definition at line 32 of file _gps_data_file_v0.h.

◆ _GPS_BLOCK_IDENTITY_SIZE

#define _GPS_BLOCK_IDENTITY_SIZE   (4)

Definition at line 31 of file _gps_data_file_v0.h.

◆ _GPS_COMMENT_BLOCK_COMMENT_FIELD_SIZE

#define _GPS_COMMENT_BLOCK_COMMENT_FIELD_SIZE   (1016)

Definition at line 109 of file _gps_data_file_v0.h.

◆ _GPS_COMMENT_BLOCK_COMMENT_FIELD_START

#define _GPS_COMMENT_BLOCK_COMMENT_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE + 4)

Definition at line 108 of file _gps_data_file_v0.h.

◆ _GPS_COMMENT_BLOCK_IDENTITY

#define _GPS_COMMENT_BLOCK_IDENTITY   0x10

Definition at line 39 of file _gps_data_file_v0.h.

◆ _GPS_COMMENT_BLOCK_SIZE

#define _GPS_COMMENT_BLOCK_SIZE   (128)

Definition at line 26 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE

#define _GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE   (_GPS_ACCURANCY_FIELD_SIZE)

Definition at line 63 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_START

#define _GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_SIZE)

Definition at line 62 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_SIZE

#define _GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_SIZE   (17)

Definition at line 61 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_START

#define _GPS_COMPLETE_LOCATION_BLOCK_ALTITUDE_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_SIZE)

Definition at line 60 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_FUTURE_FIELD_SIZE

#define _GPS_COMPLETE_LOCATION_BLOCK_FUTURE_FIELD_SIZE   (0)

Definition at line 65 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_FUTURE_FIELD_START

#define _GPS_COMPLETE_LOCATION_BLOCK_FUTURE_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE)

Definition at line 64 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_IDENTITY

#define _GPS_COMPLETE_LOCATION_BLOCK_IDENTITY   0xC0

Definition at line 37 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_SIZE

#define _GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_SIZE   (28)

Definition at line 57 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_START

#define _GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_SIZE)

Definition at line 56 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_SIZE

#define _GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_SIZE   (29)

Definition at line 59 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_START

#define _GPS_COMPLETE_LOCATION_BLOCK_LONGITUDE_FIELD_START   (_GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_START + _GPS_COMPLETE_LOCATION_BLOCK_LATITUDE_FIELD_SIZE)

Definition at line 58 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_SIZE

#define _GPS_COMPLETE_LOCATION_BLOCK_SIZE   (16)

Definition at line 24 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_SIZE

#define _GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_SIZE   (42)

Definition at line 55 of file _gps_data_file_v0.h.

◆ _GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_START

#define _GPS_COMPLETE_LOCATION_BLOCK_TIME_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE + 8)

Definition at line 54 of file _gps_data_file_v0.h.

◆ _GPS_DEFAULT_BLOCK_SIZE

#define _GPS_DEFAULT_BLOCK_SIZE   _GPS_COMPLETE_LOCATION_BLOCK_SIZE

Definition at line 29 of file _gps_data_file_v0.h.

◆ _GPS_EMPTY_BLOCK_IDENTITY

#define _GPS_EMPTY_BLOCK_IDENTITY   0x00

Definition at line 41 of file _gps_data_file_v0.h.

◆ _GPS_EMPTY_BLOCK_SIZE

#define _GPS_EMPTY_BLOCK_SIZE   (8)

Definition at line 28 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_FUTURE_FIELD_SIZE

#define _GPS_HEADER_BLOCK_FUTURE_FIELD_SIZE   (8)

Definition at line 51 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_FUTURE_FIELD_START

#define _GPS_HEADER_BLOCK_FUTURE_FIELD_START   (_GPS_HEADER_BLOCK_OPTIONS_FIELD_START + _GPS_HEADER_BLOCK_OPTIONS_FIELD_SIZE)

Definition at line 50 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_IDENTITY

#define _GPS_HEADER_BLOCK_IDENTITY   0x50

Definition at line 36 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_OPTIONS_FIELD_SIZE

#define _GPS_HEADER_BLOCK_OPTIONS_FIELD_SIZE   (8)

Definition at line 49 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_OPTIONS_FIELD_START

#define _GPS_HEADER_BLOCK_OPTIONS_FIELD_START   (_GPS_HEADER_BLOCK_TEXT_FIELD_START + _GPS_HEADER_BLOCK_TEXT_FIELD_SIZE)

Definition at line 48 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_SIZE

#define _GPS_HEADER_BLOCK_SIZE   (16)

Definition at line 23 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_TEXT_FIELD_SIZE

#define _GPS_HEADER_BLOCK_TEXT_FIELD_SIZE   (104)

Definition at line 47 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_TEXT_FIELD_START

#define _GPS_HEADER_BLOCK_TEXT_FIELD_START   (_GPS_HEADER_BLOCK_VERSION_FIELD_START + _GPS_HEADER_BLOCK_VERSION_FIELD_SIZE)

Definition at line 46 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_VERSION_FIELD_SIZE

#define _GPS_HEADER_BLOCK_VERSION_FIELD_SIZE   (4)

Definition at line 45 of file _gps_data_file_v0.h.

◆ _GPS_HEADER_BLOCK_VERSION_FIELD_START

#define _GPS_HEADER_BLOCK_VERSION_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE)

Definition at line 44 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE   (_GPS_ACCURANCY_FIELD_SIZE)

Definition at line 83 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_SIZE)

Definition at line 82 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_SIZE   (9)

Definition at line 81 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_SIZE)

Definition at line 80 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_SIZE   (_GPS_SIGN_FIELD_SIZE)

Definition at line 79 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_SIGN_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_SIZE)

Definition at line 78 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_FUTURE_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_FUTURE_FIELD_SIZE   (0)

Definition at line 85 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_FUTURE_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_FUTURE_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_ACCURANCY_FIELD_SIZE)

Definition at line 84 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_IDENTITY

#define _GPS_PARTIAL_LOCATION_BLOCK_IDENTITY   0x30

Definition at line 38 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_SIZE   (11)

Definition at line 73 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_SIZE)

Definition at line 72 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_SIZE   (_GPS_SIGN_FIELD_SIZE)

Definition at line 71 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_SIGN_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_SIZE)

Definition at line 70 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_SIZE   (12)

Definition at line 77 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_SIZE)

Definition at line 76 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_SIZE   (_GPS_SIGN_FIELD_SIZE)

Definition at line 75 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_SIGN_FIELD_START   (_GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_START + _GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_SIZE)

Definition at line 74 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_SIZE   (8)

Definition at line 25 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_SIZE

#define _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_SIZE   (22)

Definition at line 69 of file _gps_data_file_v0.h.

◆ _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_START

#define _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE + 3)

Definition at line 68 of file _gps_data_file_v0.h.

◆ _GPS_SIGN_FIELD_SIZE

#define _GPS_SIGN_FIELD_SIZE   (1)

Definition at line 33 of file _gps_data_file_v0.h.

◆ _GPS_SPEC_HAVE_ACCURACY

#define _GPS_SPEC_HAVE_ACCURACY   0

Definition at line 9 of file _gps_data_file_v0.h.

◆ _GPS_SPEC_VERSION

#define _GPS_SPEC_VERSION   0

Definition at line 10 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_SIZE   (20)

Definition at line 99 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_START

#define _GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_START   (_GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_START + _GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_SIZE)

Definition at line 98 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_SIZE   (18)

Definition at line 97 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_START

#define _GPS_SUMMARY_BLOCK_CLIMB_HEIGHT_FIELD_START   (_GPS_SUMMARY_BLOCK_DISTANCE_FIELD_START + _GPS_SUMMARY_BLOCK_DISTANCE_FIELD_SIZE)

Definition at line 96 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_SIZE   (17)

Definition at line 101 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_START

#define _GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_START   (_GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_START + _GPS_SUMMARY_BLOCK_CLIMB_DISTANCE_FIELD_SIZE)

Definition at line 100 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_CLIMB_TRAVEL_TIME_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_CLIMB_TRAVEL_TIME_FIELD_SIZE   (17)

Definition at line 103 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_CLIMB_TRAVEL_TIME_FIELD_START

#define _GPS_SUMMARY_BLOCK_CLIMB_TRAVEL_TIME_FIELD_START   (_GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_START + _GPS_SUMMARY_BLOCK_CLIMB_TOTAL_TIME_FIELD_SIZE)

Definition at line 102 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_DISTANCE_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_DISTANCE_FIELD_SIZE   (20)

Definition at line 95 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_DISTANCE_FIELD_START

#define _GPS_SUMMARY_BLOCK_DISTANCE_FIELD_START   (_GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_START + _GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_SIZE)

Definition at line 94 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_FUTURE_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_FUTURE_FIELD_SIZE   (124)

Definition at line 105 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_FUTURE_FIELD_START

Definition at line 104 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_IDENTITY

#define _GPS_SUMMARY_BLOCK_IDENTITY   0x80

Definition at line 40 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_MODE_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_MODE_FIELD_SIZE   (2)

Definition at line 89 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_MODE_FIELD_START

#define _GPS_SUMMARY_BLOCK_MODE_FIELD_START   (_GPS_BLOCK_IDENTITY_SIZE)

Definition at line 88 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_SIZE

#define _GPS_SUMMARY_BLOCK_SIZE   (32)

Definition at line 27 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_SIZE   (17)

Definition at line 91 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_START

#define _GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_START   (_GPS_SUMMARY_BLOCK_MODE_FIELD_START + _GPS_SUMMARY_BLOCK_MODE_FIELD_SIZE)

Definition at line 90 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_SIZE

#define _GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_SIZE   (17)

Definition at line 93 of file _gps_data_file_v0.h.

◆ _GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_START

#define _GPS_SUMMARY_BLOCK_TRAVEL_TIME_FIELD_START   (_GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_START + _GPS_SUMMARY_BLOCK_TOTAL_TIME_FIELD_SIZE)

Definition at line 92 of file _gps_data_file_v0.h.

◆ ALT_GPS_SPEC_DIFF_MAX

#define ALT_GPS_SPEC_DIFF_MAX   (pow(2, _GPS_PARTIAL_LOCATION_BLOCK_ALTITUDE_DIFF_FIELD_SIZE) - 1)

Definition at line 15 of file _gps_data_file_v0.h.

◆ ALT_GPS_SPEC_MULTIPIER

#define ALT_GPS_SPEC_MULTIPIER   (pow(10, 1))

Definition at line 20 of file _gps_data_file_v0.h.

◆ GET_BIT

#define GET_BIT (   a)    (7 - ((a) % 8))

Definition at line 121 of file _gps_data_file_v0.h.

◆ GET_BYTE

#define GET_BYTE (   a)    ((a) / 8)

Definition at line 120 of file _gps_data_file_v0.h.

◆ GET_SHIFT

#define GET_SHIFT (   l,
  s,
 
)    ((l) + (s) - (1) - (p))

Definition at line 123 of file _gps_data_file_v0.h.

◆ LAT_GPS_SPEC_DIFF_MAX

#define LAT_GPS_SPEC_DIFF_MAX   (pow(2,_GPS_PARTIAL_LOCATION_BLOCK_LATITUDE_DIFF_FIELD_SIZE) - 1)

Definition at line 13 of file _gps_data_file_v0.h.

◆ LAT_GPS_SPEC_MULTIPIER

#define LAT_GPS_SPEC_MULTIPIER   (pow(10, 6))

Definition at line 18 of file _gps_data_file_v0.h.

◆ LNG_GPS_SPEC_DIFF_MAX

#define LNG_GPS_SPEC_DIFF_MAX   (pow(2, _GPS_PARTIAL_LOCATION_BLOCK_LONGITUDE_DIFF_FIELD_SIZE) - 1)

Definition at line 14 of file _gps_data_file_v0.h.

◆ LNG_GPS_SPEC_MULTIPIER

#define LNG_GPS_SPEC_MULTIPIER   (pow(10, 6))

Definition at line 19 of file _gps_data_file_v0.h.

◆ MAX

#define MAX (   a,
 
)    (((a) > (b)) ? (a) : (b))

Definition at line 116 of file _gps_data_file_v0.h.

◆ MIN

#define MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Definition at line 113 of file _gps_data_file_v0.h.

◆ SHIFT

#define SHIFT (   b,
 
)    (((n) < 0) ? ((b) << (-(n))) : ((b) >> (n)))

Definition at line 122 of file _gps_data_file_v0.h.

◆ TIME_GPS_SPEC_DIFF_MAX

#define TIME_GPS_SPEC_DIFF_MAX   (pow(2, _GPS_PARTIAL_LOCATION_BLOCK_TIME_DIFF_FIELD_SIZE) - 1)

Definition at line 16 of file _gps_data_file_v0.h.