Topic permanente di programmazione newbie

Ma daaaai è bellissimo XD azz, certo che sono proprio pochi 20x4, visto che avevo ragione a pensare di dovermi "esercitare"?

Intanto vado avanti...... Ecco il prossimo problema:

Serial.begin(BAUD); Serial.println("Scegli l'operazione:"); Serial.println("0: FINE"); Serial.println("1: Lettura fuse"); Serial.println("2: Ripristino fuse default"); Serial.println("3: Scrittura fuse personali"); Serial.println("4: Erase micro"); while(response == NULL) {

while (Serial.available() == 0); // aspetta un carattere response = Serial.read(); // legge la risposta dell'utente Serial.end(); // chiude la seriale altrimenti crea problemi nelle letture/scritture dei fuse

switch(response) { case '0': //fine operazione Serial.begin(BAUD);

Allo stato attuale eseguo una qualsiasi voce (in realtà per ora solo 0-1-2) e poi termino il programma, a regime mi richiederà di inserire un micro e avviare la procedura. Ma mi sono reso conto che in alcuni casi potrebbe tornarmi molto utile rieseguire questo menu dopo aver fatto una scelta; p.es. scelgo di leggere i fuse attuali (voce di menu 1) e poi, una volta visti, decido di programmarli (voce 2) o di uscire (voce 0). Si può fare qualcosa? Ho pensato di metterlo in una routine ma poi dovrei fare un menu per accedere al menu? :fearful:

legacy: @menni se vuoi ti faccio il porting su linux, con interfaccia testuale, cosi' viene un tool moto hackerso e ci regalano anche adesivi geek =P

legacy, parla italiano corrente, non ho capito una mazza di ciò che mi stai gentilmente proponendo :blush:

credo che la poposta si riferisca al lavoro di Astro, il che include una bella faccia tosta

il caro legacy flameman non si smentisce mai

io scrivo ai moderatori lettere per bannare gli utenti che ritengo giusto bannare, semplice e lineare non mi serve girare attorno alle cose come e' tua abitudine

che e' sta storia del supporto per linux di uno sketch arduinico ? lo sketch di menny funzionera' su arduino ide per linux x windows x chi vuoi tu, non serve nessun tuo intervento

astrobeed:

menniti: azz allora finisci sicuro prima di me, qui ogni passo è una tragedia =(

Ecco la prima preview :)

Ciao Astro, ma il prog l'hai fatto tu? come funziona? arduino controlla le matrici come se fosse un lcd reale? avevo già intenzione di farlo...

@Testato, ora mi conosci in quanto scrivo sul forum da un pezzo e non mi pare di aver mai dato inutili noie a nessuno. detto questo non voglio prendere le difese di nessuno ma stavolta Legacy che bene o male è sempre stato contestato ha proposto di fare un lavoro che potrebbe venire utile all'intera comunità di smanettoni quali siamo noi, non ha senso vivere in questo clima, se vi siete rimbeccati in altri ambiti amen, ha proposto una cosa che ritengo utile, non bocciargliela a priori. Detto questo, mi metto nei panni del moderatore al posto del Prof. se avete qualche questione risolvetela in privato senza portare via spazio all'interessante topic :)

Prima release effettiva del programma, molto in beta e con ancora molte cose da sistemare, giusto per capire di cosa stiamo parlando e avere le prime impressioni e commenti sull’interfaccia.
L’eseguibile lo scaricate qui, non necessità di installazione e non richiede nessuna dipendenza esterna quali runtime, dll, active X, framework vari, a me piace scrivere il software in modo che sia il meno invasivo possibile :slight_smile:
Facendo riferimento all’immagine allegat:
Sulla schermata oltre alle righe del display c’è un check box che permette di attivare/disattivare la ricezione sulla seriale, con relativo reset di Arduino quando si apre la Vcom, un campo di selezione della porta com, all’avvio il programma cerca automaticamente tutte le seriali presenti, un tasto CFG che apre il box di configurazione della seriale, quattro tasti che permettono di scegliere la geometria del display.
Una volta lanciato il programma basta scegliere la Vcom di Arduino, eventualmente settare il baud rate, scegliere la geometria del display da emulare tra i valori disponibili, 2x16, 2x20, 4x16, 4x20, attivare la seriale vistando il relativo campo per iniziare a lavorare.
Attualmente il software tutto quello che riceve dalla seriale lo mette in fila sul display senza fare nessuna distinzione e nessuna separazione, le righe attive visualizzano tutte le stessa cosa, è solo per verificare che c’è la ricezione dei dati, il prossimo step è scrivere la libreria per Arduino, con lo stesso stile della Liquid Crystal, e implementare il protocollo di dialogo tra l’emulatore e Arduino.

Vdisp_Beta.JPG

astrobeed: Prima release effettiva del programma, molto in beta e con ancora molte cose da sistemare, giusto per capire di cosa stiamo parlando e avere le prime impressioni e commenti sull'interfaccia. L'eseguibile lo scaricate qui, non necessità di installazione e non richiede nessuna dipendenza esterna quali runtime, dll, active X, framework vari, a me piace scrivere il software in modo che sia il meno invasivo possibile :) Facendo riferimento all'immagine allegat: Sulla schermata oltre alle righe del display c'è un check box che permette di attivare/disattivare la ricezione sulla seriale, con relativo reset di Arduino quando si apre la Vcom, un campo di selezione della porta com, all'avvio il programma cerca automaticamente tutte le seriali presenti, un tasto CFG che apre il box di configurazione della seriale, quattro tasti che permettono di scegliere la geometria del display. Una volta lanciato il programma basta scegliere la Vcom di Arduino, eventualmente settare il baud rate, scegliere la geometria del display da emulare tra i valori disponibili, 2x16, 2x20, 4x16, 4x20, attivare la seriale vistando il relativo campo per iniziare a lavorare. Attualmente il software tutto quello che riceve dalla seriale lo mette in fila sul display senza fare nessuna distinzione e nessuna separazione, le righe attive visualizzano tutte le stessa cosa, è solo per verificare che c'è la ricezione dei dati, il prossimo step è scrivere la libreria per Arduino, con lo stesso stile della Liquid Crystal, e implementare il protocollo di dialogo tra l'emulatore e Arduino.

Genialeeee!! ma il sorgente si puo avere?

EDIT: mi sa che c'è un errore, non trova il riferimento alla libreria BORLNDMM.dll EDIT2: ok servono piu di qualche libreria per farlo funzionare

igor97: Ciao Astro, ma il prog l'hai fatto tu? come funziona? arduino controlla le matrici come se fosse un lcd reale? avevo già intenzione di farlo...

Ovviamente la sto scrivendo io :) L'idea è di avere su Arduino una libreria aggiuntiva che implementa le stesse funzioni della liquidcrystal, cambierà solo il nome principale, che ti permette di visualizzare sul pc quello che normalmente mandi al display senza averlo fisicamente, ovvero un display virtuale che può far comodo sia in fase di sviluppo del software per verificare il funzionamento che come semplice GUI universale nei limiti imposti da un piccolo LCD da un massimo di 4 righe da 20 caratteri. Non escludo di ampliarla in futuro con altre geometrie, p.e. 2x40 e 4x40, e altre funzionalità, dipende molto dall'interesse che ci sarà attorno, una volta pronta la versione 1.0 definitiva aprirò un topic dedicato.

astrobeed:

igor97: Ciao Astro, ma il prog l'hai fatto tu? come funziona? arduino controlla le matrici come se fosse un lcd reale? avevo già intenzione di farlo...

Ovviamente la sto scrivendo io :) L'idea è di avere su Arduino una libreria aggiuntiva che implementa le stesse funzioni della liquidcrystal, cambierà solo il nome principale, che ti permette di visualizzare sul pc quello che normalmente mandi al display senza averlo fisicamente, ovvero un display virtuale che può far comodo sia in fase di sviluppo del software per verificare il funzionamento che come semplice GUI universale nei limiti imposti da un piccolo LCD da un massimo di 4 righe da 20 caratteri. Non escludo di ampliarla in futuro con altre geometrie, p.e. 2x40 e 4x40, e altre funzionalità, dipende molto dall'interesse che ci sarà attorno, una volta pronta la versione 1.0 definitiva aprirò un topic dedicato.

:grin: una bellissima idea... comunque per avviarlo ho dovuto scaricare 2 librerie: CC3260MT.DLL e borlndmm.dll

igor97: EDIT: mi sa che c'è un errore, non trova il riferimento alla libreria BORLNDMM.dll EDIT2: ok servono piu di qualche libreria per farlo funzionare

Colpa della fretta :) Ho compilato in modalità debug e quelle librerie non vengono incluse automaticamente nel sorgente, cinque minuti e aggiorno il file scaricabile in versione release.

Aggiornato l'eseguibile, ora gira senza problemi senza nessuna dll aggiuntiva.

astrobeed: Aggiornato l'eseguibile, ora gira senza problemi senza nessuna dll aggiuntiva.

ok grazie :D

igor97: Genialeeee!! ma il sorgente si puo avere?

Della libreria per Arduino ovviamente si, idem per la parte PC, lo rilascerò solo a lavoro finito, però è sviluppato in C++ tramite Cbuilder Borland versione professional, è il compilatore che uso per lavoro, senza quello e tutte le sue librerie non è possibile ricompilarlo. Ulteriore dettaglio per quanto riguarda il lato Arduino, la nuova libreria, che sto scrivendo, si chiama vLcd e qualunque programma scritto per usare la liquidcrsytal potrà utilizzare questo display virtuale su pc senza modificare una sola riga, basterà cambiare l'nizializzazione tipica da:

#include 

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16,2);

In:

#include 

// initialize the library.
vLcd lcd()

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16,2);

beh allora aspetto con ansia il lavoro finito :grin: :grin:

ratto93: @Testato, ora mi conosci in quanto scrivo sul forum da un pezzo e non mi pare di aver mai dato inutili noie a nessuno. detto questo non voglio prendere le difese di nessuno ma stavolta Legacy che bene o male è sempre stato contestato ha proposto di fare un lavoro che potrebbe venire utile all'intera comunità di smanettoni quali siamo noi, non ha senso vivere in questo clima, se vi siete rimbeccati in altri ambiti amen, ha proposto una cosa che ritengo utile, non bocciargliela a priori. Detto questo, mi metto nei panni del moderatore al posto del Prof. se avete qualche questione risolvetela in privato senza portare via spazio all'interessante topic :)

Guarda, io non ho capito questa storia del porting su linux perché il firmware si carica sul micro e da PC, linux o Windows che sia, basta un qualsiasi programma di emulazione terminale, nemmeno il serial monitor. Detto questo inoltro la preghiera a tutti di chiudere qui e non intervenire sugli interventi di altri, accettabili o meno che siano; ho aperto questo Topic per imparare e per chi volesse imparare, quindi smettetela gentilmente; Vi chiedo PER FAVORE di eliminare TUTTI gli interventi che non sono propositivi sul tema del Topic, attacchi o difese che siano o chiedo ad Uwe di farlo lui, e se non lo fa lui lo faccio io bloccando il Topic e buonanotte. E vi prego anche di non commentare il mio commento né per darmi ragione né per darmi torto. Grazie.

igor97: beh allora aspetto con ansia il lavoro finito :grin: :grin:

Per completarlo al 100% ci vorrà un pochino di tempo, non credo prima della fine della prossima settimana, però già domani dovrei avere la prima beta release della libreria per Arduino anche se con funzionalità minimali.

astrobeed:

igor97: beh allora aspetto con ansia il lavoro finito :grin: :grin:

Per completarlo al 100% ci vorrà un pochino di tempo, non credo prima della fine della prossima settimana, però già domani dovrei avere la prima beta release della libreria per Arduino anche se con funzionalità minimali.

Astro, sei un grande e lo dico da tempi NON sospetti ;) Sto continuando col mio lavoro spero entro domani di portarlo a termine; mi serve aiuto su una cosa che ho chiesto qualche post fa prima che iniziasse una delle solite ridicole polemiche a cui sono costretto ad assistere spesso sul Forum, e che spero sia definitivamente chiusa; se la recuperi, ma vale per tutti, mi farebbe piacere trovare una soluzione.

astro sto' facendo dei test su un 8x2 i2c. insieme all'autore della libreria liquidcristal i2c stiamo adattando un nuovo controller.

visto che la liquidcristal i2c e' compatibile con i comandi della liquidcristal originale, si puo' usare questo tuo vlcd con i2c ?

e' difficile aggiungerci la geometria 2x8

grazie, sei sempre il piu' grande :)

Testato: astro sto' facendo dei test su un 8x2 i2c. insieme all'autore della libreria liquidcristal i2c stiamo adattando un nuovo controller.

visto che la liquidcristal i2c e' compatibile con i comandi della liquidcristal originale, si puo' usare questo tuo vlcd con i2c ?

e' difficile aggiungerci la geometria 2x8

grazie, sei sempre il piu' grande :)

Test, se è quello del polacco tienimi aggiornato, ne ho preso uno tempo fa per usi futuri, ma quando sarà non saprei come usarlo. Grazie.