PUD: import nmealib v0.6.9
[olsrd.git] / lib / pud / nmealib / samples / generate / main.c
1 /*
2  * This file is part of nmealib.
3  *
4  * Copyright (c) 2008 Timur Sinitsyn
5  * Copyright (c) 2011 Ferry Huberts
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #include <nmea/nmea.h>
22
23 #include <stdio.h>
24 #include <unistd.h>
25
26 int main(int argc __attribute__((unused)), char *argv[] __attribute__((unused))) {
27     nmeaINFO info;
28     char buff[2048];
29     int gen_sz;
30     int it;
31
32     nmea_zero_INFO(&info);
33
34     info.sig = 3;
35     info.fix = 3;
36     info.lat = 5000.0;
37     info.lon = 3600.0;
38     info.speed = 2.14 * NMEA_TUS_MS;
39     info.elv = 10.86;
40
41     info.satinfo.inuse = 1;
42     info.satinfo.inview = 1;
43
44     /*
45     info.satinfo.sat[0].id = 1;
46     info.satinfo.sat[0].in_use = 1;
47     info.satinfo.sat[0].elv = 50;
48     info.satinfo.sat[0].azimuth = 0;
49     info.satinfo.sat[0].sig = 99;
50     */
51
52     for(it = 0; it < 10; ++it)
53     {
54         gen_sz = nmea_generate(
55             &buff[0], 2048, &info,
56             GPGGA | GPGSA | GPGSV | GPRMC | GPVTG
57             );
58
59         buff[gen_sz] = 0;
60         printf("%s\n", &buff[0]);
61
62         usleep(500000);
63
64         info.speed += .1;
65     }
66
67     return 0;
68 }