Show Posts
Pages: 1 ... 415 416 [417] 418 419 ... 683
6241  International / Generale / Re: Topic permanente di programmazione newbie on: March 16, 2012, 05:23:13 am
infatti questa cosa dell'etc l'avevo notata perché non trovavo più l'AVRDUDE.CONF nel quale peraltro (anche il nuovo) non c'è comunque traccia del 4313.

Ed ecco un bel regalone, avrdude.conf modficato per il 4313, ora non da più nessun errore e cerca di trasferire il programma sul micro, qui mi fermo con un classico "not in sync" perché non avendo il micro non posso fare altri test.
6242  International / Generale / Re: Topic permanente di programmazione newbie on: March 16, 2012, 05:06:43 am
infatti questa cosa dell'etc l'avevo notata perché non trovavo più l'AVRDUDE.CONF nel quale peraltro (anche il nuovo) non c'è comunque traccia del 4313. Comunque appena finisco il programma faccio un po' di prove smiley

Non c'è traccia perché la versione di avrdude allegata è la stessa di quella precedente, però dovrebbe bastare modificare il file .conf per introdurlo, anche se tocca un attimo vedere con cosa lo vai programmare effettivamente, avrdude è solo un programma che fornisce i comandi ad un programmatore hardware, non è lui che programma fisicamente il micro.
6243  International / Generale / Re: Topic permanente di programmazione newbie on: March 16, 2012, 04:55:37 am
L'unica prova da fare è vedere se poi il codice compilato funziona  smiley-wink
Non ho 4313 per cui non ho potuto provare.

Idem, al limite posso allegare il file .hex generato e se Michele ha un 4313 funzionante lo prova lui, però a questo punto deve riuscire per forza di cose a compilare per il 4313 se ha scaricato la giusta release di WinAvr.
6244  International / Megatopic / Re: Energie alternative on: March 16, 2012, 04:49:41 am
la strada dell induzione era sbagliata..

La dinamo, o alternatore che sia, funziona grazie all'induzione elettromagnetica, che poi il generatore lo realizzi facendo girare un avvolgimento all'interno di un campo magnetico, o viceversa, oppure facendo muovere linearmente un magnete all'interno di un avvolgimento cambia solo il modo con cui il tutto è costruito, ma non il principio fisico in base al quale funziona  smiley

6245  International / Generale / Re: Topic permanente di programmazione newbie on: March 16, 2012, 04:42:38 am
In allegato trovate il core Tiny 0022 modificato per il supporto al 4313.
Scompattate l'archivio e sostituite la cartella ottenuta a quella presente in /hardware/tiny/cores.

Provato, adesso con la 0023, ma pure con la 1.0, si compila senza problema anche per i 4313.

Un piccolo aggiornamento relativo al trapianto della 4.3.3, per poter programmare il micro dall'IDE è necessario copiare la cartella etc, che contiene avrdude.conf, nella cartella dove si è copiato il nuovo winavr, o più semplicemente non cancellare quella originale, inoltre è necessario copiare avrdude.exe dalla cartella originale dell'IDE e sostituire quello presente nel nuovo winavr, non è modificato per Arduino e non riconosce le board.

6246  International / Generale / Re: IF a=0 AND b=1 on: March 16, 2012, 04:16:43 am
chiedo conferma di quello che dico, ma il problema & vs && fondamentalmente si verifica quando metti a confronto 2 variabili di diverso tipo (e quindi diversa dimensione bit),

Non ha importanza la dimensione, il problema esiste sempre, unico caso dove non fa differenza usare && o &, salvo l'interruzione della if alla prima condizione non vera invece di continuare per tutti gli elementi, è quando sono in gioco valori booleani, dato che possono essere solo TRUE o FALSE non cambia nulla nel risultato finale.
Quando entrano in gioco i float per via dello loro natura esponenziale non è consigliabile usare l'operatore "==" nelle condizioni, il confronto sarà quasi sempre falso anche se i due valori, in teoria, sono identici, o si usa un controllo con un certo fattore di isteresi (min/max), oppure prima si converte il float in un valore intero troncando tutti i decimali inutili per il confronto.


6247  International / Generale / Re: Topic permanente di programmazione newbie on: March 16, 2012, 03:14:59 am
Ora guardo il core Tiny, se con poco è possibile implementare il 4313.

Ottimo, allora aspetto il tuo verdetto prima di rifare il test.
6248  International / Generale / Re: Topic permanente di programmazione newbie on: March 16, 2012, 02:32:33 am
l'unico dubbio mi viene dal fatto che io tengo tutti il materiale extra ide 0022 in una cartella separata rispetto alla hardware originale, quindi mi devo ricordare anche di fare questa prova.

Io la prova l'ho fatta in questo modo, ho copiato in toto l'IDE 0023 in una nuova cartella denominata ide23_test, poi ho cancellato tutto il contenuto della cartella che contiene winavr e ho copiato al suo interno tutto il contenuto, meno avr32 che non serve, di quella del nuovo winavr.
Più tardi provo con il core del 2313, non mi ricordavo che c'era pure questo, e vediamo se compila correttamente.
6249  International / Generale / Re: OT: dove comprare ingranaggi per servomotori rc on: March 16, 2012, 01:52:53 am
mi serve un feedback di posizione, e per non mettere un encoder o costruirne uno il modo più semplice mi sembra accoppiare due ingranaggi. comunque è un prototipo, e in quanto tale, dev'essere economico.

Se ti bastano 300° di escursione usa dei servo AX12+, coppia 15kg*cm, controllo totalmente digitale con possibilità di variare a piacere la velocità di rotazione, possono anche girare in modo continuo, senza nessun modifica, se necessario.
Questi servo sono specifici per applicazione di robotica e automazione, il produttore è leader mondiale in questo settore.
In tutti i casi per una testa pan tilt un servo non è la soluzione ideale, il movimento non sarà mai fluido come quello di un buon motoriduttore, durante la ripresa avrai sempre dei piccoli sussulti e scatti quando il servo si muove, se la cosa può essere accettabile per un uso amatoriale non lo è di certo per un uso professionale.
6250  International / Megatopic / Re: [Multicotteri]Elettronica di potenza e telai : Batterie - ESC -Motori e cablaggi on: March 16, 2012, 01:42:08 am
I primi bracci che avevo erano neri anche quelli e quelli si che facevano brutto, ma non ho trovato modo di colorare i bracci attuali e degli altri, due sono un pelino storti, e quindi li ho rifatti per inaugurare questi nuovi motori. F

Il braccio nero offre un buon contrasto visivo, invece il color alluminio naturale diventa invisibile in volo, non a caso su quasi tutti i quadricotteri si usa colorare di rosso, meglio ancora se arancione fluo, il braccio/i davanti e nero quelli posteriori in modo da avere un riferimento visivo dell'assetto, ovviamente vale solo quando il quadri vola vicino, non appena ti allontani il tutto diventa una macchia colorata indistinta sullo sfondo del cielo.

6251  International / Generale / Re: assembly on: March 16, 2012, 01:36:08 am
questo non è un compilatore puro da C/C++ a binario, ma un traslatore che da C/C++ (ma anche altri) ad assembly, poi interviene l'assemblatore "as"

Tutti i compilatori C in realtà prima creano un sorgente assembly che poi viene dato in pasto all'assemblatore, questa è una caratteristica del C, non può essere diversamente.
6252  International / Generale / Re: IF a=0 AND b=1 on: March 16, 2012, 01:30:27 am
Per evitare l'errore della if tf=false si usa scrivere la condizione al contrario cioè if false=tf, così il compilatore di da errore perchè un lvalue non può essere una costante. lvalue=rvalue, (l, left e r, right)
Questa è una buona abitudine che ancora non ho preso, sono sempre in tempo.

Verissimo, e tra parentesi l'errore di scrivere A=qualcosa invece di A==qualcosa nella IF capita a tutti, programmatori esperti inclusi, perché spesso si fanno dei copia e incolla ed è facile incorrere per distrazione in questo errore.
Stessa cosa scrivere A==qualcosa al posto di A=qualcosa in una vera assegnazione, altro errore che il compilatore può non vedere e che porta ad errori run time con effetti imprevedibili.
6253  International / Generale / Re: Topic permanente di programmazione newbie on: March 16, 2012, 01:20:31 am
qui c'è in elenco:
http://www.nongnu.org/avr-libc/user-manual/
e gcc può compilare per integrati di quella famiglia (avr25):
http://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html

Diciamo che per il momento la questione aggiornamento compilatore alla 4.3.3 è risolta.
Ieri sera ho fatto molte prove con tutti programmi che ho per Arduino, sia UNO che MEGA2560, alcuni molto complessi come MultiWii (software per quadricotteri), e non ho riscontrato nessun problema, quindi direi che il trapianto è perfettamente riuscito e il paziente gode di ottima salute  smiley
Per quanto riguarda gli ATtiny4313 rimane il problema del core perché sebbene ora viene riconosciuto dal compilatore poi saltano fuori errori dovuti alle differenze hardware tra questi micro e quelli normalmente impiegati su Arduino.
Ho fatto una prova al volo con il core per ATtiny 45-85, sapendo già che non poteva funzionare, solo per verifica se cambiavano gli errori e così è stato confermando ulteriormente che ora è possibile compilare anche per i 4313.
Ho fatto un ulteriore test con una versione sperimentale dell'IDE 1.0 con trapiantata la toolchain di ATmel al posto di WinAvr, ci sto lavorando sopra da diverso tempo per la famosa questione del limite di memoria del ATmega2560, e anche questa riconosce senza problemi i 4313, cosa di cui ero più che certo, e mi fornisce gli stessi errori, dovuti al core, del test con avrgcc 4.3.3.

Salvo imprevisti, ovvero impegni lavorativi, dovrei rilasciare a breve la procedura per sostituire WinAvr con la toolchain di Atmel, che è sempre aggiornatissima e con molti meno bug delle altre release di avrgcc, in modo da mettere la parola fine ai fastidiosi bug e limiti della versione 4.3.2, abbastanza vecchiotta (2009), di WinAvr che è ufficialmente abbinata all'IDE di Arduino, inclusa la 1.0, per Windows.


6254  International / Generale / Re: Topic permanente di programmazione newbie on: March 15, 2012, 03:48:21 pm
@ Astro: riprovo, ma sono ragionevolmente sicuro di aver usato proprio quella dicitura: mi confermi di aver sostituito solo la cartella della nuova versione (nel mio caso era in root non in programmi) al posto della vecchia? e poi come hai fatto la prova, hai creato una board qualsiasi con quella mcu?

Si ho semplicemente sostituito il contenuto della cartella con quello della nuova versione di WinAvr, poi ho preso una board per Attiny e ho semplicemente cambiato il nome della mcu, giusto per vedere se veniva accettato dal compilatore, e infatti la compilazione parte, però poi vengono fuori vari errori dovuti al mancato supporto del core a questo modello.

6255  International / Generale / Re: IF a=0 AND b=1 on: March 15, 2012, 01:53:10 pm
vorrei farvi notare che entrambi gli operatori di & o && in questo caso sono dei bool..

Sei tratto in inganno da questo caso, il discorso && o & devi vederlo in generale, p.e. valuta cosa succede se scrivo :

"If ((a > b) && c)" oppure "if ((a > b) & c)"

Il risultato della IF non è sempre lo stesso a seconda del valore che assume C, nel primo caso la IF è vera quando A > B e C è maggiore di 0, nel secondo la IF è vera quando A > B e C ha un qualunque valore dispari.


Pages: 1 ... 415 416 [417] 418 419 ... 683