Society of Robots - Robot Forum

Software => Software => Topic started by: Webbot on March 21, 2011, 12:26:34 PM

Title: WebbotLib Studio
Post by: Webbot on March 21, 2011, 12:26:34 PM
Now that WebbotLib has grown (ie not just a library but various different Designers etc), and I can produce code, makefile, and compile the code (but you guys may not have seen that yet!) then I'm thinking.....how about a complete design environment IDE. Something I thought I'd never do but I get increasingly frustrated with the bugs in AVRStudio (although I'm sure my first releases will have even more bugs  :D )

So how about an IDE where you can....
1/ Edit source files (except Project Designer generated files would be read-only coz they must be)
2/ Run Project Designer (PD) from within the environment - ie change your PD visually and see the code updates (ie PD does a codegen automatically after every change if there are no errors in your project)
3/ Integrated debugger at C source code level with assembly language statement view (like AVRStudio and I've spent ages researching Dwarf debug info in the .elf files)

--- So far sounds like AVRStudio with PD bolted on --- except:-

4/ Would include Webbot Downloader to make sure you've got the latest version of everything
5/ Would run on non-Windows machines (unlike AVRStudio)
6/ A debugger in the IDE which interacts with your controller board. This is a big hassle with AVRStudio - if your code uses I2C (for example) then it doesn't work as your PC isn't connected to anything. In my world it would ask your Axon (etc) to do the I2C work and return the result. So a sort-of client/server set up. Much cheaper than JTAG on-chip debugging !!
7/ Could accommodate graph views. ie monitor an output pin and see a mocked up oscilloscope view of the output. Do it for an input pin and it will do the same but for the input pin of your connected (Axon etc) board.
8/ Record and playback of sensor info
9/ Guess I could try to add some kind of programmer set up so you can also blow your code to the processor

Sounds luscious - and to my mind it is !!
Sounds like a lot of work - and it is !!
Can I have it now - no !!
Is it free - maybe/maybe not?

But is anyone interested ??

Would you be prepared to pay for it? Emotional question - I know - especially for those who have already made donations to WebbotLib. But I need to pay off my mortgage somehow !

So let me know what you think or suggest extra stuff !!
Advanced members - you must have some niggles that could be helped with a single IDE (or you may not want one!)
Beginners - feedback is welcome but please don't post things like "I cant get my programmer to work so add a 'just make everything work' button" !



Title: Re: WebbotLib Studio
Post by: rbtying on March 21, 2011, 04:36:27 PM
What about an Eclipse plugin?  It would give you one of the best IDE's available, without needing to recode it, and there's already AVR support for it. 
Title: Re: WebbotLib Studio
Post by: Webbot on March 21, 2011, 05:03:39 PM
I already use the AVR eclipse  plug-in and it is riddled with bugs! eg if you have a Java project open at the same time then it seems to constantly rebuild the C project (which for WbbotLib x Lots of processors) takes forever even tho you are only changing the Java project.
The config options and tool chain build are just WAY to complex for the average newb.

I'm a big believer in Eclipse - I use it myself for work as well as for developing WebbotLib and its tools but I think its just too big and cumbersome for AVR development.


Title: Re: WebbotLib Studio
Post by: Admin on March 23, 2011, 02:41:45 PM
A concern I have is spending huge amounts of work on this will take away your time for development of the core parts of WebbotLib.

I am also not sure if you'd be able to offer anything more than AVR Studio could offer, other than one less program to install. As an expert I've already gotten past the learning curves so what I have now is fine. But for a beginner, it might reduce the learning curve.

With the Arduino IDE, you have one button that compiles code and programs your mcu at the same time. If you do go ahead with this, I'd see that as an important feature to have.

Be sure to keep the AVR Studio support there for those who may prefer to use it . . .

(I don't really have any strong feelings at the moment)
Title: Re: WebbotLib Studio
Post by: klims on March 23, 2011, 02:49:37 PM
First thought is NO! Your time and skills are better spent elsewhere :)

My personal preference minimal: minimal add-ons, apps and other miscellaneous bits and pieces I need to get me running. I wouldn't have used the project designer if it wasn't required to run webbotlib v2.

I'm currently using notepad++ and a makefile.
Title: Re: WebbotLib Studio
Post by: Crunchy Theory on March 23, 2011, 03:55:17 PM
First thought is NO! Your time and skills are better spent elsewhere :)

My personal preference minimal: minimal add-ons, apps and other miscellaneous bits and pieces I need to get me running. I wouldn't have used the project designer if it wasn't required to run webbotlib v2.

I'm currently using notepad++ and a makefile.

/agree

While I do think that having an IDE can improve workflow and make things simpler, I often feel claustrophobic working in one - especially when it doesn't work flawlessly. I grew up with Eclipse at UCI without knowing a thing about command line programming, but being out in the workforce with embedded systems now I've learned that most people just use text editors and Makefiles. While IDEs are becoming more and more the future, the command line will never go away, and I think getting new (young) people comfortable with it is the way to go. Just makes it easier to fit in later, since newer generations always have an easier time adapting to new things than being forced to go back to the old ways.

I do like Project Designer and Board Designer for their automation, though.

Right now, I think the most useful thing to do is to strengthen the documentation, thereby enhancing the value of what's currently available. TBH, if I have to ask a question in the forums for how to use a tool or program, then the documentation wasn't clear enough.
Title: Re: WebbotLib Studio
Post by: madsci1016 on March 23, 2011, 04:44:07 PM
I think a clean and simple IDE much like Arduino would do well, especially if it has seamless PD integration.

But it would have to stay free else webbotlib would die. If you wanted to monetize something, I'd say the extra stuff you talk about, IO graphing, debugger, etc could be sold as 'plugins' to the base IDE.

If I liked the free IDE enough, I would consider 'paying' for the debugging plugin.

That said, I very much more agree with:

Quote
Right now, I think the most useful thing to do is to strengthen the documentation, thereby enhancing the value of what's currently available.

The time spent making THIS (http://webbot.org.uk/WebbotLibDocs/27159.html) look like and as easy to navigate as THIS (http://www.arduino.cc/en/Reference/HomePage) is much better spent and webbotlib use would go up tenfold.
Title: Re: WebbotLib Studio
Post by: dunk on March 23, 2011, 05:18:32 PM
so i'm a bit out of touch with WebbotLib these days.
been doing most of my development work on ARM microcontrollers recently.

So how about an IDE where you can....
so i think it depends on your target audience.
i suspect most advanced users will find it more convenient to set up their own development environment.

but i think it would be of great use to the those C programmers that want an easy to use system that buffers them from the hardware.
like a less restrictive Arduino platform.


writing an IDE that makes use of the existing open source tools shouldn't be too much work.

the other alternative is (as already suggested) to use Eclipse.
many of the commercial IDEs for the ARM platform are based on Eclipse.
it is perfectly possible to run multiple instances of Eclipse on the same machine so you could package a copy with WebbotLib plugins already installed without it interfering with any existing system copies.
(i actually use a different instance of Eclipse for all my different architecture build environments. i find it greatly simplifies things.)


as for the free vs. paid model,
while charging something would let you justify spending far more time on the project,
it would greatly reduce user uptake.
what about a free basic package with a financial contribution required for some value add feature?
maybe paid support contract?


anyway,
i'll let you know if i have any more thoughts....


dunk.
Title: Re: WebbotLib Studio
Post by: junkman on March 23, 2011, 08:56:13 PM
hi
just want to say that your webbotlib studio sounds great.
make it more user friendly then avr studio (so noobs like me can use it easily) and have a powerful webbotlib supporting, i am sure it will be a hit
Title: Re: WebbotLib Studio
Post by: Admin on April 15, 2011, 12:48:18 PM
I believe this changes things:
http://www.societyofrobots.com/robotforum/index.php?topic=13618.0 (http://www.societyofrobots.com/robotforum/index.php?topic=13618.0)
Title: Re: WebbotLib Studio
Post by: Webbot on April 15, 2011, 01:18:51 PM
I believe this changes things:
http://www.societyofrobots.com/robotforum/index.php?topic=13618.0 (http://www.societyofrobots.com/robotforum/index.php?topic=13618.0)

In MY favour I am thinking. At least I could support Mac, Linux, and XP sp 2
Title: Re: WebbotLib Studio
Post by: kl22 on April 16, 2011, 03:25:19 AM
I think this would be a great idea, but as the admin mentioned WebbotLib seems to be more important. Unless you can get someone else to work on the IDE while you concentrate on the Lib?

Also, I'm a heavy eclipse user for almost all the languages that it supports.

One key thing that I would like to see is debugging. I'm not too familiar with AVR studio, so I'm not sure if it is already done or even if it is doable, but debugging would be a major +++.
Title: Re: WebbotLib Studio
Post by: Webbot on April 17, 2011, 06:49:27 PM
I use Eclipse for everything as well - even to write WebbotLib itself as well as the Java based 'Designers' (and all the Java I do for a living!) and have been using it for almost 10 years.  As a 'professional' environment it is fine - but for most beginners it has a lot of drawbacks. Yes - I could package Eclipse along with my stuff as if it was a standalone but the download is then enormous, alternatively I could show people how to download my code into their existing Eclipse platform but that is v. complex (with download locations blah blah) as well as downloading the CDT as well. The whole interdependency thing in Eclipse is a nightmare. I can't now upgrade some modules as other dependent things wont allow it. Aaargh. So you can end up with different Eclipse installs for different languages anyway - which kinda defeats the point.

So as a first hit I'm going to do a standalone thing in Java (so Win/Mac/Unix). Initially just an editor with built in PD support and maybe a programmer.

Call me mad. "You are mad". But I'm gonna do it anyway.
Title: Re: WebbotLib Studio
Post by: kl22 on April 17, 2011, 11:32:28 PM
Sounds good to me!

Wondering if you looked at the Arduino IDE (I'm sure you have)? It is open source so maybe you might be able to port a lot of it over for your use? But of course the Arduino IDE doesn't seem as advanced as you may need it to be.
Title: Re: WebbotLib Studio
Post by: Ro-Bot-X on April 18, 2011, 05:45:18 AM
Webbot, I like your idea and I think it would be a great tool to have.

I am a lazy guy and a non professional programmer. This is why I like the IDE to be as simple and as clear as possible. This is the reason I did not progressed much using the WebbotLib. I don't like AVR Studio and I use it just to set up the fuses and load the Arduino bootloader. Then, I'm using Arduino IDE. A lot of professional programmers hate Arduino IDE and use Eclipse but I never tried it, just because I am lazy. I like the easiness of using one click to upload the code into my boards and the use of the FTDI cable instead of the programmer. I think it's a must have feature in your IDE. I have an old AVR ISP that Arduino IDE does not know how to communicate to and I get errors trying to upload the bootloader with it and it took me a lot of time to find out how to properly do it in AVR Studio. So uploading the bootloader and setting fuses might be another nice thing to have.
Another thing that I would love to see in the code, is simplified function names so I don't have headaches trying to understand the inner workings. This is why I still love the Arduino IDE more than WebbotLib, it was simplified for non-programmers can learn it easy. But I guess that is in C++ and WebbotLib is in C. Does C++ make such a big difference? Excuse my stupidity if what I'm saying is wrong. Programming microcontrollers is a hobby to me, I'm too old to make a career out of this, so I don't want to spend the little time I have to learn proper programming. There may be more people like me out there, so I'm just saying... it may be worth thinking of them too. I confess I did not try out your last releases of WebbotLib2, perhaps you already made things easier. I'll have more time during the Easter long weekend so I'll take a look. Oh, one more thing, definitely add syntax highlighting, it's the only thing I miss in Arduino IDE!

Cheers and thanks for your time and effort!
Title: Re: WebbotLib Studio
Post by: Webbot on April 19, 2011, 12:29:30 PM
Quick update - I am thinking of using jEdit as the core of the IDE - (its Java and OpenSource) - but best of all it allows you to embed it into other apps so I can wrap it with my own menus, toolbars etc. Hence I can add in Project Designer and all my other bits and pieces.

If it was just a case of allowing you to type text then I wouldn't bother - as that's easy enough to do - but jEdit also supports things like line numbering, syntax highlighting, code folding, infinite undo/redo etc. It also has a plug-in architecture so that I/(we?) could benefit from 3rd party work. It's also much lighter in size than Eclipse.

I want to add in the flasher currently being written by another SoR member (in Java) and cast an eye on the Arduino programmer code (also in Java). I don't have every programmer on earth so would need help to test.

Debugging would probably be a phase 2. Arduino IDE doesn't seem to have it, and the AVRStudio one is fairly flakey.

I am already looking at the C++ stuff - and have been for a year or two. The avr-g++ compiler does have some issues and hence I abandoned a pure C++ version of the library - but I may start by wrapping the C code with a thin C++ layer (like Arduino and others do). This would allow existing user code to continue to function in C only mode as well as allowing C++ notation.

Lots to do....


Title: Re: WebbotLib Studio
Post by: rbtying on April 19, 2011, 01:04:19 PM
If you added a C++ wrapper to Webbotlib I'd probably switch - the only reason why I haven't yet is because I like being able to work with classes and in a more object-oriented style, and webbotlib functions aren't too well-suited for that.
Title: Re: WebbotLib Studio
Post by: kl22 on April 20, 2011, 10:25:40 PM
Hey Webbot,

I think you were referring to me regarding the programmer.

The way I developed it we can add as many different programmers to it as we like (currently only has the Axon Programmer). I'm going to be including a programmer in for Arduino on post-beta release.

I'll fix up the code a bit so you can essentially just include the library for the programmer and you will have it functioning. I'll switch contacts with you soon so you can tell me exactly how you need it.

jEdit seems like a really good idea, first time hearing about it.

Edit: I looked into jEdit yesterday and it see some people on the web are saying that dev for it stopped in 2004. But I just looked at their daily builds and they had one on Ar 13 2011.

Either way, jEdit seems very robust, also it seems like it is a very good tool -- comparable to Notepad++.