| NonSoloBolleDiAcqua
| Inviato il: 5/9/2012,10:04
|
CITAZIONE (MarKoZaKKa @ 5/9/2012, 10:38) 2)per qualche strano motivo, mi pare che il funzionamento del codice cambia se collego la porta USB... succede con il master, se ho l'usb scollegata, non si riescono a parlare, appena la collego e mi connetto, riparte tutto... Può esserci un baco sul firmware, devo guardare cosa ho combinato...verifico quanto prima...ma non posso in tempi rapidi...unità di misura giorni. Fammi capire non esegui letture o scritture su usb ....cioè non invii dati sulla porta con log o altro (usbout, print etc...) mentre sei in ricezione e/o trasmissione sulla seriale? Ciao
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | MarKoZaKKa
| Inviato il: 6/9/2012,08:35
|
...dammi il tempo di verificare bene, provo a togliere l'output su USB ed usare dei LED per vedere cosa succede, poi provo a mettere due LCD per visualizzare il funzionamento, poi provo a rimettere l'output su USB, e poi ti faccio sapere. NON ho, come sempre, fretta, l'importante è avere capito che con il CAN è possibile una comunicazione tra PPTEA punto-multipunto analogamente al wireless... L'ho scritto perchè magari qualcuno ha notato qualcosa del genere... p.s. stranamente (o forse non così stranamente), il protocollo wireless non funziona via CAN... solo RS232
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | NonSoloBolleDiAcqua
| Inviato il: 6/9/2012,09:03
|
Il protocollo wireless utilizza una codifica...l'rs232 è standard. Quanto prima parto per verificare il problema che hai. 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
| Inviato il: 6/9/2012,13:15
|
d'accordo che il wireless è codificato, ma visto che cambia solo il media di trasmissione, mi sarei aspettato un funzionamento identico anche sul can bus... il modulino aurel è semplicemente un "modem" radio, non agisce sui dati... o mi sbaglio?
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | NonSoloBolleDiAcqua
| Inviato il: 6/9/2012,13:37
|
CITAZIONE (MarKoZaKKa @ 6/9/2012, 14:15) d'accordo che il wireless è codificato, ma visto che cambia solo il media di trasmissione, mi sarei aspettato un funzionamento identico anche sul can bus... il modulino aurel è semplicemente un "modem" radio, non agisce sui dati... o mi sbaglio? Certo...infatti mi sarei aspettato un risultato positivo visto che la codifica Manchester non agisce sui dati. Prova a incrociare tx/rx di due pptea e vedere se funge.L'unica cosa che mi viene in mente è un filtro che limita la banda passante...cmq fammi pensare.  Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | NonSoloBolleDiAcqua
| Inviato il: 6/9/2012,14:01
|
Marko, forse ho capito il problema, forse, confermami la cosa. Allora...il firmware che gestisce la porta usb, la seriale, e la scrittura della data condivide la stessa area di memoria 84 char...se si riceve un dato usb e seriale contemporaneo...allora uno potrebbe scrivere sull'altro...ma è solo una ipotesi...cmq la cosa così come l'ho implementata non va bene..devo cambiarla. Mi dici cosa fai di preciso per focalizzare meglio il problema? Ciao Bolle PS:Hai la versione del firmware 2.16r ...giusto?
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | MarKoZaKKa
| Inviato il: 7/9/2012,07:25
|
CITAZIONE (NonSoloBolleDiAcqua @ 6/9/2012, 14:37) CITAZIONE (MarKoZaKKa @ 6/9/2012, 14:15) ...visto che cambia solo il media di trasmissione, mi sarei aspettato un funzionamento identico... ...prova a incrociare tx/rx di due pptea e vedere se funge... Allora, con l'incrocio TX/RX tra due moduli, tutto funziona perfettamente; quando collego i due MCP2551, con la comunicazione impostata su WIFI ho avuto dei problemi, così ho provato a configurarla come RS232, ed ho risolto, a parte l'"eco" della trasmissione sul pin RX, che impone una SERIALINP "a vuoto" subito dopo la trasmissione. Questo però mi costringe ad aggiungere un byte di ID trasmettitore al protocollo, cosa che col WIFI gestirei con la WIFIDISP. Per quanto riguarda l'USB, invece, mi accade che, con due PPTEA con codici che si "rimbalzano"un dato tra di loro, indipendentemente dal collegamento della porta di comunicazione (cross o canbus), facendo l'eco dei dati trasmessi/ricevuti sulla usb, se non sono collegato al PC i due PPTEA non si parlano. Ho comunque bisogno di tempo per sperimentare (ci vorrebbe una bella autoclave guasta da riparare ) Oggi sono in laboratorio, vedo nella pausa pranzo di provare a fare qualche test e ti aggiorno. Ciao!
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | NonSoloBolleDiAcqua
| Inviato il: 7/9/2012,11:20
|
CITAZIONE (MarKoZaKKa @ 7/9/2012, 08:25) Per quanto riguarda l'USB, invece, mi accade che, con due PPTEA con codici che si "rimbalzano"un dato tra di loro, indipendentemente dal collegamento della porta di comunicazione (cross o canbus), facendo l'eco dei dati trasmessi/ricevuti sulla usb, se non sono collegato al PC i due PPTEA non si parlano.
Sei stato chiarissimo e ho trovato il problema. Allego la versione 2.16s del firmware...aggiornala...e fammi sapere!!!!
Ciao
Bolle
PS:Come si farebbe senza tutti voi ...in questo caso come si farebbe senza di te.
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | MarKoZaKKa
| Inviato il: 7/9/2012,11:25
|
...si farebbe senza...
per fortuna ho il laboratorio mobile completo di PICKIT2... nella pausa dovrei riuscire...
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | PinoTux
| Inviato il: 7/9/2012,11:58
|
Ottimo, certe cose vengono fuori perché c'è qualcuno che ci lavora sopra, quindi non fare il modesto  Volevo chiedere a Bolle se è il caso di aggiornare la pagina del sito che gestisco o se è meglio aspettare...
Ancora una cosa, non riesco a trovare la discussione dove avevi messo il link al nuovo compilatore, la versione 2.16s.... Forse sarebbe il caso di mettere il tutto in quella principale? Altrimenti così le cose sono troppo sparpagliate e se si trovano è solamente per caso...
EDIT: Trovato:
Per il momento sono fermo con sperimentazioni varie.... sarà la stanchezza, non sicuramente l'età!  Bello il PicKit2, l'ho preso lo scorso estate proprio quando abbiamo cominciato a lavorarci sopra...va come una scheggia!
Modificato da PinoTux - 7/9/2012, 13:38
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza" http://iv3gfn.altervista.org/ http://pptea.altervista.org/
| | | | NonSoloBolleDiAcqua
| Inviato il: 7/9/2012,13:58
|
CITAZIONE (PinoTux @ 7/9/2012, 12:58) Forse sarebbe il caso di mettere il tutto in quella principale? Altrimenti così le cose sono troppo sparpagliate e se si trovano è solamente per caso... Hai perfettamente ragione... pensavo di passare direttamente alla fase 3.0 con i nuovi comandi e le cose sistemate...vediamo marko cosa ci dice. 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
| Inviato il: 8/9/2012,00:08
|
PERFETTO!!! con il nuovo firmware tutto và alla meraviglia, quindi ho potuto testare il funzionamento di 2 PPTEA slave che rispondono alle interrogazioni di un PPTEA master; per ora si scambiano solo un byte: il master trasmette l'id dello slave da interrogare, e lo slave risponde con il suo indirizzo +10; se lo slave non risponde, il master continua a chiamarlo fino a che non riceve risposta, poi passa a chiamare l'altro. Al PTPEA master è collegato un LCD6W che mostra l'indirizzo chiamato e la risposta ricevuta; i PPTEA slave inviano sulla USB i dati che ricevono e quello che trasmettono. Per chi non avesse disponibili gli MCP, è possibile collegare tutto senza usarli, mettendo in parallelo le linee di TX ed RX degli slave, e collegandoli incrociati ai TX ed RX del master. Dato che l'indirizzo dello slave viene letto ad ogni ciclo, se non si dispone di 3 pptea, è possibile usarne anche solo 2, cambiando al volo lo stato dei bit 2 & 3 per cambiare l'indirizzo; viste le temporizzazioni, si possono lasciare le linee di pulizia buffer, che non influiscono.
Di seguito il codice, sui bit 0 ed 1 di ciascun PPTEA va un led che indica lo stato rispettivamente di trasmissione ed attesa ricezione, i bit 2 & 3 degli slave servono ad impostare l'indirizzo di ciascuna scheda.
CODICE PPTEA MASTER:
CODICE 10 CADS=0 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) 100 LCDPOS=17 110 LCDWRITE="TX:" & TARGET & " " 120 WAITMS 50 130 OUTBIT(0)=0 140 WAITMS 50 150 OUTBIT(0)=1 160 OUTBIT(1)=1 170 WAITMS 50 180 X=SERIALINP 'PULIZIA BUFFER RX USANDO CAN-BUS MCP2551 200 IF X<>255 THEN 170 'PULIZIA BUFFER RX USANDO CAN-BUS MCP2551 210 OUTBIT(0)=0 220 OUTBIT(1)=0 230 WAITMS 100 240 OUTBIT(1)=1 250 WAITMS 50 260 DATO_IN=SERIALINP 270 OUTBIT(1)=0 280 WAITMS 50 290 IF DATO_IN=255 THEN 300 ELSE 310 300 IF TIMER-TS<2 THEN 240 ELSE 70 310 LCDPOS=33 315 LCDWRITE="RX:" & INT(DATO_IN) & " " 320 ADR++ 330 IF ADR=3 THEN 340 ELSE 350 'CON ADR=3 VENGONO CHIAMATI CICLICAMENTE GLI ID 66 E 67, CON ADR=4 SI AGGIUNGE IL 68 E COSI VIA 340 ADR=ADR-2 350 WAITMS 1000 360 LCDCLEAR 370 GOTO 60
CODICE PPTEA SLAVE:
CODICE 10 CADS=0 20 SETIO=&H4F7EC 30 SERIALSPEED=SPEED_9600 40 MYID=66 +(INP AND &HC) / 4 50 OUTBIT(1)=1 60 WAITMS 50 70 DATO_IN=SERIALINP 80 OUTBIT(1)=0 90 WAITMS 50 100 IF DATO_IN=255 THEN 40 110 USBOUT=" ADR:" & MYID 120 USBOUT=" RX:" & DATO_IN 130 WAITMS 400 140 IF DATO_IN=MYID THEN 150 ELSE 240 150 DATO_OUT=INT(DATO_IN+10) 160 OUTBIT(0)=1 170 SERIALOUT=DATO_OUT 180 USBOUT=" TX:" & DATO_OUT 190 WAITMS 50 200 X=SERIALINP 'PULIZIA BUFFER RX USANDO CAN-BUS MCP2551 210 IF X<>255 THEN 200 'PULIZIA BUFFER RX USANDO CAN-BUS MCP2551 220 OUTBIT(0)=0 230 GOTO 40 240 USBOUT=" TX:NO" 250 GOTO 40
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
Prossimamente, prove di trasmissione su bus "lungo"... Allego due foto scattate col cellulare, di qualità pessima lo so, ma la compatta è in camera da letto, e la dolcemetà, disturbata nel sonno, non si dimostra poi così dolce 
  
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | NonSoloBolleDiAcqua
| Inviato il: 8/9/2012,04:40
|
Bene bene...ok per il cambio versione! Ciao e complimenti Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | PinoTux
| Inviato il: 8/9/2012,14: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ì...
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza" http://iv3gfn.altervista.org/ http://pptea.altervista.org/
| | | | MarKoZaKKa
| Inviato il: 8/9/2012,23:54
|
Test su lunga distanza del CAN_BUS OK!  Ho collegato il PPTEA master ed uno slave da un lato di una tratta di cavo UTP Cat.5 di circa 20mt, l'altro PPTEA slave dall'altro, e la comunicazione si è stabilita senza problemi. Poi, non contento, ho messo in serie due coppie del cavo, ottenendo una tratta di 40mt,ed ho riprovato... di nuovo OK!. Stasera, ho provato a rifare il test di comunicazione usando il WIFI anzichè l'RS232, ma non è funzionato; credo che il problema sia nei differenti livelli logici assunti dai bit TX/RX del PPTEA quando configurato come WIFI piuttosto che RS232, livelli che mandano in crisi l'MCP2551, infatti, in connessione diretta funziona tutto. 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. Buonanotte!
CODICE PPTEA MASTER:
CODICE 10 CADS=0 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="" 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 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="" 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<>"" THEN 200 220 WAITMS 50 230 OUTBIT(0)=0 240 GOTO 40
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|