[MOD] Arduino Enhanced Release 1.0.5 for Windows (installer, drivers, etc) +SRC

eried:

Markus_L811:
Damm!

Serial Monitor is brocken no Serial output from the Leonardo

Works with the official?

Yes there is it ok

Following what damago1 found:

  1. IDE is initiating the auto-reset of the Leonardo (using the serial port selected in the Tools > Serial Port menu). It does it by opening the virtual com port at 1200 baud and then closing it. This is a signal for firmware to reset the processor of Leonardo, and the virtual (CDC) serial/ COM port disappears from the list.
  2. the Arduino software waits for a new virtual (CDC) serial / COM port to appear - one that it assumes represents the Leonardo bootloader. It then performs the upload on this newly-appeared port.

I can guess the port should change for the serial monitor too, but I don't know how the official one works if I don't see any difference in these routines and I don't know how to replicate the Leonardo behavior with another board to test, so for the moment I can't do anything to fix this.

Some people asked for a Boards editor. I was working on the parser and it is working perfectly, but now I am thinking on the UI. Of course I want to add some automated stuff (the image below only show simple text entries):

But before I start to enhance this part (will like to get comments about this):

  1. I think it is enough having Save as... and delete, the last item will be not deletable.

  2. Application will require admin privileges on launch (due the location of boards.txt)

  3. Instead of doing a custom UI, I can use http://www.devcomponents.com/dotnetbar/img/PropertyGrid2.png typical propertygrids (requires work too, create a special class with properties)

  4. Maybe it will be nice if the app can "disable/enable" boards? much like the library editor?

But before I start to enhance this part (will like to get comments about this):

  1. I think it is enough having Save as... and delete, the last item will be not deletable.

  2. Application will require admin privileges on launch (due the location of boards.txt)

  3. Instead of doing a custom UI, I can use http://www.devcomponents.com/dotnetbar/img/PropertyGrid2.png typical propertygrids (requires work too, create a special class with properties)

  4. Maybe it will be nice if the app can "disable/enable" boards? much like the library editor?

  1. hard qestion, I don't know

  2. if it is so there is no way around

  3. looks nice, both is good.

  4. Vote for it.

Is there any plan/intention to enhance the MPIDE as well?

That MPIDE is basically 99.99% the same stuff as the Arduino IDE.

Not really. But all my changes are inside the github repository :slight_smile:

BTW: I don't trust Microchip, they can skin their chipkit with a friendly arduino face but they are evil inside :fearful: (my first experience with microcontrollers was in the time where picbasic was the king, everything was closed and microchip controlled our lifes :stuck_out_tongue: now I am sure they try to do the same if they get more market one day)

eried,
Have you & Josh Marinacci considered getting together?

This running update of 3 IDEs is a bit confusing.

Well, I guess 4 now with the DUE IDE also.

CrossRoads:
eried,
Have you & Josh Marinacci considered getting together?

Arduino Forum

This running update of 3 IDEs is a bit confusing.

Well, I guess 4 now with the DUE IDE also.

5, with Teensyduino - which will modify a stock 1.0.1 or 1.0.2 Arduino installation to add Teensy support, but won't modify an Arduino ERW 1.0.2 (I tried). Which means I get to use ERW when programming Arduino boards, but can't use it when programming Teensy boards - and I miss the enhancements.

Well, 6 with the Teensy 3.0 environment which is separate again. But these are all forks or modifiers to the Arduino IDE.

CrossRoads:
eried,
Have you & Josh Marinacci considered getting together?

Arduino Forum

This running update of 3 IDEs is a bit confusing.

Well, I guess 4 now with the DUE IDE also.

5 IDE's heheh... my original idea fixing the things (years ago) was to get something fixed someday in the official ide. Since that will never happen, I decided to build this mod mainly just for windows+arduino users (specially for me).

I don't know if everyone noticed but the crusade seems to be pretty effective. Almost no one is now posting or discussing the same drivers/sloweness/installation issues in the forum (I was pretty tired seeing the same issues again and again, even in some 'arduino workshops' a big part of the time is used just to teach how to get the IDE running)

I don't have any other board rather than a couple of arduinos, I have received some requests from people because they experience a lot of the same issues in derivated IDE's but besides providing feedback and hints, doing something it is just too much work.

So, in conclusion, this mod is just a temporal solution, I may eventually update the ide to 1.5 but Josh solution is a much better approach and I will love to see any alternative IDE replacing the Arduino IDE in the future, but our work is not very shareable.

I'll put in my pennies worth.

You have done a great job,
kept the focus , and fixed the bugs that have been driving us all crazy
and made the windows installation as easy as it should be,

How difficult would it be to put an option under "preferences" to bypass the automatic generation of protypes by the IDE preprocessor? Just leave the .pde/.ino file untouched as a C++ file prior to "merging" with the library source to produce the .cpp file for actual compilation by gcc. That would be a nice addition to the the "external editor" option, if feasible. Eliminate (well, bypass) a whole class of long-standing bugs in the IDE.

pico:
How difficult would it be to put an option under "preferences" to bypass the automatic generation of protypes by the IDE preprocessor? Just leave the .pde/.ino file untouched as a C++ file prior to "merging" with the library source to produce the .cpp file for actual compilation by gcc. That would be a nice addition to the the "external editor" option, if feasible. Eliminate (well, bypass) a whole class of long-standing bugs in the IDE.

Hi, what kind of bugs? can you elaborate a Little more about the benefits of this feature?

Great program. It would be nice if the your exe remembered the last window size and position.

warren631:
Great program. It would be nice if the your exe remembered the last window size and position.

You should use "File/Quit" (it is something inherit from original ide)

eried:

pico:
How difficult would it be to put an option under "preferences" to bypass the automatic generation of protypes by the IDE preprocessor? Just leave the .pde/.ino file untouched as a C++ file prior to "merging" with the library source to produce the .cpp file for actual compilation by gcc. That would be a nice addition to the the "external editor" option, if feasible. Eliminate (well, bypass) a whole class of long-standing bugs in the IDE.

Hi, what kind of bugs? can you elaborate a Little more about the benefits of this feature?

Have a browse if you feel inclined:

http://code.google.com/p/arduino/issues/list?can=2&q=preprocessor&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&cells=tiles

There are also numerous threads in these forums discussing these bugs.

The depressing "official" response to these long standing issues is that it's "tricky" to fix the IDE automatic prototype generation so that it doesn't randomly produce illegal code from valid source files, and that people should simply work around the issues by various tricks (like putting the source code into a .h include file so the IDE preprocessor doesn't touch it.) I don't believe anyone actually understands what the mess of regex code really does anymore, if they ever did. Realistically, the whole mess should be tossed out and redone properly, using proper parsing techniques, but there is no "official" will to do that, and judging by the history, I don't believe these bugs will ever be addressed.

I wasted enough time chasing down issues with this "random code generator" that I eventually moved away from using the IDE completely, using Martin Oldfield's makefiles instead. The only difference is that I have to write my own prototypes now, but that is infinitely preferable to a buggy IDE that attempts to do this automatically. If the IDE had the ability to turn off or bypass its buggy automatic prototype generation, I'd give the IDE further consideration, particularly with the use of the "external editor" option and many of your enhancements.

So the ability to bypass the automatic prototype generation code would be a considerable enhancement to the stability of the IDE. It really attempts to do something that is of dubious or marginal benefit at most to the user anyway. Writing a prototype is no harder than writing the function declaration, and is good practice for a beginning programmer to get into in any case. And as one of the bug reporters commented, "pity the poor noob" who gets bitten by these bugs...

Interesting... have you checked if the 1.5 solves anything? I believe they rebuilded most part of the code for that version?

I can think on even rebuilding the pre-parser, I love regular expressions/challenges and I noticed how buggy was when I touched something in the header and screwed everything (weeks ago, the comments problem)

eried:
Interesting... have you checked if the 1.5 solves anything? I believe they rebuilded most part of the code for that version?

No. But given the tendency of the Arduino folks to simply leave these long standing issues in the "too hard" basket in the past, I would be very surprised if anything significant has changed. At this stage, I really don't believe they have either the will or the wherewithal to fix it. It seems to be classified under "acceptably broken".

My solution has been simply to avoid it altogether, but that has also meant avoiding the IDE altogether. Which is why I was wondering if it would be easy to actually put a "bypass" option within the IDE itself, analogous to "use external editor" option.

Can you post some code that should compile if that option exists? I am not sure where I have to start to add the "skips"

eried:
Can you post some code that should compile if that option exists? I am not sure where I have to start to add the "skips"

Skipping the lines that actually write out the attempted automatically generated prototypes into the .cpp file would be the minimal change that should do it. The other stuff it does probably doesn't matter in terms of stability.

Just a quick Q: does the installer install its own Java runtime?