Damn you, Arduino...I have no free time for this.
61–65 of 65 posts
Re: Damn you, Arduino...I have no free time for this.
#62Ryan, I really like a lot of your posts, but some of them feel a little light for HN. This one could be summarized as "I got an Arduino, Physical products are really cool". Kind of bummed its #1 right now. Nothing personal against you, just that personality rather than content seems to be rocketing things up the page.
Re: Damn you, Arduino...I have no free time for this.
#63Arduino's are neat, I have one too. One caveat to be aware of is that Processing isn't very portable yet; so it's a bit of a lock-in there. TI has some neat micro-controller kits in the same vein as the Arduino you should google for. Cheap too.
> One caveat to be aware of is that Processing isn't very portable yet; so it's a bit of a lock-in there. Processing ( http://processing.org/ ) is different to the Arduino although the IDEs are based on the same code base. While the Arduino "language" is related to Wiring ( http://wiring.org.co/ ) it's different too. By lock-in do you mean lock-in in relation to the language/libraries (which is really a documented su…
The thing is that the language/libraries are a very stripped sub-set of C++ and their IDE does a lot of parsing/mangling to turn "sketches" into C++ programs. It can mangle perfectly legal C++ code.
The arduino APIs like digitalWrite do table-lookups to match the pin, port, and bit. Pretty inefficient and slow.
It's still a great little system though. People have come up with alternative implementations that (for example) implement the SBI/CBI instructions as constants you can use when calling the Arduino APIs to make things much faster. And it's not like you'll care about "lock in" unless you start building large projects and get tired of the Arduino way of doing things and want to move to an alternate board. Arduino makes a nice cheap kit and starter package for people who want to get their feet wet in embedded systems.
Re: Damn you, Arduino...I have no free time for this.
#64Earlier quoted context omitted.
> One caveat to be aware of is that Processing isn't very portable yet; so it's a bit of a lock-in there. Processing ( http://processing.org/ ) is different to the Arduino although the IDEs are based on the same code base. While the Arduino "language" is related to Wiring ( http://wiring.org.co/ ) it's different too. By lock-in do you mean lock-in in relation to the language/libraries (which is really a documented su…
It's pretty much language/libraries. You can (and later, when you start writing sufficiently advanced projects w/ 'real-time' needs) write code on the low-level io. This isn't really supported or well documented and kind of defeats the purpose of being "portable." The thing is that the language/libraries are a very stripped sub-set of C++ and their IDE does a lot of parsing/mangling to turn "sketches" into C++ progra…
AFAIK the parsing is limited to extracting function prototypes for creating the function declarations which I wouldn't call "a lot". This has been known to miss certain legal C++ function prototypes formats though. Normally the solution is to manually write the declaration yourself and format the prototype so it doesn't get parsed.
It's not a hugely common occurrence though.
It is true that optimisation/efficiency hasn't been a huge focus and the lack of focus on it is "development policy": http://code.google.com/p/arduino/wiki/DevelopmentPolicy
While it's definitely not perfect the fact that it's based on avr-gcc makes the risk of lock-in less of an issue than some other platforms.
Plus, it's fun. :)
Re: Damn you, Arduino...I have no free time for this.
#65Earlier quoted context omitted.
It's pretty much language/libraries. You can (and later, when you start writing sufficiently advanced projects w/ 'real-time' needs) write code on the low-level io. This isn't really supported or well documented and kind of defeats the purpose of being "portable." The thing is that the language/libraries are a very stripped sub-set of C++ and their IDE does a lot of parsing/mangling to turn "sketches" into C++ progra…
> their IDE does a lot of parsing/mangling to turn "sketches" into C++ programs. It can mangle perfectly legal C++ code. AFAIK the parsing is limited to extracting function prototypes for creating the function declarations which I wouldn't call "a lot". This has been known to miss certain legal C++ function prototypes formats though. Normally the solution is to manually write the declaration yourself and format the p…
However, those are the trade off's and that's not even all of them. It is possible because of avr-gcc to bypass the whole "sketch" thing they have going and compile/load your code without even running the iDE.
Like I said, I do like Arduino for what it is. :)