Codebender: An online Arduino IDE(codebender.cc)
codebender.cc
Codebender: An online Arduino IDE
http://codebender.cc/
5 comments
marssaxman i'd be very sincerely grateful if you'd like pre-register and test it. the thing that got us started in the first place was the limitations of the Arduino IDE, and we think we did a great job with that. we really do have a much better editor, as hackaday elegantly put it, "codebender uses clang a wonderful compiler that will give you extremely descriptive warnings on terrible code." plus a better way to manage your sketches (instead of relying in a directory with 100s of projects).
anyway, in regards to your question, if you've ever used a big project (20-30k when compiled), it can take quite a while to compile and less time flashing. plus, the Arduino IDE compiles it every_single_time although there is no need to, so if, for example, you want to flash this code to a nub you're spending more than half of your time recompiling the same code for no particular reason
anyway, in regards to your question, if you've ever used a big project (20-30k when compiled), it can take quite a while to compile and less time flashing. plus, the Arduino IDE compiles it every_single_time although there is no need to, so if, for example, you want to flash this code to a nub you're spending more than half of your time recompiling the same code for no particular reason
In my experience, clang/LLVM tend to spit out significantly larger (10-20%) binaries than gcc for x86 and ARM. Have you seen size increases on the Arduino as well? That'd be a big concern for me, given the limited space available.
For the moment, we only use it for syntax analysis and to give a beautiful error output for our users. There is an active LLVM backend for AVR with great ponential, currently under development and from what i understand, Atmel is backing it as well, but it's not stable yet. We would like to try it out though.
P.S. A size comparison will be very interesting. I will go out on a limb and assume that LLVM spits larger binaries when optimizing the code for speed. We use -Os to optimize for size, so it will be interesting to see which does the best job.
P.S. A size comparison will be very interesting. I will go out on a limb and assume that LLVM spits larger binaries when optimizing the code for speed. We use -Os to optimize for size, so it will be interesting to see which does the best job.
Ah, great, I thought that it was being used for compilation as well. Thanks for clearing that up, and nice project!
I agree with you on the Arduino IDE limitations, but what I don't get is all the browser/cloud-based part. The mbed platform has all that online stuff, and that's precisely why it's a pain to use.
simonbarker87 makes a great case for us on the comments below. i'd just like to add that it generally skips the (sometimes painful) process of installing and updating the hardware. everyone who has taught a workshop or class on Arduino and had to help about 10 people get set up probably knows what i'm talking about.
Yes, exactly, this is why I don't use mbed.
If it were a downloadable, installable app, I'd already be on board. As a web page, though, I'm not interested.
Yes, this puzzles me too. I would really like to know what motivated the authors to spend quite a lot of time and effort developing this product. Who is the audience and what is the purpose?
I've never had a problem with the standard Arduino IDE, including libraries, or compilation times. And I suppose the remote flashing might be useful in some circumstances, but for any actual development I want to be in the same room as the board with an oscilloscope/logic analyzer. So I'm pretty unclear on what pain point this is trying to solve.
Some autocomplete and better error/warning highlighting would surely save people time. I'm not defending codebender, which I've never tried, but the arduino IDE is just barely good enough.
As a hacker, I got very quickly frustrated with the Arduino IDE and I wanted to use what I always use: vim and :make. I found that the new "ino" commmand line tool (http://inotool.org/) was the easiest to set up. I added arduino syntax highlighting and a few helpful keybindings for a comfortable hacking experience.
Question to Codebender authors: how did you get access to the serial port from the browser?
Question to Codebender authors: how did you get access to the serial port from the browser?
It wasn't that hard, really. Originally we wanted to use Firefox's and Chrome's native javascript APIs, but they aren't stable yet, we had to do double the work and even then we could only target two of the major browsers. So what we do is run a Java Applet which communicates with our Javascript and gives us access to the serial ports.
I've never used Arduino but have done a lot of work with mbed and their compiler is browser/cloud based so this is a great for Arduino.
One of the benefits of something like this is that it is not tied to one platform and, more importantly, it can be used in schools, universities and other institutions with archaic IT policies where installing software is a trial.
One of the benefits of something like this is that it is not tied to one platform and, more importantly, it can be used in schools, universities and other institutions with archaic IT policies where installing software is a trial.
Let me know when they make something that automatically builds circuits... THEN I will be interested.
This is just "LOOK! WE PUT ___ INTO THE CLOUD!"
This is just "LOOK! WE PUT ___ INTO THE CLOUD!"
"improves compilation time" - but compilation time is nothing, it's flashing the microcontroller that takes the time, and there's nothing a "cloud" system can do to improve that.