Ardutester - Arduino Component Tester (INCOMPLETO)

[quote author=Michele Menniti link=topic=163227.msg1307706#msg1307706 date=1373275238] Test, ma che domande fai? E' mai possibile che tu debba cercare sempre un elemento di polemica in ogni discussione? [/quote] Concordo ;) E' Arduiniano nel senso che fino ad ora ha usato l'Arduino come base. Anche la millis usa i timer, anche altre librerie accedono ai timer o manipolano le porte. Ma non mi pare che non siano coerenti con l'Arduino. Non mi pare che ci siano persone che si lamentano. Se tu non sai usare i registri, è una tua mancanza, non è l'ArduTester ad essere sbagliato ;)

Come al solito sono "leggermente" in ritardo con il rilascio dell'ultima release. E' sempre la solita teoria del maker... :grin:

@Test Sentivo la tua mancanza; Dalle polemiche sui libri fatti con l'ABC sulle spalle degli altri all'Abaco Testato Edition. Mancava sollo l'Ardutester :D

Il mio discorso vedo sia stato inteso solo da lesto. Quando parlo di Arduino intendo il sw, i comandi del reference, che sono la punta di diamante del progetto, non certo la schedina un se. Quindi tutti i commenti su scala hw vengono meno. Sono proprio i millis o gli analogread che reclamo in nome fella massaia di Voghera dei micro. Tutto ciò che è possibile tecnicamente sostituire nel listato con il reference è cosa buona è giusta, che poi se ne farà lo standalone col cond in.più o in meno, e sarà venduto ad un trilione di euro da una rivista poco importa al progetto stesso

Testato: Invece mi chiedevo, ma questo progetto cosa centra con Arduino ? Io credo sia abusato il termine,

Stavolta ti sei dato una martellata sulle mani da solo :grin: Il progetto si basa su Arduino, c'è una apposita shield da innestare su Arduino, il software è uno sketch per Arduino, il fatto che manipoli direttamente dei registri e/o usi parti di codice in C puro, ma volendo pure in assembly inline, non lo rende certo non Arduiniano, anzi è una applicazione che usa al limite estremo l'ATmega 328 in ambiente Arduino. Test sei bocciato, devi rifare l'anno :D

Dimenticavo, invece di fare critiche "assurde" dovreste dire 1000 volte grazie a Pighi che sta impegnando molto tempo, gratis, su questo progetto che vi permetterà di disporre di un utile strumento ad un costo molto contenuto.

Astro giusto per capire meglio la tua posizione vorrei sapere se il tuo commento ha tenuto conto del mio post precedente al tuo

Testato: Astro giusto per capire meglio la tua posizione

La mia posizione è molto chiara, trovo assurda la tua critica.

Grazie della chiarificazione, mi sembra talmente pro Arduino, pro condivisione, pro conoscenze, la richiesta di sostituire, solo dove e se è possibile, funzioni di basso livello con i rispettivi comandi del reference, che credevo tu avessi perso un pezzo della mia richiesta.

Sui ringraziamenti a pighi, a Pablo, ed altri che stanno lavorando al progetto non posso che accodarmi

Testato: Sono proprio i millis o gli analogread che reclamo in nome fella massaia di Voghera dei micro.

oltre che rendere il progetto portabile laddove esiste un sistema API arduino-compatibile, vedi DUE, mega, etc..

con questo non si vuole sminuire il progetto, ma dare un opinione sulla leggibilità/portabilità/complessità del codice.

BTW devo ancora leggermi le spiegazioni del codice, appena ho un pò di tempo..

Non voglio alimentare nessun flame. Penso che sia impossibile fare l'Ardutester esclusivamente con le funzioni messe a disposizione dal Reference. Grazie soprattutto a Paolo (dove era possibile) è stato Arduinizzato il più possibile.

ps) Nella nuova release ci sarà anche una parte in assembler. :grin:

pighixxx: ps) Nella nuova release ci sarà anche una parte in assembler. :grin:

+1 :grin:

pighi, mi sa che io e te ne riparliamo verso fine anno, se non la finisci di aggiungere funzionalità e revisioni :grin:

Michele, dopo che l'avrà rivisto lui, lo vorrei rivedere anche io. E come la storia delle leggi in parlamento, rimbalzano da una camera all'altra. :grin: :grin: :grin:

PaoloP: E come la storia delle leggi in parlamento, rimbalzano da una camera all'altra. :grin:

Allora sarà pronto per il 2025, forse :D

PaoloP: è letto il valore dell'ADC a 16 bit, a differenze dell'analogread che legge 2 byte e poi li unisce

mi spieghi questo pezzo? non capisco dove trovi i 16 bit.

PaoloP: Il valore viene moltiplicato per il valore di riferimento, 1.1V o 5V, diviso per 1024 (dovrebbe essere 1023??), e diviso per il numero di campioni.

confermo 1024, da 0 a 1023 sono 1024 step

Dopo la scarica, viene effettuato il test per verificare il corto delle sonde e in caso positivo si passa al sefttest interno, altrimenti si procede con la funzione CheckProbes. (che vedremo dopo mangiato) smiley-mr-green

urca, che pranzo tosto, non è acora finito? ]:D ]:D

:grin:

Uomini di poca fede. Io tra poco lo rilascio (E' stato praticamente riscritto :D) come opera compiuta poi Paolo darà una controllata e/o sistemata.

lesto:

PaoloP: è letto il valore dell'ADC a 16 bit, a differenze dell'analogread che legge 2 byte e poi li unisce

mi spieghi questo pezzo? non capisco dove trovi i 16 bit.

L'analogRead di Arduino legge indipendentemente i due registri a 8bit dell'ADC, il ADCH e il ADCL. I due registri sono contigui. Nell'Ardutester la lettura dei registri è fatta tramite ADCW che è definito come

#define ADCW    _SFR_MEM16(0x78)

al posto di

#define ADCL _SFR_MEM8(0x78)
#define ADCH _SFR_MEM8(0x79)

quindi legge con l'indirizzo del primo byte entrambi e li memorizza in 16bit. (perchè i registri sono contigui). Il problema è la portabilità perché quel #define cambia da micro a micro (motivo perché ho eliminato la compatibilità con la Leonardo). Pag 256 e 257 del datasheet linkato prima.

Che ti devo dire... dopo pranzo mi ha assalito la bimba che non mi ha dato tregua. Stanotte dovrei avere un po' di tempo libero.

p.s. Le definizioni le trovate nel file "avr/iom328p.h" che fa parte di "avr/io.h"

PaoloP: Il problema è la portabilità perché quel #define cambia da micro a micro (motivo perché ho eliminato la compatibilità con la Leonardo).

Come ti ho detto, se volete farlo utilizzabile su più schede Leonardo, posso vedere di fare qualcosa io, non è un problema. Leonardo, Uno, Mega direi no? La Due la lascerei fuori per via della sua questione dei 3V3.

Il workaround per il registro dell'ADC è già pronto, ma non è stato mai testato. A Bassano Pighi mi ha dato una Leo, vedrò se la cosa funziona, dopo essermi creato una shield "saldata". ;)

si, ma i registri letti sono gli stessi. anche se leggi 16 bit, i primi 6 (o meglio i primi 6 del registro 0x79) sono sempre a 0. L'adc rimane comunque a 10bit (mentre sebri lasciare intendere 16bit di risoluzione), è solo un modo per evitare di fare a mano la concatenzaione dei due byte. Dove sbaglio?