Problemi con GPS

Buonasera,

ho acquistato QUESTO gps su amazon, per iniziare intanto a mettere su un progettino che mi raccoglie alcuni dati (provare codice affidabilità ecc).
Utilizzo la libreria tinyGPS e quando faccio partire l'esempio "simple_test" sul monitor seriale l'unica cosa che ne esce fuori è questo:CHARS=258 SENTENCES=0 CSUM ERR=0.

Provando a caricare l'esempio "static_test" sul compilatore esce questo messaggio d'errore

Più di una libreria trovata per "TinyGPS.h"
static_test:2:10: error: avr\pgmspace.h: No such file or directory
Usata: /Users/andreanocentini/Documents/Arduino/libraries/TinyGPS
 #include <avr\pgmspace.h>
          ^~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
avr\pgmspace.h: No such file or directory

.
Possibile che non funzioni niente? anche se molto probabilmente è una cineasta, nemmeno un satellite riesce a prendere? niente di niente nemmeno con il cielo completamente libero?
( comunque ho preso questo modulo e sono attesa dell'arrivo di GPS).
Sapete aiutarmi?
Grazie in anticipo
AGGIORNAMENTO: ho provato la scheda con il programma "u. center v9.10" e risulta che il processore sia un u blox 7 e li funziona tutto correttamente, com'è possibile?

L'errore evidenzia che non hai la libreria pgmspace.h nella cartella /Users/andreanocentini/Documents/Arduino/libraries/TinyGPS
Se riesci a risolvere questo, poi dovrebbe funzionare tutto.

ciao, grazie mille della risposta.
ho controllato ed effettivamente quel file non è presente, ma qualsiasi libreria di tinygps non presenta quel file da nessuna parte.
Mi sembra una cosa molto strana, anche scaricando la libreria dall'idle di arduino questo file continua a mancare, come si può risolvere?
(uso mac).

La libreria c'è ... è di base, ed è la AVR libc, sempre inclusa nell'IDE.

il problema è un'altro ... il backslash ... deve essere uno slash normale:

NO : #include <avr\pgmspace.h>

SI : #include <avr/pgmspace.h>

Guglielmo

l'avevo pronta, la posto lo stesso :slight_smile:

pgmspace.h serve alla gestione del PROGMEM (utilizzare la flash per archiviare costanti) e non del GPS, quindi non la trovi in nessuna libreria per il pgs, ma è già inclusa nell'installazione dell'ide.

Quindi, se nel programma (di test) che stai usando, c'è la riga

#include <avr\pgmspace.h>

visto che solitamente non è necessario includerla, viene caricata se serve, commentala (o eliminala) e riprova

Federico

Federico66: NO con il backslash, ma con lo slash ... e due ... oltretutto lui è su MAC quindi un sistema nix !!!

Guglielmo

gpb01:

Federico66: NO con il backslash, ma con lo slash ... e due ... oltretutto lui è su MAC quindi un sistema nix !!!

Non so su MAC il compilatore come si comporta, ma su Windows puoi scriverlo come ti pare, va sempre bene :wink:

Federico

ho provato a cambiare con lo slash ma i problemi continuano.. ora compare

Arduino:1.8.10 (Mac OS X), Scheda:"Arduino/Genuino Uno"

static_test:8:1: error: 'prog_char' does not name a type; did you mean 'putchar'?
 prog_char str1[] PROGMEM = "$GPRMC,201547.000,A,3014.5527,N,09749.5808,W,0.24,163.05,040109,,*1A";

e i vari errori delle stringhe sottostanti.
più che altro con gli altri esempi di test non dovrebbe funzionare? visto che con il programma u center funziona tutto correttamente (circa 9 satelliti diventano verdi).

grazie mille delle in anticipo.

Federico66:
Non so su MAC il compilatore come si comporta, ma su Windows puoi scriverlo come ti pare, va sempre bene :wink:

MAC è un sistema unix e ... il backslash NON esiste ... NON troverà mai quel file ...

Guglielmo

P.S.: Visto che li va sempre bene, mentre in TUTTI gli altri sistemi è d'obbligo usare '/', impara anche tu ad usare il carattere corretto e NON le porcherie che permette Win :smiling_imp:

Secondo me stai cercando di compilare un vecchissimo programma che oggi NON si compila più senza modificarlo.

Se non vado errato, attorno ad Arduino 1.5.x, la sintassi della PROGMEM è totalmente cambiata ed i vecchi programmi NON compilano più se non vengono modificati.

Guglielmo

quindi i vecchi esempi della libreria tinygps non funzionano più con il nuovo compilatore?
se si, dove posso trovare degli sketch o qualche tutorial per capirne meglio il funzionamento?

comunque grazie mille siete sempre disponibilissimi

gpb01:
P.S.: Visto che li va sempre bene, mentre in TUTTI gli altri sistemi è d'obbligo usare '/', impara anche tu ad usare il carattere corretto...

Io li uso correttamente, quello era un quote del suo post :confused:

Federico

Federico66:
Io li uso correttamente, quello era un quote del suo post :confused:

... leggi bene ... li dicevo che quella era la sintassi sbagliata :smiley:

Guglielmo

nocentini:
quindi i vecchi esempi della libreria tinygps non funzionano più con il nuovo compilatore?
se si, dove posso trovare degli sketch o qualche tutorial per capirne meglio il funzionamento?

In non li ho mai usati i gps, ma cercando sembra che questa libreria sia molto usata, NeoGPS.

Se nessuno ti consiglia altro, provala. La installi da Gestione librerie.

Federico

nocentini:
quindi i vecchi esempi della libreria tinygps non funzionano più con il nuovo compilatore?

Non so dirti ... quello che ti ho detto è che, da un certo punto in poi, è cambiata la sintassi della PROGMEM e che tutto quello che era scritto alla "vecchia maniera" da errore ... poi vedi tu ... ::slight_smile:

nocentini:
se si, dove posso trovare degli sketch o qualche tutorial per capirne meglio il funzionamento?

Ti allego un documento sulla PROGMEM ...

Guglielmo

Progmem.pdf (182 KB)

grazie mille ragazzi, sta sera proverò tutto

Ho provato la libreria NeoGPS come mi avete consigliato, ma stessi problemi.. errori sulle variabili e nessun esempio che si compila.
Ho provato a utilizzare una macchina virtuale (Parallels) per spostarmi su windows ma niente, tessi errori e stessi problemi.

ciò che esce sul compilatore è :#include <AltSoftSerial.h> // <-- DEFAULT. Two specific pins required

sapete che altro consigliarmi?
grazie mille comunque

Strano, ho controllato e la libreria fa uso della sintassi PROGMEM "nuova"!!

Visto che avevi ricevuto anche questo messaggio

Più di una libreria trovata per "TinyGPS.h"
...

non è che hai una installazione incasinata? ma qui è meglio che ti dica qualcosa @Guglielmo, io di mac non capisco nulla :frowning:

Comunque, per favore posta tutte le righe di errore, fai un bel copia-incolla.

Federico

PS
Prova con l'esempio NMEAtest/NMEAtest.ino

Self-test Program
NMEAtest
For this program, No GPS device is required. Test bytes are streamed from PROGMEM character arrays.

non funziona nemmeno con NMEAtest, gli errori sta volta sono

Arduino:1.8.10 (Mac OS X), Scheda:"Arduino/Genuino Uno"

NMEAtest:59:4: error: #error NMEAGPS_PARSE_GGA, GLL, GSA, GSV, RMC, VTG and ZDA must be defined in NMEAGPS_cfg.h!
   #error NMEAGPS_PARSE_GGA, GLL, GSA, GSV, RMC, VTG and ZDA must be defined in NMEAGPS_cfg.h!
    ^~~~~
NMEAtest:75:4: error: #error GPS_FIX_LOCATION_DMS must be defined in GPSfix_cfg.h!
   #error GPS_FIX_LOCATION_DMS must be defined in GPSfix_cfg.h!
    ^~~~~
NMEAtest:95:4: error: #error GPS_FIX_HDOP must be defined in GPSfix_cfg.h!
   #error GPS_FIX_HDOP must be defined in GPSfix_cfg.h!
    ^~~~~
NMEAtest:99:4: error: #error GPS_FIX_GEOID_HEIGHT must be defined in GPSfix_cfg.h!
   #error GPS_FIX_GEOID_HEIGHT must be defined in GPSfix_cfg.h!
    ^~~~~
Più di una libreria trovata per "NMEAGPS.h"
Usata: /Users/andreanocentini/Documents/Arduino/libraries/NeoGPS
exit status 1
#error NMEAGPS_PARSE_GGA, GLL, GSA, GSV, RMC, VTG and ZDA must be defined in NMEAGPS_cfg.h!

Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"

analizzando bene il codice oltretutto non saprei dove attaccare i pin. rx. e tx

In questo test non serve neanche il modulo.
Quelli sono errori risolvibili.
Fatti una copia dei file NMEAGPS_cfg.h e GPSfix_cfg.h, poi li apri gli originali e decommenti tutte le define elencate nelle righe di errore (NMEAGPS_PARSE_GGA, NMEAGPS_PARSE_GLL, etc), poi compila di nuovo.

Quello che non mi piace è sempre la presenza della doppia libreria, comunque prova.

Federico