Page 1 of 4

[Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 12:14
by Zip
nome in codice BBC :lol:
sto sviluppando una piccola applicazione in bennu per fare un orologio binario
per chi non sa come leggerlo andate qui
e per approfondire andate qui
a breve lo screen ;)
(non so se bennu riesca a leggere l'orario dalla wiz e dal caanoo, ma lo spero :) )

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 12:18
by Zip
ecco lo screen di come dovrebbe venire ancora lo devo sistemare manca la fila di "finti led" per i secondi
Image

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 13:49
by Zip
Ragazzi qualcuno vuole collaborare?
gigios anche tu se vuoi, cosi dai un infarinata di bennu :)

sono arrivato al punto che devo convertire le ore in binario,
tipo
le 13 è
0 0 0 0 1 1 0 1
le 12
0 0 0 0 1 1 0 0
e cosi via
ma non some come ottimizzare la conversione , perche non esiste un modulo gia fatto e dovrei fare 24 condizioni if solo per le ore, avete un idea?

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 14:21
by gigios
Scusa la domanda ma se non erro un orologio binario è praticamente la rappresentazione di ogni 'cifra' di ore/minuti/secondi in formato binario, giusto?

Quindi dovrebbe essere una cosa tipo:

13:25:43

diventa

1 = 1
3 = 11

2 = 10
5 = 101

4 = 100
3 = 11

Quindi la prima fase, secondo me, è riuscire ad estrapolare le singole cifre che compongono l'ora/minuti/secondi e a quel punto, per ognuna, calcolare il giusto valore binario.

Purtroppo non ho ancora avuto modo di vedere Bennu e quindi non conosco le funzioni 'matematiche' e non che implementa.
Ipotizzando che la divisione la gestisca per convertire in binario potresti semplicemente effettuare delle divisioni per due.
Forse un esempio è più semplice:
Vogliamo convertire il numero 9 in decimale, quindi cominciamo ad effettuare le divisioni:

9/2 = 4,5 (non essendo un valore intero settiamo il bit a 1 e teniamo 4 come valore per la divisione successiva)
4/2 = 2 (valore intero, quindi bit a 0)
2/2 = 1 (valore intero, quindi ancora bit a 0)
1/2 = 0,5 (valore non intero, quindi bit a 1 e fine delle divisioni)

Il risultato è quindi 1001 = 9
Proviamo ora con 6:

6/2 = 3 (bit 0)
3/2 = 1,5 (bit 1)
1/2 = 0,5 (bit 1)

risultato 110 = 6

ATTENZIONE, l'ultimo bit calcolato è il primo da utilizzare (mi sono spiegato da cani :lol: )
Praticamente il valore binario va letto partendo dall'ultimo bit calcolato sino al primo, quindi 6 non è 011 ma 110.

Non so se 'mi sono capito' :D

edit: Ho fatto una piccola ricerca con google, forse qui è spiegato decisamente meglio come fare le conversioni (magari esiste nativamente qualche cosa anche in Bennu).
Convertire da decimale a binario

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 14:40
by Zip
si gigios funziona cosi l'orologio in binario,
pero ci sono 2 versioni binario puro, e BCD
quella che hai detto tu
13:25:43

diventa

1 = 1
3 = 11
è la BCD

nella pura invece per fare 13 si fa 00001101 invece di 00000001 + 00000011
nel mio progetto comunque implementeremo la conversione BCD che è piu facile da leggere
Quindi la prima fase, secondo me, è riuscire ad estrapolare le singole cifre che compongono l'ora/minuti/secondi e a quel punto, per ognuna, calcolare il giusto valore binario.
non credo sia un problema la facciamo considerare come stringa di testo e assegniamo al primo carattere una variabile e al secondo carattere un altra variabile
Vogliamo convertire il numero 9 in decimale, quindi cominciamo ad effettuare le divisioni:

9/2 = 4,5 (non essendo un valore intero settiamo il bit a 1 e teniamo 4 come valore per la divisione successiva)
4/2 = 2 (valore intero, quindi bit a 0)
2/2 = 1 (valore intero, quindi ancora bit a 0)
1/2 = 0,5 (valore non intero, quindi bit a 1 e fine delle divisioni)
non conoscevo questo metodo di conversione, probabilmente hai risolto il mio problema
riassumendo si divide la cifra che si vuole convertire, se viene ",5" è 1 se è intera è 0 ottimo
Purtroppo non ho ancora avuto modo di vedere Bennu e quindi non conosco le funzioni 'matematiche' e non che implementa.
sono uscito pazzo a trovare qualcosa ma niente nessun modulo sembra supportare la conversione

ti ringrazio gigios mi hai illuminato ( :idea: )
se hai tempo in questi giorni e ti scarichi il toolpack 2.2 magari ti passo il sorgente e mi aiuti a finirlo
grazie ancora :)

adesso magari creo un piccolo tool che converte in binario basandomi su questo metodo

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 15:06
by Zip

Code: Select all

//CONVERTITORE v.0.1

global
int numero; 
string risultato;
string binario;

begin
    set_mode(320,240,16); 
    write(0,10,10,0,"dec2bin v.1 premi s");
	numero=9;
	 write_var(0,210,5,0,numero);
     write_string(0,240,5,0,& risultato);
	 write_string(0,210,15,0,& binario);
	loop
	 if (key(_s)); 
	  converti();
     end
	 frame;
	end
   let_me_alone();
end



process converti()
begin
   risultato=numero/2;
end
ecco l'abbozzo del convertitore
ora devo fare che il passaggio della divisione viene ripetuto
e probabilmente devo aggiungere delle variabili transitorie, se entri nella chat ti dico come fare per fare partire bennu

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 15:10
by gigios
Zip wrote:ecco l'abbozzo del convertitore
ora devo fare che il passaggio della divisione viene ripetuto
e probabilmente devo aggiungere delle variabili transitorie, se entri nella chat ti dico come fare per fare partire bennu
Guarda, purtroppo ora sono al lavoro ;) e quindi ho delle difficoltà a fare i vari test 8-)

Diciamo che al momento hai tutto il mio supporto 'morale' :P

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 15:14
by Zip
il risultato della divisione mi viene intero :( vediamo se riesco a fare vedere i decimali
edit!
ci sono riuscito bisognava impostare come "float" sia numero che risultato

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 20:14
by Zip
oddio visto che col convertitore sono fermo ho fatto una cosa di una complessita immane!
e il bello è che giustamente non funziona

Re: [Nuovo progetto] Bennu Binary Clock

Posted: 7 Jun 2011, 22:23
by gigios
Questa sera non riesco a vedere nulla.
mi riprometto domani di dare un occhio alla tua routine di conversione x capire un po' come agire e soprattutto per cominciare con Bennu ;)