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 https://store.drotek.com/DP0107).
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