Посидев вечер я разобрался в основных функциях, в создании пользовательского блока я потерпел фиаско несмотря на то что читал и смотрел гайд автора.
Цель заставить работать GPS NEO-6 в рамках FLProg.
Я решил пойти от простого к сложному. Для начал просто получит с GPS широту и отправить ее по UART.
Подработав напильником пример из библиоткеи у меня получилось так:
#include <SoftwareSerial.h>
static const int RXPin = 4, TXPin = 3; // подключение GPS достаточно RXpin
static const uint32_t GPSBaud = 9600;
// The TinyGPS++ object
TinyGPSPlus gps;
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
TinyGPSCustom latitude(gps, "GPGGA", 2); // Широта
TinyGPSCustom latitudeNS(gps, "GPGGA", 3); // Широта буква (север или юг)
TinyGPSCustom longitude(gps, "GPGGA", 4); // Долгота
TinyGPSCustom longitudeWE(gps, "GPGGA", 5); // Долгота буква (запад или восток)
void setup()
{
Serial.begin(9600);
ss.begin(GPSBaud);
}
void loop()
{
// Every time anything is updated, print everything.
if (
latitude.isUpdated()|| latitudeNS.isUpdated()|| longitude.isUpdated() )
{
Serial.print(F(" Latitude=")); Serial.print(latitude.value()); Serial.println(latitudeNS.value());
Serial.print(F(" Longitude=")); Serial.print(longitude.value()); Serial.println(longitudeWE.value());
delay (5000); // тестовая задержка
}
//
while (ss.available() > 0)
gps.encode(ss.read());
}
Пользуясь руководством автора я на собрал блок, в итоге при компиляции непосредственно в ардуиновской апликашке пишут кучу ошибок.
Танцы с бубном не возымели действия, прошу помощи аксакалов .
Мой черновик блока и базовый скетч прилагаю.