Обновленный GPS модуль EB-500


24.09.2013

В последней приобретенной партии 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

Схеми і прошивки
Коментарі:

Додати коментар

* - обов'язкові поля

Архіви