Esempio n. 1
0
void handleSatelites(char * gpgsv)
{
	char *argv[9];
	uint8_t argc = parseNMEA(gpgsv, argv, 9);

	if(argc < 8)
		return;

//	t_print(argv[2]);  //Satellites  in view
//	t_print(" ");
//	t_print(argv[3]);	//PRN number
//	t_print(" ");
	t_print(argv[4]);	//elivation
//	t_print(" ");
//	t_print(argv[5]);	//azimuth
//	t_print(" ");
//	t_print(argv[6]);	//SNR
	t_print("\n");
	if( t_atoi(argv[4]) > 1)
	{
		gpsOK = 1;
		GPIO_SetBits(GPIOC, GPIO_Pin_8);
	}
	else
	{
		gpsOK = 0;
		GPIO_ResetBits(GPIOC, GPIO_Pin_8);
	}
}
Esempio n. 2
0
void handleTime(char * gpgga)
{
	char *argv[7];
	uint8_t argc = parseNMEA(gpgga, argv, 7);

	if(argc < 5)
		return;

	argv[0][4] = 0;
	gpsMinute = t_atoi(&argv[0][2]);

	argv[0][2] = 0;
	gpsHour = t_atoi(argv[0]);

	static uint8_t flag = 0;
	if(flag)
		GPIO_ResetBits(GPIOC, GPIO_Pin_9);
	else
		GPIO_SetBits(GPIOC, GPIO_Pin_9);

	flag = !flag;

	d_print(gpsHour);
	t_print(":");
	d_print(gpsMinute);
	t_print("\n");
}
Esempio n. 3
0
// called from uart2 irq getting the received char c
void parseGPS(unsigned char c)
{
	if (fcSetup.components[gpsComponent] == 1)
	{
		if(GPStype == NMEA) {
			if (NMEAdone == 0)
				parseNMEA(c);

		} else {
			if(GPStype == UBX) {
				parseUBX(c);
			}
		}
	}
}