[Sugar-devel] TurtleBlocks driving lego NXT 2.0 -
walter.bender at gmail.com
Thu Dec 30 18:35:59 EST 2010
On Thu, Dec 30, 2010 at 5:34 PM, Martin Langhoff
<martin.langhoff at gmail.com>wrote:
> Hi Walter, list,
> [ disclaimer: this is a hobby project, likely to proceed at very slow
> pace, given insane amounts of real work around XOs ;-) ]
> I got a lego nxt 2.0 for xmas! Looking around for how to use it from
> Linux, I found NXC (a variant on NQC -- 'not quite C' that compiles to
> NXT bytecode). It looks like a really pleasant programming language.
> It's the most compelling env for various reasons -- but the
> interesting thing is that there is no GUI for Linux, and that the
> MacOSX/Windows GUI looks a lot like Turtle Blocks (but doesn't seem to
> be as good ;-) ).
> Here's a good visual summary, put together by a teacher:
> What I am wondering is what is the smartest path to a TB "mode" or a
> friendly fork of TB that exports NXC code?
> After browsing the TB src (looking at master), my observations are
> - I'm very pleased there's a turtleart.py that runs w/o Sugar! Very nice!
> - talogo.py could be an inspiration
> - NXT has very different actions, and fairly specific sensors -- it'd
> make sense to have a very different set of blocks available. Also some
> blocks have many options. Not sure how to handle these issues.
> = Notes on languages and NXT tools =
> Notes for anyone else looking into NXT... from most interesting to least
> - NBC/NXC is the most popular tool by all accounts, actively
> maintained, and jspaleta is planning to get it into F15. NBC/NXC
> creates programs that download to the NXT CPU and run there -- it's a
> nice ARM CPU. Fully features, well documented (free online docs). The
> author of NBC/NXC has also published an apparently good book.
> Found this tutorial best outline of NXC usage
> - There is a python module for it, but it's for Python 2.4, looks
> unmaintained, seems very limited in features and it's not clear
> whether it creates programs that will execute on the NXT CPU, or just
> controls it remotely. Others have reused it and extended it for file
> transfers, but it all looks dated; if the NBC/NXC toolchain handles
> the actions we need, better.
> - Big chart of options
> martin.langhoff at gmail.com
> martin at laptop.org -- School Server Architect
> - ask interesting questions
> - don't get distracted with shiny stuff - working code first
> - http://wiki.laptop.org/go/User:Martinlanghoff
I had a similar conversation with the Arduino team in .uy last month. We
discussed how I might make a palette class that made it easier to extend
Turtle Blocks without having to modify the taconstants.py file. I'll keep
you in the loop on that one.
I would recommend as a place to start simply adding a set of blocks to
control the motors and access the sensor data. And leave the programming
logic to the Sugar Activity.
Happy to help any way I can. (BTW, v106, not yet released, but in git, has
support for the XO camera as an additional sensor... a request from a
teacher in .uy.)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Sugar-devel