02/05/09 11:43
Fenix
Non so se ti può andar bene lo stesso... immagini.p2pforum.it/out.php/…
Potresti farti un convertitore hardware per USB e programmare con le librerie per porta seriale.
Potresti farti un convertitore hardware per USB e programmare con le librerie per porta seriale.
Ultima modifica effettuata da Fenix 02/05/09 11:44
aaa
04/05/09 16:33
valentino86
Ok allora ecco cosa sto facendo.Ho preso il garmin 18 USB e utilizzo queste librerie (stempsoft.com/), ma non riesco a scrivere un programmino per leggere la posizione del gps.
Fino al commento l'ho praticamente copiato da un file di esempio, il resto l'ho scritto io, il problema è che non riesco a farlo funzionare, cioè non mi accede ai dati di posizione e velocità PVT:
Praticamente le classi per accenderlo (gps.Open) funziona, mentre mi dive che i dati non sono validi quando cerco di accedere ai dati PVT.
Il file di esempio che c'è sui dati PVT è un casino, perchè utilizza le MFC per fare una finestrella dove aggiorna in continuo i dati, mentre a me serve una cosa molto molto più semplice
Fino al commento l'ho praticamente copiato da un file di esempio, il resto l'ho scritto io, il problema è che non riesco a farlo funzionare, cioè non mi accede ai dati di posizione e velocità PVT:
// SimpleProductData.cpp // #include "stdafx.h" #include "stdio.h" #include "conio.h" #include "GarXfaceAll.h" int main() { GarXface4::GpsUsbDevice usbDev; /*StempSoftMessageLogger::MsgLoggerFileDevice *pMsgLoggerFileDevice; //The log can be turned on for recording diagnostic messages pMsgLoggerFileDevice = new StempSoftMessageLogger::MsgLoggerFileDevice("SimpleProductData.log"); StempSoftMessageLogger::SetMessageLoggerDevice(pMsgLoggerFileDevice);*/ GarXface4::UsbDeviceNameList lst; GarXface4::UsbDeviceName *n=lst[0]; usbDev.SetDeviceName(lst[0]->GetDeviceName()); GarXface4::Gps gps; try { //Qui ho scritto io printf("E' acceso? %i\n\n\n",gps.IsOpen()); gps.Open(&usbDev); printf("GPS acceso"); GarXface4::ProductData *pProductData = gps.GetProductData(); printf("Product Description: %s\n",pProductData->GetDescription()); printf("Model ID: %d\n",pProductData->GetProductID()); printf("Software Version: %f\n\n",pProductData->GetSwVersion()); printf("E' acceso? %i\n",gps.IsOpen()); gps.PvtDataOn(); GarXface4::PVTdata *pvt; pvt = gps.GetPVTdata(); printf("E' connesso il GPS? %i\n",pvt->GetGpsConnect()); printf("Dati validi? %i\n",pvt->GetValidData()); printf("Alitudine: %f\n",pvt->GetAltitude()); double m_dLatitude = GarXface4::Math::WGS84::radiansToDegrees(pvt->GetLatitude()); printf("m_dLatitude %f\n\n",m_dLatitude); getchar(); } catch(GarXface4::Exceptions::GxException e) { e.ReportError(); } return 0; }
Praticamente le classi per accenderlo (gps.Open) funziona, mentre mi dive che i dati non sono validi quando cerco di accedere ai dati PVT.
Il file di esempio che c'è sui dati PVT è un casino, perchè utilizza le MFC per fare una finestrella dove aggiorna in continuo i dati, mentre a me serve una cosa molto molto più semplice
Ultima modifica effettuata da valentino86 04/05/09 16:34
aaa