Modificato 05/04/2011

 

 

Primo tentativo di usare Arduino senza bruciare la flash

Per evitare problemi ecco un primo piccolo Basic per Arduino. Non ho tempo per inserire istruzioni o documenti. Solo poche note. Compilare in ambiente PC con il flag DEBUG_ON oppure per AVR4 Studio con il flag ON_BOARD. Per flag intendo le #define. Il software è stato testato con il simulatore AVR dell’ottima Atmel e con l’IDE di Arduino. E’ un basic semplice, che potrebbe girare anche su Arduino UNO/2009, riducendo le linee di codice massime. Ora siamo a 7 KB di memoria occupata: già troppo per ATmega. Il sorgente è settato per la scheda Arduino, dovreste poterlo compilare senza problemi.


Una preghiera: chi trova errori, e ce ne sono molti, o chi lo modifica in meglio lo dica all’autore. Avremo un programma sempre aggiornato e disponibile a tutti. Mi sembra bello no? Anche se è vostro aiutatemi a mantenerlo. Non cerco gloria o onori. Vorrei evitare che la flash delle vostre schede si bruci senza motivo. L’auto run, essenziale per chi vuole far girare la scheda in automatico, arriverà con la versione 0.4. Prometto.
Nel frattempo chi vuole partecipare può contattarmi: ogni aiuto verrà segnalato, se lo si desidera, con nome e cognome dell’autore.

Note sui bug.
L’edit di linea ha bisogno di manutenzione, è pieno di bug.
Non è funzionante nella “LAB_Expression.c” l’ordine matematico dei fattori: usare le parentesi per ora.
La renum per evitare l’overflow di memoria è complicata. Ma sembra funzionare.
Accetto critiche ma solo se costruttive…

Interrupt handler

Causa i bug del GCC sulle volatili vi sono dei pezzetti di assembler da non toccare. Non provate forme del tipo while ((volatile)(reg)); perché non funzionano.
Viene convertito in
while (constant) jmp $-1….. e si ferma tutto.
I driver per la seriale e il timer sono mutuati dal progetto IQL dove sono usati per leggere il radiocomando e impostare gli ESC dei motori. Anche questo sw verrà reso disponibile quanto prima in GNU/GPL.

La versione per 328P è da provare

Mi è stato chiesto il porting su un hw quasi impossibile: il 328P Atmel. Causa il poco tempo la versione non è stata provata quasii per nulla. In compenso ho scoperto un paio di bug di cui uno grave: la classica cli seguita da return.

Su 2560 non si fermava perché più veloce su Atmega 328P sì. La versione è settata per 19200 a differenza della prima a 115200. Lo sforzo lo ho fatto.

 

 

Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: C:\lsoft\iql\ardu_uno.jpg

 

Riparata la Load / Save in 0.3

 

Ora funzionano ma l’autorun, perfetto su Pc, è difettoso. Penso sia la timer che sbaglia con i long.

Date un occhio con AVR4 al codice generato: manca roba per una unsigned long….

Certo un po’ di collaborazione serviva ma arriverà, sono certo.

La pagina tra poco sarà spostata nel suo posto (LAB) e torneremo a parlare di quadricotteri e di software per mandarli.

 

Per Arduinisti…

 

Se non vi funziona lo sketch, evito commenti per amor di patria, dovete fare così.

Create uno sketch nuovo e fate “add” di un file. Salvate e chiudete l’ambiente. Inserite tutti gli altri file nella cartella sketch e riapritela.

Dovrebbe tirare su tutto. Certo, l’ambiente è quello che è: spiace che nessuno faccia nulla per far capire che è errata la strada di inventarsi l’acqua calda quando ci sono schemi standard che tutti conoscono e usano. Create Project e add file to era troppo semplice? Si vede che sono vecchio? Forse sì.

 

 

 

Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: C:\lsoft\iql\Shield.jpg

 

Prima versione di LAB 0.1 solo ATMEGA

Con supporto di Arduino UNO (328P)

Durata poco, versione 0.3 con save-load buoni

 

 

Per chi non ha un emulatore di terminale una versione del mio Lsl 4.0

 

Torna alla home page

 

 

Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: Descrizione: http://www.lsoft.it/maily.gif