Beispiel #1
0
void MainWindow::sendGpsInfo()
{
    char buf[2048];
    int size = nmea_generate(&buf[0], sizeof(buf), &m_info,
                             GPGGA | GPGSA | GPGSV | GPRMC);

    buf[size] = 0;
    qDebug() << buf;

    m_serial->write(QByteArray(buf, size));
}
Beispiel #2
0
int nmea_generate_from(
    char *buff, int buff_sz,
    nmeaINFO *info,
    nmeaGENERATOR *gen,
    int generate_mask
    )
{
    int retval;

    if(0 != (retval = nmea_gen_loop(gen, info)))
        retval = nmea_generate(buff, buff_sz, info, generate_mask);

    return retval;
}
Beispiel #3
0
int main()
{
    nmeaINFO info;
    char buff[2048];
    int gen_sz;
    int it;

    nmea_zero_INFO(&info);

    info.sig = 3;
    info.fix = 3;
    info.lat = 5000.0;
    info.lon = 3600.0;
    info.speed = 2.14 * NMEA_TUS_MS;
    info.elv = 10.86;

    info.satinfo.inuse = 1;
    info.satinfo.inview = 1;

    /*
    info.satinfo.sat[0].id = 1;
    info.satinfo.sat[0].in_use = 1;
    info.satinfo.sat[0].elv = 50;
    info.satinfo.sat[0].azimuth = 0;
    info.satinfo.sat[0].sig = 99;
    */

    for(it = 0; it < 10; ++it)
    {
        gen_sz = nmea_generate(
            &buff[0], 2048, &info,
            GPGGA | GPGSA | GPGSV | GPRMC | GPVTG
            );

        buff[gen_sz] = 0;
        printf("%s\n", &buff[0]);

        usleep(500000);

        info.speed += .1;
    }

    return 0;
}
// [ref] ${NMEALIB_HOME)/samples/generate/main.c.
void generate()
{
	nmeaINFO info;
	nmea_zero_INFO(&info);
	info.sig = 3;
	info.fix = 3;
	info.lat = 5000.0;
	info.lon = 3600.0;
	info.speed = 2.14 * NMEA_TUS_MS;
	info.elv = 10.86;
	info.satinfo.inuse = 1;
	info.satinfo.inview = 1;
	/*
	info.satinfo.sat[0].id = 1;
	info.satinfo.sat[0].in_use = 1;
	info.satinfo.sat[0].elv = 50;
	info.satinfo.sat[0].azimuth = 0;
	info.satinfo.sat[0].sig = 99;
	*/

	char buff[2048];
	for (int i = 0; i < 10; ++i)
	{
		const int gen_sz = nmea_generate(buff, 2048, &info, GPGGA | GPGSA | GPGSV | GPRMC | GPVTG);

		// for display.
		buff[gen_sz] = '\0';
		std::cout << buff << std::endl;

#ifdef NMEA_WIN
        Sleep(500);
#else
        usleep(500000);
#endif        

		info.speed += .1;
	}
}