Go Down

Topic: [WIN] Aggiornam. compilatore IDE 0022-0023-1.0 all'ULTIMA VERSIONE ATMEL (Read 174590 times) previous topic - next topic

astrobeed


il secondo quote è un sì? :smiley-sad-blue:


E' un si, però ritengo molto difficile che sia incappato in questa cosa a meno che non usa delle LUT di grandi dimensioni.
Scientia potentia est

menniti

#361
Mar 31, 2012, 09:59 am Last Edit: Mar 31, 2012, 10:10 am by Michele Menniti Reason: 1
Ultima domanda: possiamo quindi tranquillamente affermare di aver risolto il problema generale, senza stare troppo ad approfondire la questione?
Concordi con me che se non riesco ad affermare questa cosa, il lavoro resta al livello sperimentale e non è più presentabile/proponibile come un upgrade che risolve un problema ormai noto?

Fra poco posto la tabella con i test che ho fatto con un tri-blink semplice.
EDIT: la sola compilazione (IDE 0022-4.5.1) per un 1284P 1MHz mi dà questo errore:
Code: [Select]
test_80k.cpp:126:41: error: 'ring_buffer' has not been declared
test_80k.cpp: In function 'void blinkLED(uint8_t, uint8_t, uint8_t)':
test_80k.cpp:256:7: error: 'LEDPIN_TOGGLE' was not declared in this scope
test_80k.cpp: In function 'void annexCode()':
test_80k.cpp:327:42: error: 'V_BATPIN' was not declared in this scope
test_80k.cpp:359:5: error: 'LEDPIN_TOGGLE' was not declared in this scope
test_80k.cpp:361:30: error: 'LEDPIN_OFF' was not declared in this scope
test_80k.cpp:362:17: error: 'LEDPIN_ON' was not declared in this scope
test_80k.cpp:369:7: error: 'LEDPIN_TOGGLE' was not declared in this scope
test_80k.cpp: In function 'void setup()':
test_80k.cpp:396:3: error: 'LEDPIN_PINMODE' was not declared in this scope
test_80k.cpp:397:3: error: 'POWERPIN_PINMODE' was not declared in this scope
test_80k.cpp:399:3: error: 'STABLEPIN_PINMODE' was not declared in this scope
test_80k.cpp:400:3: error: 'POWERPIN_OFF' was not declared in this scope
test_80k.cpp: In function 'void loop()':
test_80k.cpp:544:23: error: 'STABLEPIN_ON' was not declared in this scope
test_80k.cpp:544:36: error: expected ';' before 'else'
test_80k.cpp: At global scope:
test_80k.cpp:1722:23: error: 'MOTOR_ORDER' was not declared in this scope
test_80k.cpp:2129:35: error: 'ROLLPIN' was not declared in this scope
test_80k.cpp:2129:44: error: 'PITCHPIN' was not declared in this scope
test_80k.cpp:2129:54: error: 'YAWPIN' was not declared in this scope
test_80k.cpp:2129:62: error: 'THROTTLEPIN' was not declared in this scope
test_80k.cpp:2129:75: error: 'AUX1PIN' was not declared in this scope
test_80k.cpp:2129:83: error: 'AUX2PIN' was not declared in this scope
test_80k.cpp:2129:91: error: 'CAM1PIN' was not declared in this scope
test_80k.cpp:2129:99: error: 'CAM2PIN' was not declared in this scope
test_80k.cpp: In function 'void __vector_6()':
test_80k.cpp:2240:21: error: 'THROTTLEPIN' was not declared in this scope
test_80k.cpp: In function 'void i2c_init()':
test_80k.cpp:2488:3: error: 'I2C_PULLUPS_DISABLE' was not declared in this scope
test_80k.cpp: In function 'void Mag_getADC()':
test_80k.cpp:3187:7: error: 'LEDPIN_TOGGLE' was not declared in this scope
test_80k.cpp: In function 'void initSensors()':
test_80k.cpp:3316:3: error: 'POWERPIN_ON' was not declared in this scope
test_80k.cpp: At global scope:
test_80k.cpp:3342:1: error: 'ISR_UART' does not name a type
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

astrobeed


Ultima domanda: possiamo quindi tranquillamente affermare di aver risolto il problema generale, senza stare troppo ad approfondire la questione?


Si, ovviamente non posso garantire che saltano fuori nuovi problemi in condizioni particolari, il lavoro dei beta tester serve proprio per trovare i bug, però visto che mi funziona correttamente anche con sketch complessi penso di poter affermare che è tranquillamente utilizzabile considerandola una release 1.0 definitiva di questa patch.
Sicuramente ci saranno nuove release nel futuro legate sia a nuove versione della toolchain che dell'IDE o ad eventuali bug fix.

Quote

Fra poco posto la tabella con i test che ho fatto con un tri-blink semplice.
EDIT: la sola compilazione (IDE 0022-4.5.1) per un 1284P 1MHz mi dà questo errore:


Sono tutti errori di mancata definizione di nomi simbolici, non è certo colpa del compilatore :)
Scientia potentia est

menniti



Ultima domanda: possiamo quindi tranquillamente affermare di aver risolto il problema generale, senza stare troppo ad approfondire la questione?

Si, ovviamente non posso garantire che saltano fuori nuovi problemi in condizioni particolari, il lavoro dei beta tester serve proprio per trovare i bug, però visto che mi funziona correttamente anche con sketch complessi penso di poter affermare che è tranquillamente utilizzabile considerandola una release 1.0 definitiva di questa patch.
Sicuramente ci saranno nuove release nel futuro legate sia a nuove versione della toolchain che dell'IDE o ad eventuali bug fix.

MI BASTA MOLTISSIMO, nuovi bug, nuove soluzioni, nuovi articoli :smiley-mr-green:
Quote

Fra poco posto la tabella con i test che ho fatto con un tri-blink semplice.
EDIT: la sola compilazione (IDE 0022-4.5.1) per un 1284P 1MHz mi dà questo errore:

Sono tutti errori di mancata definizione di nomi simbolici, non è certo colpa del compilatore :)
[/quote]
quindi come risolvo per caricare lo sketch sul micro? può essere che mi manchi <avr/pgmspace.h>?
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

astrobeed


quindi come risolvo per caricare lo sketch sul micro? può essere che mi manchi <avr/pgmspace.h>?


Ti manca un qualche include o delle dichiarazioni, sono tutti nomi simbolici che non hanno nulla a che vedere con il compilatore.
Scientia potentia est

brainbooster

sembra che tu stia usando qualche libreria non dichiarata

menniti

#366
Mar 31, 2012, 11:06 am Last Edit: Mar 31, 2012, 11:18 am by Michele Menniti Reason: 1
Sì, ma io non ho fatto altro che scaricare il rar di Astro "toolchain_test", estrarre la cartella "test_80k", v. immagine contenuto, ed eseguirla, quindi mi manca qualche libreria che Astro ha ed io no, se non so qual'è lo sketch diventa inutilizzabile da chiunque :smiley-sad-blue:
A proposito, ma tutta quella roba nella cartella serve o mi basta il solo test_80K.pde?

EDIT: allego anche il riepilogo dei test fatti con le varie versioni di compilatore (AVRDUDE.EXE e .CONF identici per tutt'e tre) e con le tre versioni di ISP a disposizione, il tutto su tre diverse MCU: a quanto pare non si riesce a programmare il 1284P con l'ISP1.0.1 mentre non ci sono problemi con l'ISP della 0022 e con la versione patchata di Leo.
A questo punto devo fare qualche test con TiDiGino, basato sul mega2560.
Il test è con uno sketch blink su tre diversi pin (per mia comodità), 1K;
Ho provato a ridurre a 9600 ISP1.0.1 ma l'errore diventa:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x66
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

astrobeed


Sì, ma io non ho fatto altro che scaricare il rar di Astro "toolchain_test", estrarre la cartella "test_80k", v. immagine contenuto, ed eseguirla, quindi mi manca qualche libreria che Astro ha ed io no, se non so qual'è lo sketch diventa inutilizzabile da chiunque :smiley-sad-blue:
A proposito, ma tutta quella roba nella cartella serve o mi basta il solo test_80K.pde?


Quello sketch utilizza MultiWii 1.9, il software per i quadricotteri, come base e l'ho rimaneggiato per farlo diventare più grande inserendo degli arryay dati di grosse dimensioni, tutti i file allegati fanno parte del codice e servono, a me si compila senza problemi per l'Arduino MEGA2560 e MEGA1280.
Dato che il codice controlla quale micro è utilizzato tra 328, 1280 e 2560 è possibile che con il 1284 saltano fuori degli errori per via della mancata corrispondenza hardware.
Scientia potentia est

leo72


menniti


Quello sketch utilizza MultiWii 1.9, il software per i quadricotteri, come base e l'ho rimaneggiato per farlo diventare più grande inserendo degli arryay dati di grosse dimensioni, tutti i file allegati fanno parte del codice e servono, a me si compila senza problemi per l'Arduino MEGA2560 e MEGA1280.
Dato che il codice controlla quale micro è utilizzato tra 328, 1280 e 2560 è possibile che con il 1284 saltano fuori degli errori per via della mancata corrispondenza hardware.

E' come dici, a parte il 328P:
compilazione con 328P:
Code: [Select]
test_80k.cpp: In function 'void loop()':
test_80k.cpp:446:46: error: 'pgm_read_byte_far' was not declared in this scope
test_80k.cpp:447:46: error: 'pgm_read_byte_far' was not declared in this scope
test_80k.cpp:448:46: error: 'pgm_read_byte_far' was not declared in this scope

compilazione con mega1280 e mega2560 OK!
Quindi confermo di dover fare la prova col TiDiGino, per le foto, ma lì poi lampeggia qualcosa? :D
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

menniti

#370
Mar 31, 2012, 11:27 am Last Edit: Mar 31, 2012, 11:33 am by Michele Menniti Reason: 1

@Mike:
che core hai usato per compilare per il 1284?

Il Sanguino, quello che hai usato anche tu mi pare; se ti serve qualcosa chiedi tranquillamente :)
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

leo72

@Mike:
il core Sanguino lo usai solo come base di partenza ma il core che ho sviluppato mesi fa è leggermente differente.
Prelevalo da qui (in fondo)
http://www.leonardomiliani.com/?page_id=374

astrobeed


E' come dici, a parte il 328P:


Errore normale con il 328p visto che l'uso della "pgm_read_byte_far" non è possibile con questo micro perché ha meno di 64k di flash  :)

Quote

Quindi confermo di dover fare la prova col TiDiGino, per le foto, ma lì poi lampeggia qualcosa? :D


Sulla board non c'è il led collegato al pin 13, lo devi aggiungere usando il connettore per le shield.
Scientia potentia est

menniti


@Mike:
il core Sanguino lo usai solo come base di partenza ma il core che ho sviluppato mesi fa è leggermente differente.
Prelevalo da qui (in fondo)
http://www.leonardomiliani.com/?page_id=374

OK, ma non dicevi che non era completo ancora? o forse ti riferivi al bootloader? ricordami un po'. Se mi dici che posso sostituirlo tranquillamente detto fatto XD, sono in condizioni tecniche di fare anche un po' di prove ;)
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

leo72

A livello di core è completo e funzionante, ed oltretutto ha anche le definizioni dei pin analogici che mancavano nel core originale più la correzione di qualche piccolo bug trovato a giro.
Forse il bootloader è da controllare, mi pare di non averci messo mano.

Go Up