сайт для палких паяльників

В последней приобретенной партии GPS модулей EB-500 обнаружены некоторые доработки. GPS координаты теперь содержат на два значащих знака больше, чем в раньше. Пока не могу сказать вызвано ли это увеличением точности GPS модуля EB-500, но библиотеку gps.c пришлось корректировать. Пока поставил “костыль” в функции gps_get_long_value. Теперь она выглядит так:


long gps_get_long_value()
{
	long result = 0;
	int counter = 0;

	while ( ((RXBuffer[RX_BUF_P][RXj] > 45) && (RXBuffer[RX_BUF_P][RXj] < 58) ) && (counter < 8) )
	{
		if (RXBuffer[RX_BUF_P][RXj] != '.') {
			if ( (RXBuffer[RX_BUF_P][RXj] =='0') && (counter == 0) ) {

			}
			else {
			  result = result * 10;
			  result += RXBuffer[RX_BUF_P][RXj] - 48;
			  counter++;
			}
		}
		RXj++;

	}
	return result;
}

Библиотека пока не воспринимает дополнительные значащие знаки. В то же время, обновленные модуля EB-500 приятно порадовали. На рабочем столе в метре от окна с металлическими жалюзи в железобетонном доме ловят спутники. Такого раньше не было. Мой смартфон на рабочем столе никогда спутников не ловил.

Статьи по теме:
GPS EB-500 + ATMEGA. Схема. Пример для WinAVR (GCC).
GPS. Расчет дистанции между двумя точками по GPS координатам. Расчет курса на точку
GPS модуль EB-500 и ATMega

Translate
Архіви

© 2011-2019 Андрій Корягін, Кременчук - Київ, Україна