Ardutester - Arduino Component Tester (INCOMPLETO)

credo che tu abbia ragione, ma in alcuni punti sarà indispensabile, per ragioni di precisione, usare i registri a basso livello.

Quindi IMHO sono da usare, ma solo se necessario.

Test, ma che domande fai? E' mai possibile che tu debba cercare sempre un elemento di polemica in ogni discussione? E cerca di vivere in pace, da buon Napoletano! Pighi avrà detto un miliardo di volte che sta realizzando uno shield da innestare su Arduino, tant'è che gli è stato anche chiesto di tenerne presente le varie versioni, per la massima compatibilità. Tra qualche mese io ne creerò, PER CONTO MIO, una versione stand-alone, con la sua benedizione, da pubblicare sulla rivista, il micro è quello di Arduino UNO/2009 e la sua programmazione sarà fatta tramite IDE. Perfino il Reference spiega come realizzare versioni stand-alone di Arduino per risparmiare la scheda, nata come base di prototipazione. Stai divendando la frangia integralista dell'Arduino Team, Allah sarà pure grande, tu non tanto :grin:

PS: ah, sul Reference c'è anche un bel capitolone sulla manipolazione dei registri, il fatto che io ne sappia usare bene solo alcuni (quelli che ho studiato seriamente) non mi provoca gelosie nei confronti di altri, solo grande ammirazione.

Tra l'altro la manipolazione dei registri si basa in parte anche sulle lib di Arduino, dove sono presenti molte #define per semplificarne l'implementazione nel software. E poi, come detto da Michele, stiamo lavorando ad una shield da montare sull'Arduino UNO. Comunque al posto della ReadU puoi usare analogRead.

[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"