0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« on: July 16, 2010, 02:43:57 pm » |
I'm trying to make my own Arduino IDE : ArduinoStudio. Expected features: - All of the original Arduino IDE
- Sketch system
- Preprocessor
- Uploadbutton
- Serial monitor
- Advanced code editor (Scintilla)
- MDI
- Library creation
- PROGMEM compiler
- Subversion
- maybe: Debugger / Simulator based on arduemu
The IDE is in C++ using Qt framework Please tell me what you think of this idea. Ideas and suggestions are always welcome.
|
|
|
|
« Last Edit: July 17, 2010, 04:17:33 am by Daanie92 »
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #1 on: July 16, 2010, 02:54:53 pm » |
Some clarification: Sketch system One main file, archive of sketches, easier code Preprocessor Easier code Uploadbutton Being able to upload your sketch to the Arduino Serial monitor ... Advanced code editor The code editor is Scintilla. This editor allows for automatic coloring, indentation and word autocompletion. MDI Multiple Document Interface. Allows you to open more than one sketch but in one window. Library creation A special editor for libraries. Will automatically add #include "WProgram.h" and save the files in the correct format and folder. PROGMEM compiler A resource compiler like the resource compiler for Qt. You have an easy editor for all the data stored in PROGMEM. The compiler wil generate PROGMEM code and automatically append it to the source code. Debugger/Simulator It may eventually contain a simulator for trying the program. The arduemu project is still Alpha, but when it is good enough it will be included in this studio
|
|
|
|
|
Logged
|
|
|
|
|
Left Coast, CA (USA)
Offline
Brattain Member
Karma: 279
Posts: 15316
Measurement changes behavior
|
 |
« Reply #2 on: July 16, 2010, 03:38:24 pm » |
The IDE is in C++ using Qt framework
Please tell me what you think of this idea. Ideas and suggestions are always welcome. Will your project support all three PC operating systems that the current IDE supports? Lefty
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #3 on: July 16, 2010, 03:47:15 pm » |
Yes, I use Qt because it is simple to use, free for open source and platform independent  . I will compile the Studio for Windows and Linux, but Mac OS X is different. I don't have Mac OS X so I can't compile it. Maybe someone with Mac OS X could compile it. Without platform interdependency, it can't be better than the current IDE.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #4 on: July 16, 2010, 04:23:54 pm » |
To give an idea  There is much to be done, but it is a nice project.
|
|
|
|
|
Logged
|
|
|
|
|
North Yorkshire, UK
Offline
Faraday Member
Karma: 104
Posts: 5531
|
 |
« Reply #5 on: July 16, 2010, 04:41:49 pm » |
Without platform interdependency, it can't be better than the current IDE. I have many ideas for an IDE but I'm not so sure about actually doing it. Maybe you want to become very good friends with Massimo, David C, Tom, Gianluca and David M first. :-?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #6 on: July 16, 2010, 04:53:12 pm » |
I have many ideas for an IDE but I'm not so sure about actually doing it. Sharing is always possible. Maybe you want to become very good friends with Massimo, David C, Tom, Gianluca and David M first. I'll consider that. For now, I can understand a lot of their original code but it is to much work to adapt everything to C++. I'll write my own code, but inspired by their code. (preprocessor for example) To all, thanks for those quick replies. Some forums ... aren't that quick and active.
|
|
|
|
|
Logged
|
|
|
|
|
Phoenix, Arizona USA
Offline
Faraday Member
Karma: 27
Posts: 5079
Where's the beer?
|
 |
« Reply #7 on: July 16, 2010, 05:12:10 pm » |
Hmm - has anyone tried this editor with the Arduino, I wonder? http://bluefish.openoffice.nl/index.htmlI doubt it would work completely "right outta the box" - ie, it wouldn't compile and upload - but it says that it is scriptable, so adding that wouldn't be difficult. I just found it, and it seemed like it might be a good step in-between the current IDE and using eclipse. 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3196
20 LEDs are enough
|
 |
« Reply #8 on: July 17, 2010, 12:42:31 am » |
IMHO the biggest issue with the Arduino IDE is that it lacks any kind of version control. Having said that, the other features are below average as well. The main advantage of Arduino are the libraries and the examples and that it works out of the box most of the time.
So whoever provides a reasonable IDE for Arduino that includes version control *and* works out of the box will most probably win this "market".
Udo
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #9 on: July 17, 2010, 04:17:01 am » |
So whoever provides a reasonable IDE for Arduino that includes version control *and* works out of the box will most probably win this "market". I'll add version control (SVN) to the list. Working out of the box is harder, but achievable.
|
|
|
|
|
Logged
|
|
|
|
|
Knivsta,Sweden
Offline
Sr. Member
Karma: 0
Posts: 274
Low level's cool
|
 |
« Reply #10 on: July 17, 2010, 04:41:12 pm » |
On my wishlist: * preferences for command line options to compiler so you easily can e.g. enable warnings * copy-paste of text that works to/from other applications * A list of auto-replacements in the editor so that it automatically fixes e.g.:
Serail -> Serial returb -> return flase -> false
etc
|
|
|
|
« Last Edit: July 17, 2010, 05:01:37 pm by drhex »
|
Logged
|
|
|
|
|
North Yorkshire, UK
Offline
Faraday Member
Karma: 104
Posts: 5531
|
 |
« Reply #11 on: July 17, 2010, 04:47:25 pm » |
on my wishlist: an obvious com port and board drop down list like |COM PORT : 3 |v| | BOARD: Aruduino Duemilanove |v| |
stick it right under the current icons...
Mowcius
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #12 on: July 17, 2010, 06:57:56 pm » |
* Command line preferences It is added to the list. * copy-paste of text that works to/from other applications The editor Scintilla has that built in. (I just tested it out) * A list of auto-replacements in the editor so that it automatically fixes e.g.: Because Scintilla automatically displays an auto-completion list, you won't be typing the first two words wrong. However, I will add an auto-replace list like the one found in Word. an obvious com port and board drop down list I'll create an upload toolbar with those lists and an upload button [COM][V] [BOARD][V] | [UPLOAD] Because the picture of the program is pointing to my site, it will change when a new feature is added. To give an example of how it looks like. EDIT: You can go to dss.nl.eu.org/ArduinoStudio to view my code. Note however that it doesn't have a nice download system, just links to the individual files.
|
|
|
|
« Last Edit: July 17, 2010, 07:11:36 pm by Daanie92 »
|
Logged
|
|
|
|
|
Phoenix, Arizona USA
Offline
Faraday Member
Karma: 27
Posts: 5079
Where's the beer?
|
 |
« Reply #13 on: July 17, 2010, 09:33:15 pm » |
IMHO the biggest issue with the Arduino IDE is that it lacks any kind of version control. I'm not sure that an editor should have built-in version control; instead, it should have a means to integrate with standard version control tools like Subversion and SourceSafe. That way you get the versioning capability, but you aren't locked into any single tool. Also, by using standard versioning tools, there's the ability to partition the project tree and the check-in/check-out of code; so that while the editor for the Arduino code is checking out from its area, the front-end GUI application code being developed by another developer for the same project, in say, PHP - can be checked out on its own, all versioned with the same toolset in the same versioning DB.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3196
20 LEDs are enough
|
 |
« Reply #14 on: July 18, 2010, 02:36:48 am » |
This is not an editor - it is an IDE for beginners. Of course an optimal solution would be to come with a default version control and the capability to integrate any other version control. Just as with the boards / programmers. There are reasonable defaults but you can extend it as you desired.
Udo
|
|
|
|
|
Logged
|
|
|
|
|
|