Go Down

Topic: Nuovi sviluppi IDE 1.6.x (Read 39174 times) previous topic - next topic

leo72


E' come se su alcuni argomenti il team ufficiale avesse paura di metter mano.

La libreria rxtx non l'ha scritta il team di Arduino, non so fino a che punto vuole mettere mano all'interno di quello che non hanno scritto loro.
La lib è vecchia e mi pare non aggiornata:
http://users.frii.com/jarvi/rxtx/
versione 2.2pre2 del 2009, l'ultima disponibile

Testato

appunto,
parliamo pur sempre di un progetto open, e quindi essendo parte integrante e fondamentale del rpogetto arduinico potrebbero contribuire ad esso. Stessa cosa per il team che segue processing, anche loro non hanno mai contribuito, ed anche in quel caso e' una delle funzioni piu' importanti.
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

lesto

sul github di arduino trovate la RXTX "bugfixata" per riconoscere anche le ttyACM, che prima non c'erano. Però nessuno sta portando avanti la RXTX, ci sono vari tentativi..

La RXTX è una DLL/SO, quindi scritta in linguiaggio NON java (di solito c/c++) proprio per "fare da ponte" tra java e il SO. Prima o poi tutte le classi di java, alla fine, fanno riferimento a delle istruzioni in linguaggio nativo, solo che è la Virtual Machine che nasconde (spesso) la selezione di QUALE so/dll utilizzare.

Quote
Ha anche proposto la modifica nell'IDE ufficiale ma è stata rifiutata perché il problema c'è solo sotto windows.


qusta mi sembra una cosa strana. Una fix è una fix, indipendentemente per quale SO.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

lesto, io ho la rxtx presa dal repo di Arch ma ho i dispositivi /dev/ttyACM elencati senza problemi nell'IDE. Perché dici che la rxtx deve essere patchata per gestirli?

lesto

guarda che arduino carica la RXTX dalla sua cartella locale.e NON funziona come per il compilatore che se non lo trova nel path locale (cancleli la cartella) lo cerca nel path globale.

dovresti sostituire il file RXTX.jar e RXTX.so con i collegamenti a quella installata.

La sua installazione è una cosa controversa secondo me, è vero che linux cerca di installare i pezzi a parte per risparmiare sullo spazio , ma renderebbel'uso delle librerie fortemente SO based, cosa contro la natura di java.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

cece99

Io sto usando quella bugfixata scritta qualche pagina fa e funziona benissimo, vai a capire l' Arduino Team....
adesso cancello quella originale  :*
Il Vero Programmatore non ha bisogno di manuali sull'assembler, sono
  sufficienti i data sheet dei microprocessori.

zoomx


Quote
Ha anche proposto la modifica nell'IDE ufficiale ma è stata rifiutata perché il problema c'è solo sotto windows.


qusta mi sembra una cosa strana. Una fix è una fix, indipendentemente per quale SO.

Lesto, la proposta di Eried e la successiva risposta che ha ricevuto si trovano proprio in questo forum.
Sulle prime Eried ci è rimasto male tanto che aveva cancellato tutti i post al riguardo, poi per fortuna ci ha ripensato. Credo che la fix forse avrebbe influenzato gli altri SO, ora non ricordo bene. A me interessava risolvere il problema e per fortuna la soluzione c'è.
Non sono riuscito a trovare la discussione ma c'è l'issue aperto qui
http://code.google.com/p/arduino/issues/detail?id=200
Risale a febbraio 2010 ma è ancora aperto.

Anche il team che sviluppa Energia (l'IDE per il Launchpad MSP430 e Stellaris clone dell'Arduino) non ha applicato la modifica di Eried che ha sviluppato anche una mod di Energia.

Io da un po' uso sia la sua DLL che il suo IDE, a volte quello di Code::Blocks, ottimo per emulare pezzi di codice.

Se il team ufficiale ha deciso così, pazienza, uso le alternative. Avranno i loro buoni motivi.

Testato

Non dimentichiamo che la rxtx patchata rimuove anche l autore set alla apertura della seriale. Questo per qualcuno è un bene ma per il team è un alterazione al normale funzionamento che richiederebbe un cambio anche alla documentazione.
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

PaoloP

#113
Jul 17, 2013, 12:57 pm Last Edit: Jul 17, 2013, 12:59 pm by PaoloP Reason: 1
Prosegue il lavoro del Team
E' stato integrato nella beta 1.5.3 l'IDE 1.0.5 più altre migliorie che riguardano la DUE.
Questo IDE è al momento disponibile solo come nightly build.

Quote
ARDUINO 1.5.3 BETA

[ide]
* Removed useless baud rates from serial monitor
* Fixed some minor IDE UI bugs (Shigeru Kanemoto)
* Added support for new 1.5 Library format (https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification)
* Pass board type from boards.txt (https://github.com/arduino/Arduino/issues/308)
* Display estimated RAM usage after compile (Loren M. Lang)

[arduino core]
* sam: Fixed delayMicrosecond() when interrupts are disabled
* sam: Upgraded libsam, and added missing modules (CAN, ETH, etc.) (Thibaut Viard)
* sam: Added compatibility for avr/pgmspace.h (Paul Stoffregen)
* sam: Added serialEvent*() support
* sam: Fixed micros() to work with inside interrupts. (stimmer)
* avr: Added support for Flash strings on String class (Jantje)
* Added support for floating point numbers in String class (Tevin Zhang, SebiTimeWaster)
* sam: Fixed String buffer overflows (Paul Stoffregen)
* avr: Added recipe for assembly files (C. A. Church)

[libraries]
* sam: Added CAN library (still in early stage of development) (Palliser)
* sam: Bugfix SPI library: begin() after end() now works (stimmer)
* sam: Bugfix SPI library: incorrent pin configuration in non-extended mode.

[firmwares]
* Arduino Due: fixed USB2Serial garbage at startup (https://github.com/arduino/Arduino/pull/1267)

[other]
* Merged all improvements made in Arduino IDE 1.0.5


Tra le novità la pgmspace sulla DUE.  :smiley-mr-green:

gpb01

Testualmente dice : "Added compatibility for avr/pgmspace.h (Paul Stoffregen)" ... non so se hanno implementato una qualche tipo di pgmspace per ARM o ... più semplicemente hanno usato il trucchetto, già usato in molte lib, di ridefinire tutte le funzioni della pgmspace come NORMALI funzioni che fanno riferimento alla memoria standard ... XD

Hai mica un link che mi porti dove andare ad esaminare cosa è stato realmente fatto (senza che mi scarichi tutto e installi il tutto) o sai rispondere tu ?

Guglielmo
Search is Your friend ... or I am Your enemy !

gpb01

#115
Jul 17, 2013, 01:48 pm Last Edit: Jul 17, 2013, 01:50 pm by gpb01 Reason: 1
Ok ... trovato, e ... mi sembra che sia come supponevo ... nessuna pgmspace su ARM ...  :smiley-mr-green: :smiley-mr-green: :smiley-mr-green:

Guarda qui : https://github.com/arduino/Arduino/blob/ide-1.5.x/hardware/arduino/sam/cores/arduino/avr/pgmspace.h

... in pratica non hanno fatto altro che ridefinire le funzioni ed i tipi che sugli AVR usavano la FLASH e che invece, sugli ARM, usano la RAM :(

Esempio :

Code: [Select]
#define memcpy_P(dest, src, num)   memcpy((dest), (src), (num))

... sporco trucco per evitare gli errori di compilazione ma non per risparmiare memoria RAM  XD :smiley-mr-green: XD :smiley-mr-green:

Guglielmo
Search is Your friend ... or I am Your enemy !

PaoloP

Ti stavo per postare il link.
Sei stato più rapido.  :smiley-sweat:

leo72

E' il prezzo da pagare per rendere il codice scritto per le Uno/Mega/Leonardo compatibile con le Due senza modifiche.

Michele Menniti

Personalmente avrei preferito separate due versioni di IDE e creato un software di "traduzione" o "acquisizione" per la DUE, alla fine si imbordelliranno le cose temo, a favore della DUE e a danno della UNO & Co
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

lesto

al contrario, arduino DUE può fare tutte le cose di arduino più qualcosa.
Quindi le cose che possono fare entrambe lo fanno con le stesse classi (come poi sia implementato il codice specificatamente chissene), le cose in più che può fare la due avranno delle librerie a parte.

La stessa cosa vale per la leonardo!
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up