// [ref] ${NMEALIB_HOME)/samples/generator/main.c.
void use_generator()
{

	nmeaINFO info;
	nmea_zero_INFO(&info);

	nmeaGENERATOR *gen = nmea_create_generator(NMEA_GEN_ROTATE, &info);
	if (0 == gen)
	{
		std::cerr << "generator not created" << std::endl;
		return;
	}

	char buff[2048];
	for (int i = 0; i < 10000; ++i)
	{
		const int gen_sz = nmea_generate_from(buff, 2048, &info, gen, 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
	}

	nmea_gen_destroy(gen);
}
Ejemplo n.º 2
0
int main()
{
	nmeaGENERATOR *gen;
	nmeaINFO info;
	char buff[2048];
	int gen_sz;
	int it;
	FILE* file;

	nmea_zero_INFO(&info);

	if(0 == (gen = nmea_create_generator(NMEA_GEN_ROTATE, &info)))
		return -1;
	
	file = fopen("go.txt", "w");
	for(it = 0; it < 100; ++it)
	{
		memset(buff, 0, 2048);
		gen_sz = nmea_generate_from(
			&buff[0], 2048, &info, gen,
			GPGGA | SDDBT //  | GPGSA | GPGSV | GPRMC | GPVTG
			);

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

#ifdef NMEA_WIN
		//Sleep(500);
#else
		usleep(500000);        
#endif
	}
	fclose(file);
	nmea_gen_destroy(gen);

	return 0;
}