1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
<sect1 id="gpsuitls.c"><title><filename>gpsutils.c</filename></title>
<informaltable frame='all' pgwide='1'>
<tgroup cols='2'>
<colspec colname='c1'></colspec>
<colspec colname='c2'></colspec>
<spanspec spanname='s1' namest='c1' nameend='c2'></spanspec>
<thead>
<row>
<entry>Functions:-</entry><entry>Code shared between low-level and high-level interfaces. Most of them do exactly what they say on the tin.</entry>
</row>
</thead>
<tfoot>
<row>
<entry spanname='s1' align='left'>Notes based on <function>$Id: gpsutils.c 4108 2006-12-08 11:48:31Z esr $</function></entry>
</row>
</tfoot>
<tbody>
<row>
<entry><function>void gps_clear_fix(struct gps_fix_t *fixp)</function></entry>
<entry><para>Stuff a fix structure with recognizable out-of-band values.</para></entry>
</row>
<row>
<entry><function>unsigned int gps_valid_fields(struct gps_fix_t *fixp)</function></entry>
<entry><para>Clears certain status flags, depending if the associated fields are invalid.</para></entry>
</row>
<row>
<entry><function>char *gps_show_transfer(int transfer)</function></entry>
<entry><para>Takes a mask word and uses it to check certain status flags. If the associated flag is active, the name of the status is written to the return buffer.</para></entry>
</row>
<row>
<entry><function>void gps_merge_fix(struct gps_fix_t *to, gps_mask_t transfer, struct gps_fix_t *from)</function></entry>
<entry><para>Merges (overwrites the contents of) an old fix with the contents of a new fix for those fields where the associated bit in the mask word is set and the new fix data is valid.</para></entry>
</row>
<row>
<entry><function>double timestamp(void)</function></entry>
<entry><para>Returns the number of seconds and microseconds since the UNIX Epoch (00:00:00 UTC, January 1, 1970); i.e. a unique value which can be used to timestamp any event.</para></entry>
</row>
<row>
<entry><function>time_t mkgmtime(register struct tm *t)</function></entry>
<entry><para>Convert a struct <function>tm {}</function> (see <function>time.h</function>) to seconds since UNIX Epoch.</para></entry>
</row>
<row>
<entry><function>double iso8601_to_unix(char *isotime)</function></entry>
<entry><para>Convert an ISO8601 UTC string (like 2006-01-25T13:15:22.9) to Unix UTC.</para></entry>
</row>
<row>
<entry><function>char *unix_to_iso8601(double fixtime, char isotime[], int len)</function></entry>
<entry><para>Reverse of the above, no timezone adjustment.</para></entry>
</row>
<row>
<entry><function>double gpstime_to_unix(int week, double tow)</function></entry>
<entry><para>Convert gps time to UNIX time, allowing for the gps week number rollover.</para></entry>
</row>
<row>
<entry><function>void unix_to_gpstime(double unixtime, int *week, double *tow)</function></entry>
<entry><para>Reverse of the above.</para></entry>
</row>
<row>
<entry><function>static double CalcRad(double lat)</function></entry>
<entry><para>Return the earth's radius of curvature in meters at specified latitude.</para></entry>
</row>
<row>
<entry><function>double earth_distance(double lat1, double lon1, double lat2, double lon2)</function></entry>
<entry><para>Return the distance in meters between two points specified in degrees.</para></entry>
</row>
<row>
<entry><function>static int invert(double mat[4][4], double inverse[4][4])</function></entry>
<entry><para>Try and invert an array. If it is possible, fill the inverted array and return a 1. Return a 0 if it is not possible.</para></entry>
</row>
<row>
<entry><function>gps_mask_t dop(struct gps_data_t *gpsdata)</function></entry>
<entry><para>Take a gps data structure and try to calculate the DOP values from the other data in it. Return 0 if it is not possible or update the appropriate DOP fields in the structure and set a mask which tells which fields were updated.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect1>
|