Se sei già registrato           oppure    

Orario: 05/05/2024 22:40:44  

 

Energia Alternativa ed Energia Fai Da Te > PPTEA

VISUALIZZA L'ALBUM

Pagine: (20)   1   2   3   4   5   6   7   [8]   9   10   11   12   13   14   15   16   17   18   19   20    (Ultimo Msg)


PPTEA : Domotica
FinePagina

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 9/9/2012,19:32

CITAZIONE (MarKoZaKKa @ 9/9/2012, 00:54)
Ancora, mi sono cimentato nella comunicazione di stringhe usando la SERIALINPSTR, e purtroppo devo dire che forse abbiamo ancora qualche problemuccio nel firmware, dato che la variabile DATO_IN saltuariamente si "sporca" con il contenuto delle stringhe virgolettate.
Il codice seguente funziona, anche se da raffinare, sia in collegamento cross che con i transceiver CAN, ma guardando l'output USB degli slave, si dovrebbe leggere sequenze del tipo " ID:C RX:CA TX:M" ed invece si leggono cose così: " ID:C RX:CA ID: TX:M" con quell' " ID:" di troppo.

Può darsi...indago domani...spero! faccine/smile.gif


CITAZIONE (PinoTux @ 8/9/2012, 15:06)
CITAZIONE
Segnalo solo a Bolle che, pur usando compilatore e firmware 2.16s, al check version, il pptea risponde 2.16s ma il compilatore segnala check error 2.16r<>2.16s

Non ho capito se bisogna ancora aspettare qualche correzione da parte di Bolle....o se va bene così...

Va sistemato...vediamo come procede Marko...quando avrà verificato tutto faremo uscire una nuova versione...il problema è che ora non ho molto tempo! faccine/sad.gif
Ciao



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 10/9/2012,13:25

Bravo Marko,
forse ho trovato il problema, è una questione molto sofisticata, per ora verificami se ti funge il codice eabasic...poi vedrò di trovare una soluzione. Non sono certo ma apparentemente il controllo con una variabile (NULL) al posto di una costante sembra non creare problemi...ma è tutto da capire...il problema è confinato in uno spazio molto ristretto...quanto prima lo uccido...spero faccine/rolleyes.gif
Ciao
Bolle

CODICE PPTEA MASTER:

CODICE
10 CADS=0
15 NULL=""
20 SETIO=&H4006C
30 SERIALSPEED=SPEED_9600
40 ADR=1
50 SENDER=65
60 TARGET=SENDER+ADR
70 OUTBIT(0)=1
80 TS=TIMER
90 SERIALOUT=CHR(TARGET)&CHR(SENDER)
100 LCDPOS=17
110 LCDWRITE="TX:" & CHR(TARGET)&CHR(SENDER)
120 WAITMS 50
130 OUTBIT(0)=0
140 WAITMS 50
150 OUTBIT(1)=1
160 WAITMS 50
170 DATO_IN=SERIALINPSTR
180 OUTBIT(1)=0
190 WAITMS 50
200 IF DATO_IN=NULL THEN 210 ELSE 220
210 IF TIMER-TS<2 THEN 150 ELSE 70
220 P=1
230 R=LEN(DATO_IN)
240 C=MID(DATO_IN,P,1)
250 IF C="L" OR C="M" THEN 290 ELSE 260
260 IF P<R THEN 270 ELSE 150
270 P++
280 GOTO  240
290 LCDPOS=33
300 LCDWRITE="RX:" & DATO_IN
310 ADR++
320 IF ADR=3 THEN 330 ELSE 340
330 ADR=ADR-2
340 WAITMS 2000
350 LCDCLEAR
360 GOTO  60


CODICE PPTEA SLAVE
CODICE
10 CADS=0
15 NULL=""
20 SETIO=&H4F7EC
30 SERIALSPEED=SPEED_9600
40 MYID=(66 +(INP AND &HC) / 4)
50 OUTBIT(1)=1
60 WAITMS 50
70 DATO_IN=SERIALINPSTR
80 OUTBIT(1)=0
90 WAITMS 50
100 IF DATO_IN=NULL THEN 40
110 USBOUT=" ID:" & CHR(MYID)
120 USBOUT=" RX:" & DATO_IN
130 WAITMS 500
140 DATO_IN=LEFT(DATO_IN,1)
150 IF ASC(DATO_IN)=MYID THEN 160 ELSE 200
160 DATO_OUT=CHR(ASC(DATO_IN)+10)
170 OUTBIT(0)=1
180 SERIALOUT=DATO_OUT
190 USBOUT=" TX:" & DATO_OUT
200 X=SERIALINPSTR 'PULIZIA BUFFER RX USANDO CAN-BUS MCP2551
210 IF X<>NULL THEN 200
220 WAITMS 50
230 OUTBIT(0)=0
240 GOTO  40



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

MarKoZaKKa

Avatar
GigaWatt


Gruppo:Utente
Messaggi:1886

Stato:



Inviato il: 10/9/2012,13:40

Nel frattempo ho rifatto le prove su cavo lungo, mettendo in serie i vari doppini, con tre PPTEA sparsi per casa ho coperto una lunghezza di bus di circa 120mt...
in giornata provo il codice che hai postato, mi dici al volo in cosa lo hai modificato?



---------------
Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 10/9/2012,21:00

Ho inserito la variabile NULL (linea 15= ed ho fatto il confronto con la variabile invece che con la costante...tutto qui...ma è solo una pezza in attesa di risolvere.
Ciao
Bolle
PS:Vedo che procedi alla grande...ho anche pensato perchè il wifi non funge...è tarato su una certa velocità per i moduli aurel...manca il setting della velocità!



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

PinoTux

Avatar
GigaWatt


Gruppo:AMMINISTRATORE
Messaggi:3509

Stato:



Inviato il: 10/9/2012,22:38

CITAZIONE
Vedo che procedi alla grande...ho anche pensato perchè il wifi non funge...è tarato su una certa velocità per i moduli aurel...manca il setting della velocità!

...forse si potrebbe fare come per la RS232.



---------------
"Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.altervista.org/
http://pptea.altervista.org/

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 11/9/2012,06:48

XMarko,
trovato il problema a livello di firmware...era più tosto del previsto...ma alla fine ha soccombuto...Firmware 2.16u provalo con qualsiasi tipo di codice.

X Pino,
se c'è spazio provo a metterlo nella prossima versione...provo a fare la consegna 2.16u.

faccine/smile.gif






Scarica allegato

PPTEA_2_16u.hex
( Numero download: 191 )



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

MarKoZaKKa

Avatar
GigaWatt


Gruppo:Utente
Messaggi:1886

Stato:



Inviato il: 11/9/2012,10:46

Ok...
riguardo al wifi, io ho provato il CAN-BUS con la seriale su tutte le velocità possibili, e non ho mai avuto problemi... non ho indagato più di tanto, ma mi pare che gli stati logici dei pin di TX ed RX a riposo siano diversi quando la porta è impostata come WIFI piuttosto che come RS232. Sarebbe bello riuscire a far funzionare i transceiver con il protocollo wifi, in maniera da avere un unico modo di trasmissione per poter trasmettere anche a slave non raggiungibili con il rame.
Adesso provo il firmware nuovo (ma non doveva essere "t" ?) , e poi semmai mi metto d'impegno su questa cosa...



---------------
Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 11/9/2012,12:18

CITAZIONE (MarKoZaKKa @ 11/9/2012, 11:46)
... ho provato il CAN-BUS con la seriale su tutte le velocità possibili, e non ho mai avuto problemi...

Faccio qualche altra pensata...forse dipende dalla cifratura...ma è tanto per dire qualcosa...quando ho tempo (sempre meno) mi ci metto.
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

MarKoZaKKa

Avatar
GigaWatt


Gruppo:Utente
Messaggi:1886

Stato:



Inviato il: 11/9/2012,16:10

...stai bravo e pensa ad altro, per quanto mi interessa, funziona anche in rs232, io farò i test del caso e poi ne riparliamo... sarebbe interessante fare la prova contraria, porta RS232 su modulo Aurel... credo che almeno in un punto dovrò usarlo (a meno di magie con le sonde e lo scivolante... faccine/smile.gif)



---------------
Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze

 

PinoTux

Avatar
GigaWatt


Gruppo:AMMINISTRATORE
Messaggi:3509

Stato:



Inviato il: 11/9/2012,18:32

Avevo scritto un messaggio ma probabilmente non l'ho inviato... faccine/rolleyes.gif
Chiedevo quali differenze ci sono fra la RS232 (TTL) e il "WiFi", e se fosse il caso di mantenere o meno quest'ultima, mi ricordo che parlavi qualcosa riguardo alla codifica manchester, ma non mi è molto chiaro il tutto, non basterebbe avere la RS232 e poi uno ci collega ciò che vuole? Mi rendo conto che non c'é una UART a gestirlo, il problema, penso da profano/praticone, e quello di gestire entrambi i buffer, sia di input che di output....sempre che ci siano... faccine/cool.gif



---------------
"Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.altervista.org/
http://pptea.altervista.org/

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 11/9/2012,20:57

Ciao Pino e Marko

il motivo è legato al segnale che deve 'ballare' ed avere una certa frequenza...facciamo un esempio, se inviamo tutti 0...il segnale è quasi sempre basso...la codifica serve cmq a far oscillare i dati costanti....quindi se mandi un segnale seriale ad un modulino aurel (od altro) che non è predisposto per la seriale...questo non funzica...la codifica oscilla e invia un segnale oscillante anche se questo è costante...e poi la decodifica risistema tutto.
Il PPTEA gestisce sia la codifica WIFI che i dati seriali...ora occorre capire come mai a marko non funge...quando ho tempo faccio vedere le differenze.
Quindi se provate la seriale su un modulo generico wireless non funzica...quelli che gestiscono la seriale costano di più. faccine/smile.gif
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 

MarKoZaKKa

Avatar
GigaWatt


Gruppo:Utente
Messaggi:1886

Stato:



Inviato il: 12/9/2012,00:06

...ho capito che devo prendere a prestito l'oscilloscopio in azienda... faccine/tongue.gif faccine/biggrin.gif



---------------
Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze

 

PinoTux

Avatar
GigaWatt


Gruppo:AMMINISTRATORE
Messaggi:3509

Stato:



Inviato il: 12/9/2012,10:01

Credo di aver capito che il segnale che "balla" in pratica è un clock che serve a tenere sincronizzato il ricevitore in attesa dei dati, ogni tanto mi sovvengono vecchi ricordi... faccine/happy.gif



---------------
"Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.altervista.org/
http://pptea.altervista.org/

 

MarKoZaKKa

Avatar
GigaWatt


Gruppo:Utente
Messaggi:1886

Stato:



Inviato il: 21/9/2012,09:02

@bolle: stavo pensando ad una cosa del genere, per rendere il progetto fruibile a tutti e non limitato al mio uso:
allocare una parte della memoria esterna per una tabella; l'indirizzo della cella di memoria lo ricavo dallo stato dalla linea di input attivata e dal tempo di pressione del pulsante, a questopunto leggo il contenuto della cella che mi riporta lo stato da assegnare alle uscite; prevedo un ciclo di "programmazione" del pptea slave per caricare/aggiornare la tabella, e la tabella di assegnazione stato ingressi/stato uscite la creo con un sw ad hoc su PC... in questo modo, una volta inserito il codice nel pptea slave, ogni modifica di funzione all'impianto la faccio via comunicazione seriale, senza riprogrammare ogni slave...
che ne dici?
Il problema è: come faccio a sapere con certezza il "base address" dal quale la eeprom esterna non è usata per il codice?



---------------
Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze

 

NonSoloBolleDiAcqua

Avatar
PetaWatt


Gruppo:AMMINISTRATORE
Messaggi:13786

Stato:



Inviato il: 21/9/2012,09:16

Direi soluzione ottima ed elegante. Per risolvere il tuo problema ,che problema non è, è molto semplice:
prendere nota della lunghezza del codice compilato (numerello presente nella fase 7 ) . Se si usa l'exp di memoria quel valore può arrivare al max a 2047...ciò vuol dire che da quel valore in poi la memoria è libera. Quindi puoi utilizzare i valori partendo dal fondo.

Esempio: se ti servono 60 Byte...la parte dati la metti da 1980 a 2040. In questo caso il valore del compilato deve essere inferiore a 1980!!!
Sono stato chiaro?

Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripetibile non esiste (by qqcreafis).

 
 InizioPagina
 

Pagine: (20)   1   2   3   4   5   6   7   [8]   9   10   11   12   13   14   15   16   17   18   19   20    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum