Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [c++] Utilizzare GPS usb

    Dovrei utilizzare un'antenna gps con alimentazione usb in un progetto. Cercando in rete ho trovato questo:

    http://www.marshallsoft.com/mgc4c.htm

    Praticamente delle librerie per comunicare con il gps ma solo tramite porta seriale, io invece lo dovrei fare con l'usb.
    Sapete se esistono cose analoghe ma con interfaccia usb? Oppure se esistono modelli commerciali di gps con allegati API per windows?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Hai già provato con un adattatore USB seriale?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    non ho ancora comprato nulla.

    Il problema è che devo usare il programma su un portatile senza seriale.

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Funziona anche con le porte seriali virtuali, quindi sei a posto.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    ok! Sembra positivo potresti darmi qualche aiutino.

    Praticamente dovrei fare in modo che legga da usb come se lo facesse da seriale? Ma ci sono delle api per questo?

  6. #6
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    L'emulazione viene fatta in automatico dai driver appositi (che usciranno con il tuo apparecchio).
    Per le API, se non vedo non posso aiutarti.
    Quindi dovresti comprarle prima
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  7. #7
    scusami ma le tue risposte mi sembrano un pò ricorsive.

    In che senso avrò i driver per l'emulazione una volta preso l'apparecchio? Io non so scegliere l'apparecchio proprio perche non so come comportarmi su questi problemi.

    In che senso devo comprare le API? Ti riferisci al link che ho messo?

    In ogni caso la tua idea è quella di comprare un adattatore usb-seriale giusto?

    Ma possibile che non ci siano nulla per usb?

    Ma se usassi un GPS usb con i suoi driver e integrassi il programma nel codice c++ con la funzione system?? (Non so se l'ho sparata grossa rh )

  8. #8

  9. #9
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Va bene anche questa lib, associata a un garmin USB.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  10. #10
    Ok allora ecco cosa sto facendo.Ho preso il garmin 18 USB e utilizzo le ultime librerie che ho postato, 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:

    codice:
    // 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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.