Pages: [1]   Go Down
Author Topic: Suggestions for improvement to the Linux IDE  (Read 2377 times)
0 Members and 1 Guest are viewing this topic.
Canby, OR
Offline Offline
Full Member
***
Karma: 1
Posts: 158
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I love the Arduino platform, but it definitely has some warts. Especially the Linux version. Linux is all about hackers and coders, so a large portion of the Arduino audience uses Linux. All of these criticisms are based on running the Arduino 1.0.1 IDE on Fedora 17.


    Add Serial.printf()
  • printf() is a core part of a good C platform, and any good programming language
  • Having do multiple Serial.print() statements to print out some static text and then variable is a pain.
  • sprintf() is available for AVR, we just need to wrap it with the Serial object.
   Automatically open serial monitor after upload
  • I commonly have the serial monitor open to look at output. Hitting upload closes the window to complete the upload. A checkbox for "open Serial monitor after upload" would really cut down having to click two icons for every upload.
   Decouple the build process from the IDE
  • It would be great to have standard way to compile/upload to a board. This would allow easier use of an external text editor.
  • Vi/Emacs anyone?
  • There are some Makefiles out there that handle this, but none as clean as the IDE..
   IDE support for multiple simultaneous Arduinos
  • Working on a serial project to get two Arduinos to talk via serial required me to have two IDE windows open: client and server. Whenever I would change the board or USB port for one IDE window, it would change the other. This makes it very difficult to work on a two Arduinos as the same time.
   Auto detect serial ports on the fly
  • If I load the IDE before plugging in my Arduino it won't see the serial port in the menu. The only way to get it to pick up the port is to restart the IDE.
  • Often my Arduino Leonardo will switch from /dev/ttyACM0 to /dev/ttyACM1. When this happens the IDE doesn't detect that the port has changed, and the only way to switch to /dev/ttyACM1 is to restart the IDE.
   A better editor font
  • There are much better code friendly fonts that are easier to read. Can we add the ability to change the font?
  • Why are we not using anti-aliased fonts? Every modern OS uses them now.
       
        
« Last Edit: October 04, 2012, 01:04:05 pm by Scott Baker » Logged

Offline Offline
Edison Member
*
Karma: 17
Posts: 1041
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

For the first point: http://arduino.cc/forum/index.php/topic,120440.0.html

For the last point: You can change the font. Check under ~/.arduino/preferences.txt for editor.font
Logged

Offline Offline
God Member
*****
Karma: 21
Posts: 650
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I use Emacs and Martin Oldfield's makefiles for edit/build.

M-x compile works fine; you get the g++ output in a separate window.

Clicking on a warning/error with a line number will take you directly to editing that line within that file, as expected.

No IDE preprocessor, so manage my own prototypes and #includes. Standard C/C++ preprocessor now works properly again; Arduino preprocessor bugs are eliminated. Both significant wins.

You can also just check the "use external editor" checkbox in the IDE preferences, which means you edit the file with any editor (vi, emacs) you like but just have to remember to save to disk before hitting the build button in the IDE. Still stuck with the Arduino IDE preprocessor and its problems, though. But at least now you can use a half-decent (or even fully decent) programmers' editor.

Erwin Ried's enhanced 1.0.1 IDE incorporates the upload and then open the serial monitor function you describe, as well as many other small refinements.
 

« Last Edit: October 06, 2012, 11:54:35 am by pico » Logged

WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 106
Posts: 6373
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm only seeing one issue that's linux-specific: "The only way to get it to pick up the port [of a newly attached Arduino] is to restart the IDE."  (my mac does that just fine.)

All the other complaints affect other OSes as well (and most are registered issues at the google code site.)  (I'll agree that some of them might be more noticeable by linux folk, though.)
Logged

Warsaw, Poland
Offline Offline
Newbie
*
Karma: 0
Posts: 7
Arduino Lover.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I don't like spamming but I have to do it:

I would like to totally agree with the request, the abovementioned features are the most annoying things in the IDE. I have read somewhere that if you press shift, control or something while pressing upload button you will get serial monitor autoopen but I couldn't find it later again and there seam to be no clue in the IDE menus on what should I press. So I am pressing this b...dy 'magnifying glass' after every compile thinking - what did people invent computers for.
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 439
Posts: 23739
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

"Linux is all about hackers and coders, so a large portion of the Arduino audience uses Linux."
And a lot of use just Windows. I'm still running Vista and am very content with it.

File:Preferences - there are check boxes for turning on Verbose output. Pretty simple.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Linux is all about hackers and coders, so a large portion of the Arduino audience uses Linux.
I use Linux but I don't think I'ma a jeek or an hacker  smiley-wink
I'm just a simple computer user  smiley-sweat

Quote
Automatically open serial monitor after upload
Even if you run a sketch that does NOT use serial communication?

Quote
Auto detect serial ports on the fly
My IDE recognizes on the fly any Arduino board I attach to the PC. I think you have some problems with your OS  smiley-wink
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Some comments about Fedora 17 and Arduino.

It works great! It's not perfect.. I haven't seen a perfect program in 45 years of computers... (and I think it's not programmers' fault, it's salesmen forcing programmers to add yet another "feature" to a good working program)

Things not perfect (yet):

1 - Some tutorials say how to add libraries (my last ones were TimeOne and SimpleTimer). In Fedora 17 , Arduino libraries are at

/usr/share/arduino/libraries

2 - Mi original Arduino Uno R1 connects thru USB with no problem. But my home made Arduino-in-a-breadboard does not. Probable cause: Some bad connection... So it's not Arduino's or Fedora's fault... smiley

As for C/C++ limitations, you cannot have the same language with an Intel I7, 4 GB of RAM, 1 TB hard disk, super-duper 21-in color monitor and on the other side, an ATmega328, 32K RAM, no hard disk and no monitor, just a few LEDs...  That "limitations" are a plus if you want to fly an Arducopter (http://code.google.com/p/arducopter/)...
Logged

Pages: [1]   Go Up
Jump to: