Pages: [1]   Go Down
Author Topic: Variabili, "stampate" alternativamente  (Read 438 times)
0 Members and 1 Guest are viewing this topic.
Capo d'Orlando
Offline Offline
God Member
*****
Karma: 0
Posts: 500
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti !

Una cosa molto strana, ho delle variabili che vengono stampate sulla seriale alternativamente, cioè un ciclo ci sono il successivo non ci sono e ricomincia !
Nel mio caso sono le variabili delle coordinate geografiche, usando il Sim908 con l'opportuna libreria (http://code.google.com/p/gsm-shield-arduino/)

Nella libreria ci sono degli sketch di esempio e caricando quello relativo al GPS le coordinate vengono stampate correttamente ad ogni inizio ciclo. Mentre nel mio no !

All'inizio pensavo che era un problema di tempo, ovvero che ogni ciclo doveva iniziare dopo 5 secondi, per esempio.
EÈ da escludere, funziona anche senza mettere un delay.

Ecco cosa vedo nella seriale, con il mio sketch:
(quelle in verde sono le variabili lat lon e alt)

Quote
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
CHECK
DHT22: OK
DS18B20: OK
Allarme: OK
Led Status: OK
SD: OK
MPL115A2: OK
GSM/GPS: OK
   Segnale GPS: OK   ||||||||||||||||||||||||||||||      3D FIXED
3807.960240;1443.546704;43.949493;19.56;92.20;101.66;SD: OK;
;;;19.62;92.90;101.66;SD: OK;
3807.960240;1443.546704;43.949493;19.69;93.10;101.59;SD: OK;
;;;19.69;93.00;101.66;SD: OK;
3807.960240;1443.546704;43.949493;19.69;92.90;101.53;SD: OK;
;;;19.75;92.80;101.66;SD: OK;
3807.960240;1443.546704;43.949493;19.81;92.70;101.53;SD: OK;
;;;19.87;92.60;101.66;SD: OK;
3807.960240;1443.546704;43.949493;19.81;92.60;101.78;SD: OK;


Mentre questo è ciò che vedo con lo sketch della libreria (senza delay), che funziona perfettamente:
Quote
GSMGSM Shield testing.

status=READY
status=GPSREADY
3D FIXED
1443.549878
3807.964340
57.857780

20130504182803.998
0.000000
1443.549878
3807.964340
57.857780

20130504182805.000
0.000000
1443.549878
3807.964340
57.857780

20130504182806.000
0.000000

In allegato trovare il mio sketch e quello della libreria.

Cosa può essere ?

grazie

* beta.ino (11.66 KB - downloaded 8 times.)
* GSM_GPRSLibrary_GPS_mod.ino (2.68 KB - downloaded 2 times.)
« Last Edit: May 05, 2013, 09:21:37 am by anerDev » Logged


Capo d'Orlando
Offline Offline
God Member
*****
Karma: 0
Posts: 500
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

UP  smiley-razz
Logged


Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21651
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Non ho studiato lo sketch, vedo che stampi tante cose in base a dei test con degli if. Prova facendo un pò di debug mettendo il print dei valori usati in quei test per verificare che effettivamente i dati siano quelli che ti aspetti e che si aspetta il codice.
Logged


Capo d'Orlando
Offline Offline
God Member
*****
Karma: 0
Posts: 500
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si esatto. Però gli if sono nel setup e funzionano tutti.
Il problema è nel loop, ovvero le variabili lat lon alt un ciclo vengono stampate il ciclo dopo no e vice versa.

:/
Logged


Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21651
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Non è che invece vengono stampate vuote perché non contengono dati?
Logged


Capo d'Orlando
Offline Offline
God Member
*****
Karma: 0
Posts: 500
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sicuramente è così. Ma perché vengono stampati alternativamente ?
Se uso lo sketch di esempio i dati li ho sempre e comunque, a prescindere dal tempo di richiesta !

Invece con il mio sketch no ! È come se non vengono memorizzati, no che non ci sono.
Logged


Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21651
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi pare di capire che tu prima scriva i dati su un file e successivamente lo riapri per leggerlo. Mi viene da pensare che nel momento in cui vai a riaprire il file i dati siano stati scritti solo sul buffer, cioè non sono ancora fisicamente presenti sulla scheda.

Prova mettendo un SD.flush() subito dopo la scrittura dei dati: questo comando dice alla libreria di svuotare il buffer e di scrivere materialmente i dati sul file.
Logged


Capo d'Orlando
Offline Offline
God Member
*****
Karma: 0
Posts: 500
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

no no, i dati vengono prima prelevati, poi spediti sulla seriale, poi spediti via radio, con un modulo rtty (costruendo la "variabile" rtty) e poi salvate sulla sd !
Quindi la sd è l'ultima cosa che viene "toccata".

Sono in un vicolo cieco !
Logged


Capo d'Orlando
Offline Offline
God Member
*****
Karma: 0
Posts: 500
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

UP
Logged


Cagliari, Italy
Online Online
Tesla Member
***
Karma: 104
Posts: 6616
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Andrea lo sai che è inutile fare gli UP qui.  smiley-roll-blue
Se qualcuno conoscesse la soluzione o avesse avuto anche solo qualche idea di come risolvere il tuo problema, secondo me, ti avrebbero già risposto.
Se non ti rispondono e perché, come me, anche gli altri non hanno la minima idea del problema e delle relative soluzioni. Quindi si torna alla prima riga.  smiley-sweat
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 0
Posts: 500
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Potrebbe anche essere che qualcuno che sa come risolvere non vada oltre la seconda pagina !
E potrei perdere occasione !  smiley-mr-green

 smiley-confuse
Logged


Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21651
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

anerDev, se avessi avuto il tuo hardware avrei provato a replicare il problema. Non avendolo... vo per ipotesi. Le ho finite  smiley-wink
Logged


Capo d'Orlando
Offline Offline
God Member
*****
Karma: 0
Posts: 500
Electronics & Web Dev, Unix User, Ω LEO, Rock/Deep Music, Tech/Science/Finance addicted, Ski/Snowboard and much more …
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie lo stesso leo72 !

Comunque sono convinto che è un problema di software ! 100%
Cioè è come se le 3 variabili fossero nulle perchè magari finisce la memoria o non so :/
Logged


Pages: [1]   Go Up
Jump to: