Society of Robots - Robot Forum

Software => Software => Topic started by: Botzor on August 16, 2013, 06:10:26 PM

Title: Graphical programming
Post by: Botzor on August 16, 2013, 06:10:26 PM
I'm looking for some neat way of doing visually aided programming.

I've found some for arduino, but what for example Minibloq seems to lack is the possibility of user defined blocks.

The best would be an IDE with standard blocks like loops and then the possibility to add user defined special blocks, eg for interrupts.

I have done both regular C -and assembler embedded programming at my university education and in my own projects.
However I've realised that the fact that we as a whole still make programs by piling tons of cryptic code that is both hard to overview and modify is both sad and ridiculous.
An example is that at least everybody I know need to manually keep track of all pins even in that 40 I/O project with 10 source files of pin assignment instead of having for instance a neat dropdown list for all pins where options and properties directly can be overlooked. Sadly enough nobody realises how retarded that is, how much effort and time is wasted on these stuff that much more easily could be solved.

Strangely enough these thoughts have met scepsis when I've shared them. I think it's due to the fact that many embedded programmers fear that a child could do the same stuff as they even faster with some visual programming, despite all the years they've spent in their notepaddy enviroment.

I just discovered Arduino and it pains me how many hours I've spent on brand specific crap that I dont really need to know about to accomplish my task
Title: Re: Graphical programming
Post by: Gertlex on August 16, 2013, 06:21:47 PM
Regarding large numbers of I/O pins and whatnot, have you seen WebbotLib's Project Designer? It handles all the low level stuff like that for you, so you can focus on higher level algorithms. (

I'm not aware of (nor interested in) wide-spread drag-n-drop coding approaches for robotics stuff, though.
Title: Re: Graphical programming
Post by: Botzor on August 19, 2013, 11:19:49 AM
Thats something I definitely would check out.

WOHO! New simulink can be directly linked to arduino  ;D (

Thats even better than what I was dreaming about, as I anyway planned to use simulink for simulations.
Title: Re: Graphical programming
Post by: robotsrfun on August 19, 2013, 12:35:33 PM
It has been my experience, that there does seem to be a bit of ultra machoism (masichism?) that exists in any environment where folks write C or C++.  I work with someone who thinks C is the best language to write anything with and C++ is garbage.  Somebody always has an opinion and doesn't appear to be afraid to express it.

I remember looking at this a while back.   I never bought it. (

I also wrote a C++ cooperative multitasking wrapper library for Arduino that encapsulates from hardware and allows development in MS Visual Studio.  You can develop in MS Visual Studio 2010 and then download to Arduino with same code base.  That way you can take advantage of the debugging tools in Visual Studio and then download to Arduino when ready.  It mitigates a lot of the development pain in Arduino.  If you are interested, I will post the code here.


Title: Re: Graphical programming
Post by: Botzor on August 19, 2013, 05:51:54 PM
Machoism could be the word to describe it. Maybe they should be told that they aren't cool until they program the memory bit by bit with dip switches. If they reply that that would be old school, retarded, time consuming and that oversight would be lost, maybe a bell would ring...

Modk could be interesting, looks like the free plugin CodeBlocks it seems.

Thank you for the offer about the plugin, is it hard to implement?

Today i tried FlowCode and if it's not buggy i think it's exactly what I've been looking for!

It makes it easy to keep track of the pins and handle things that quickly can get messy like timers. Whenever needed C code can be inserted and the the compiler first creates commented C code that can be inspected and probably corrected.

The only thing is the price but maybe it would be worth it, even for student hobby projects.
Anything similar to FlowCode is much wanted. I saw an article some time about such free program in Elektor some time but I couldn't find that article.

Title: Re: Graphical programming
Post by: jwatte on August 19, 2013, 11:19:30 PM
Saying that C is better than C++ is dumb, I agree -- you can write just as efficient code in C++ as in C.
The real answer is more often something like "the C++ tools we looked at 10 years ago were terrible, and the libraries had bugs, so we backed off."
Or, even, "the C++ tools available for our particular set of microcontrollers right now are terrible," might be true, for non-ARM, non-AVR microcontrollers. (PIC doesn't have GCC support at all; Propeller just got some limited support; I don't think MSP430 does GCC either, for example.)

Other options for answers include "I learned C, and I'm not going to learn C++, dammit!" which is dumb, and "Python/Ruby/Erlang/Go/JavaScript is much more productive for a programmer than C, so nobody should ever develop in C" which is equally dumb (if not more so) -- Systems programming languages exist for a reason!