| Libero51
| Inviato il: 3/8/2010,07:18
|
X Bolle 5 variabili in un simile contesto sono preziose come . . . il pane.
Visto che è i settaggi dei programmi sono fissi per tutto il programma sarebbe molto utile prevedere la possibilità di usare costanti che incidono solo sul compilatore e non sul compilato.
Se i quattro sensori dell'inseguitore rimangono sotto una certa soglia per un certo tempo lo manderemo . . . a nanna . . . beato lui . . . aahhhhhhh . In questo modo useremo lo porte di IN per i finecorsa.
| | | | NonSoloBolleDiAcqua
| Inviato il: 3/8/2010,07:45
|
CITAZIONE (Libero51 @ 3/8/2010, 06:59) Mi sa che stiamo correndo troppo . . . così ne perdiamo per strada troppi. Cercherò di volta in volta di aiutarti con un pò di didattica grezza grezza . Stai facendo un lavoro sensazionale . E' normale che l'ansia del produrre un risultato ci faccia saltare troppe spiegazioni ma lo scopo fondamentale è quello di coinvolgere il maggior numero di utenti . Esistono delle istruzioni del programma (una specie di istruzioni) sono sul file leggimi.txt che viene caricato quando si sulla barra dei menù si va su info...li aggiorno sempre i comandi e le cose nuove. Inoltre il progetto è partito perchè era sospinto da tanti....vedi quì...
ma poi quando il gioco si fa duro...
CITAZIONE (Libero51 @ 3/8/2010, 06:59) Parliamo di Soft . . . solo tu puoi decidere fino a che punto è utile coinvolgermi. Fino a quando non ti stufi...hahaha
CITAZIONE (Libero51 @ 3/8/2010, 06:59) Sto pensando che se il compilatore durante il test di debug scrivesse ad ogni ciclo su un file txt la configurazione di porte , variabili, convertitori , potrei usare quel file come sorgente per un' applicazione grafica di supporto. Una specie di editor grafico che dia la posiibilità a tutti di disegnare uno schemino animato del progetto. Ottimo direi...bellissima idea!!!
CITAZIONE (Libero51 @ 3/8/2010, 06:59) Associando una porta ad un led colorato o ad una pompa , o ad un servo . . . associando il valore dei convertitori a delle caselle di testo e prevedendo un piccolo set di disegno ognuno potrebbe disegnarsi il proprio display virtuale . . . per ora. Ti seguo fino ad un certo punto...conoscendoti so che hai in mente una cosa molto figa
CITAZIONE (Libero51 @ 3/8/2010, 08:18) X Bolle 5 variabili in un simile contesto sono preziose come . . . il pane. Sto ancora prendendo le misure...forse mettiamo i float e le stringhe...non voglio partire largo...insomma mi occorrono altri 2 o 3 giorni...lavoro la notte.
CITAZIONE (Libero51 @ 3/8/2010, 08:18) Visto che è i settaggi dei programmi sono fissi per tutto il programma sarebbe molto utile prevedere la possibilità di usare costanti che incidono solo sul compilatore e non sul compilato. Non ho capito...
CITAZIONE (Libero51 @ 3/8/2010, 08:18) Se i quattro sensori dell'inseguitore rimangono sotto una certa soglia per un certo tempo lo manderemo . . . a nanna . . . beato lui . . . aahhhhhhh . In questo modo useremo lo porte di IN per i finecorsa. Se vedi nelle istruzioni è presente anche il comando TIME...questo interroga (se c'è) un chip esterno al processore che torna l'ora minuti secondi...lo so che non centra nulla con quello che hai scritto...ma considera le applicazioni...per non parlare del WIFY...vabbè ma ora è prematuro. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | accu
| Inviato il: 3/8/2010,09:39
|
Molto interessante, mi si è risvegliata la curiosità, dopo il para. Vi sto seguendo e....basta! accu
| | | | Libero51
| Inviato il: 3/8/2010,10:14
|
CITAZIONE (NonSoloBolleDiAcqua @ 3/8/2010, 08:45) . . . Sto ancora prendendo le misure...forse mettiamo i float e le stringhe...non voglio partire largo...insomma mi occorrono altri 2 o 3 giorni ...lavoro la notte. . . . Non ho capito... ...per non parlare del WIFY... con 256 byte di programma rinuncio a stringhe e float, scrivo in Basic ma penso in Assembler, 5 variabili a 16 bit sono una strettoia che mi ha fatto pensare alle semplici costanti.
La dichiarazione di costante nel programma permetterebbe di usarla senza intaccare le variabili. Potrebbe servire , per esempio per valori di parametri che rimangono costanti nel programma come appunto i settaggi di sensibilità della soglia di differenza tra le coppie di fotodiodi dell'inseguitore . Il compilatore sostituisce la costante con il suo valore . . . ma questo tu lo sai . . . anzi sei in grado di spiegarglielo . . . eheheh
Con gli operatori booleani è comunque possibile usare i 16 bit di una variabile per ottenerne 2 a 8 bit , 4 a 4 bit , 8 a 2 bit . . . 16 ad 1 bit.
. . . gioco . . . quando posso . . . possibilmente senza WIF. nei paraggi.
Saluti
P.S. il file leggimi.txt è la mia Guida . . . essenziale . . . va benissimo. purtroppo ci tocca scrivere parecchio e questo aumenta la possibilità di errori di distrazione.
| | | | NonSoloBolleDiAcqua
| Inviato il: 3/8/2010,13:33
|
CITAZIONE (Libero51 @ 3/8/2010, 11:14) con 256 byte di programma rinuncio a stringhe e float, scrivo in Basic ma penso in Assembler, 5 variabili a 16 bit sono una strettoia che mi ha fatto pensare alle semplici costanti. 256 Byte sono i token ...variabili e costanti incluse...cioè da qualche parte vanno messi. Il programma BAsic può essere anche molto grande...ma alla fine il tokenizzatore cerca di comprimere...per farlo entrare nel 256 byte...se non ci riesce non fa niente...andrà su eprom esterna..(2 Euro e un chip da 8 pin in più...non voglio partire a priori con quello). In questa ottica tiriamo giù il parser e la gestione delle variabili...( non più A,B,C e D ma VAR=3+(4*A)+c oppure CIAO=PIPPO)...tanto ad essere complicato è il firmware all'interno del chip. Insomma...proseguiamo per approssimazioni successive...ma sempre ben mirate.
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | Libero51
| Inviato il: 3/8/2010,22:06
|
Ho aggiornato il programma dell'inseguitore con alcune funzioni aggiuntive. Lo scopo non è quello di ottenere una versione definitiva ma di portare al limite le possibilità offerte dalla versione 05 e scoprire eventuali bugs , miei compresi . Le operazioni di test sono molto più onerose della prima stesura. Se uno dei quattro fotodiodi non raggiunge una illuminazione prestabilita (>10) l'inseguitore va in stand by e dopo un certo periodo in cui i fotodiodi sono tutti sotto la soglia l'inseguitore si posiziona in . . . sleep. In verità non dorme , ogni tanto controlla se il sole è tornato a splendere , il giorno dopo. I finecorsa che agiscono sulla porta di IN sono solo un esercizio didattico e non escludono quelli di sicurezza sul circuito elettrico dei motori. Ho usato quasi tutto quello che c'era . . .
10 '-----CENTRALINA INSEGUITORE SOLARE A DUE ASSI CON STAND BY E SLEEp 11 ' LA PORTA 0 PILOTA IL MOTORE X VERSO SINISTRA VALORE 1 12 ' LA PORTA 1 PILOTA IL MOTORE X VERSO DESTRA VALORE 2 13 ' LA PORTA 2 PILOTA IL MOTORE Y VERSO IL BASSO VALORE 4 14 ' LA PORTA 3 PILOTA IL MOTORE Y VERSO L'ALTO VALORE 8 15 ' CADS1: FOTODIODO SINISTRO , CADS2: FOTODIODO DESTRO 16 ' CADS3: FOTODIODO ALTO , CADS4: FOTODIODO BASSO 17 ' LA SOGLIA DI INTERVENTO VALE 0
20 CADS=4 ' vengono previsti 4 convertitori analogici-digitali
30 OUT=C ' la porta di uscita viene settata con i bit della variabile C , originariamente vale 0 35 C=0 ' inizia il ciclo e la variabile C viene azzerata , i vari test la modificheranno aggiorneranno i singoli bit 41 IF D = 15 THEN 78 ' salta a 78 se i quattro fotodiodi superano la soglia 42 '-------------------- tutti o qulche fotodiodo non supera la soglia 43 WAITS 1 ' sostituire con 180 per attendere tre minuti : stand by 44 IF D<> 0 THEN 78 ' salta a 78 se qualche fotodiodo supera la soglia 50 '---------------------tutti i fotodiodi non superano la soglia 51 E+=1 58 IF E <=5 THEN 78 59 '-------------------- dopo 6 tentativi pari a 18 minuti metti in sleep controllando i finecorsa 60 A= INP AND 1 61 IF A=1 THEN 63 62 C=1 63 A= INP AND 2 64 IF A =2 THEN 66 65 C+=4 66 A= INP AND 3 67 IF A = 3 THEN 70 68 GOTO 30 70 '----------------------- controlla se riattivare 71 C=0 72 E=0 'contatore di tentativi 77 '---------------------- 78 D=0 ' la variabile D viene azzerata , controlla se mandare a nanna l'inseguitore 79 ' ELABORA ORIZZONTALE 80 A=CADS1 ' la variabile A viene caricata con il valore del sensore sinistro 81 IF A<= 10 THEN 90 82 D=1 ' primo sensore sufficiente 90 B=CADS2 ' la variabile B viene caricata con il valore del sensore destro 91 if B <=10 then 100 92 D+=2 'secondo sensore sufficiente 100 IF A >=B THEN 160 ' se A è maggiore o uguale a B salta a 160 110 '--------------------------------------B è maggiore di A , il sensore destro è più illuminato 120 IF B-A<=0 THEN 210 ' se la differenza non raggiunge la soglia salta a 210 130 '--------------------------------------la differenza supera la soglia 140 C=2 ' attiverà la porta 1 : il servo orizzontale deve girare a sinistra 150 GOTO 210 'salta a 210 160 '-------------------------------------- A è maggiore o uguale a B, il sensore sinistro è maggiormente o ugualment illuminato 170 IF A-B <=0 THEN 210 ' se la differenza non supera la soglia salta a 210 180 '--------------------------------------la differenza supera la soglia 190 C=1 ' attiverà la porta 0 : il servo orizzontale deve girare a destra 200 ' ELABORA VERTICALE 210 A=CADS3 ' la variabile A viene caricata con il valore del sensore alto 211 IF A<= 10 THEN 220 212 D+=4 ' terzo sensore sufficiente 220 B=CADS4 ' la variabile B viene caricata con il valore del sensore basso 221 IF B<= 10 THEN 230 222 D+=8 ' quarto sensore sufficiente 230 IF A>=B THEN 236 231 '--------------------------------------B è maggiore di A , il sensore basso è più illuminato 232 IF B-A <=0 THEN 240 ' se la differenza non supera la soglia salta a 240 233 '--------------------------------------la differenza supera la soglia 234 C+=8 ' attiverà la porta 3 : il servo verticale deve girare verso il basso (somma 8 a C) 235 GOTO 240 'salta a 240 236 '-------------------------------------- A è maggiore o uguale a B 237 IF A-B <=0 THEN 240 ' se la differenza non supera la soglia salta a 240 238 '--------------------------------------la differenza supera la soglia 239 C+=4 'attiverà la porta 2 : il servo verticale deve girare verso l'alto (somma 4 a C) 240 IF D >=15 THEN 250 241 C=0 250 GOTO 30 'salta a 30
Saluti
P.S. a proposito di debug :
63 A= INP AND 2 64 IF A =2 THEN 66
Avrei scritto
63 IF IMP AND 2 = 2 THEN 66
ma mi pare che non funziona .
| | | | NonSoloBolleDiAcqua
| Inviato il: 3/8/2010,22:45
|
CITAZIONE (Libero51 @ 3/8/2010, 23:06) P.S. a proposito di debug :
63 A= INP AND 2 64 IF A =2 THEN 66
Avrei scritto
63 IF IMP AND 2 = 2 THEN 66
ma mi pare che non funziona . Vuoi vedere se mi distraggo ad ora tarda? E invece no....
Questa funge... 63 IF (INP AND 2) = 2 THEN 66 perchè è questione di priorità tra gli operatori...non so come si comporta il vb6 o un altro linguaggio...vediamo se lasciare il parser così com'è...partiamo dal presupposto che se il comportamento è diverso...sbagliano gli altri... (scherzo)!!! Miiiiiii stai facendo le punci compilatore....benissimo...vai vai così...che a breve si decolla!!!!!! Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | Morzilla
| Inviato il: 4/8/2010,07:04
|
CITAZIONE (NonSoloBolleDiAcqua @ 3/8/2010, 08:45) ... Esistono delle istruzioni del programma (una specie di istruzioni) sono sul file leggimi.txt che viene caricato quando si sulla barra dei menù si va su info...li aggiorno sempre i comandi e le cose nuove. Inoltre il progetto è partito perchè era sospinto da tanti....vedi quì... ma poi quando il gioco si fa duro... .... Ciao Bolle!!! Io stò seguendo la discussione fin da quando è iniziata, non mi sono perso un post!! Non sono scappato via è che sono un pò impegnato ultimamente (tra lavoro, casa e tempo libero che stò impegnando per continuare quello che ho iniziato da tempo e che voglio portare a termine). Appena mi arriverà il PIC metterò su una macchina con Windows dedicata allo sviluppo con il PPTEA!
A presto!
P.S. Davvero un notevole lavoro Bolle...hai sviluppato un IDE e un linguaggio di programmazione in poco più di una settimana, e da quello che ho visto negli screen e negli esempi di libero, ha davvero le carte in regola per diventare un progetto molto serio...ancora sinceri complimenti...spero di unirmi presto alla ciurma per testarlo...
| | | | NonSoloBolleDiAcqua
| Inviato il: 4/8/2010,07:36
|
Allego la PPTEA versione 0.6 tutte le richieste pendenti dovrebbero essere state fatte, in particolare : 1.numeri di linea compresi tra 1 e 65535 ( era da 1 a 255) 2.Renum (Nuovo comando da pannello) 3.10 variabili (forse aumenteranno ancora) 4.Uscite valori inp, out, convertitori e variabili su file out.txt (flag su LogFile) Un saluto a tutti...sperando in una partecipazione maggiore... A brevissimo passeremo alla pratica con il primo progettino che utilizza il PPTEA!! Ciao Bolle
Modificato da NonSoloBolleDiAcqua - 3/2/2012, 19:26
--------------- 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: 4/8/2010,08:25
|
CITAZIONE (max_linux2000 @ 4/8/2010, 08:57) Facci vedere un piccola applicazione funzionante e vedrai che arriviamo come le mosche sul miele Vi accontenterò prestissimissimo...purtroppo questa parte è molto teorica...Libero è uno dei pochi che a mio avviso riesce a seguire i miei sbalzi teorici. Cmq aprirò una nuova sezione con le cose pratiche del PPTEA...questa viaggierà in parallelo. Sto vedendo che programma ha sviluppato Libero per l'inseguitore solare...michia ragazzi ....che secondo me lavorava all'IBM...ma non vuol farlo sapere in giro!!!! Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | Ferrobattuto
| Inviato il: 4/8/2010,11:28
|
CITAZIONE (NonSoloBolleDiAcqua @ 4/8/2010, 09:25) Sto vedendo che programma ha sviluppato Libero per l'inseguitore solare...michia ragazzi ....che secondo me lavorava all'IBM...ma non vuol farlo sapere in giro!!!! Ciao Bolle ....O alla Microsoft?....
| | | | PinoTux
| Inviato il: 4/8/2010,13:00
|
Anch'io sto seguendo lo sviluppo, ma non sono all'altezza di poter dare un contributo. Forza ragazzi! Vi seguiamo con interesse!
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza" http://iv3gfn.altervista.org/ http://pptea.altervista.org/
| | | | |
|
|
|
|
|
|
|
|
|
|
|
|
|