* Direct control of NXT mindstorms
@ 2010-01-08 11:22 Alex R. Mosteo
2010-01-08 12:38 ` Jeffrey Creem
0 siblings, 1 reply; 4+ messages in thread
From: Alex R. Mosteo @ 2010-01-08 11:22 UTC (permalink / raw)
Hi people,
I'm studying the options for Ada direct control of a NXT brick from an
external computer using the USB connection (as opposed to flashing a new
firmware, which is the way that GNAT for Mindstorms does). After looking for
what's available out there I've come to the following options:
a) Pure Ada library, would require binding to libusb.
b) Binding to some of the other libraries out there. I couldn't find a C/C++
one that has USB implemented, so next good candidate seems Python or OCaml.
c) Completing the libnxtc (the one in C) with the missing USB bits.
Probably the less work is b) or c), and then bind to it from Ada if wanted.
Anyway, just for the sake of completeness, I'd like to ask the group for any
related experiences or missing bits. More precisely:
p) I'm missing some approach in the above?
q) Are there any Ada bindings to libusb already? Not according to my
googling, and only some early efforts in old threads that didn't get
reported here afterwards.
r) Experiences in binding to Python/OCaml? I guess a C glue layer is the
way?
Kind regards,
Alex.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Direct control of NXT mindstorms
2010-01-08 11:22 Direct control of NXT mindstorms Alex R. Mosteo
@ 2010-01-08 12:38 ` Jeffrey Creem
2010-01-08 17:30 ` Alex R. Mosteo
0 siblings, 1 reply; 4+ messages in thread
From: Jeffrey Creem @ 2010-01-08 12:38 UTC (permalink / raw)
Alex R. Mosteo wrote:
> Hi people,
>
> I'm studying the options for Ada direct control of a NXT brick from an
> external computer using the USB connection (as opposed to flashing a new
> firmware, which is the way that GNAT for Mindstorms does). After looking for
> what's available out there I've come to the following options:
>
> a) Pure Ada library, would require binding to libusb.
> b) Binding to some of the other libraries out there. I couldn't find a C/C++
> one that has USB implemented, so next good candidate seems Python or OCaml.
> c) Completing the libnxtc (the one in C) with the missing USB bits.
>
> Probably the less work is b) or c), and then bind to it from Ada if wanted.
> Anyway, just for the sake of completeness, I'd like to ask the group for any
> related experiences or missing bits. More precisely:
>
> p) I'm missing some approach in the above?
> q) Are there any Ada bindings to libusb already? Not according to my
> googling, and only some early efforts in old threads that didn't get
> reported here afterwards.
> r) Experiences in binding to Python/OCaml? I guess a C glue layer is the
> way?
>
> Kind regards,
>
> Alex.
I never finished it but another approach with a start that is present is
at http://nxtada.svn.sourceforge.net/viewvc/nxtada/trunk/
This controlled it from a computer over bluetooth essentially using a
serial API and a bluetooth virtual serial port.
Suggested as another initial source of ideas and approach.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Direct control of NXT mindstorms
2010-01-08 12:38 ` Jeffrey Creem
@ 2010-01-08 17:30 ` Alex R. Mosteo
2010-01-08 17:47 ` Alex R. Mosteo
0 siblings, 1 reply; 4+ messages in thread
From: Alex R. Mosteo @ 2010-01-08 17:30 UTC (permalink / raw)
Jeffrey Creem wrote:
> Alex R. Mosteo wrote:
>> Hi people,
>>
>> I'm studying the options for Ada direct control of a NXT brick from an
>> external computer using the USB connection (as opposed to flashing a new
>> firmware, which is the way that GNAT for Mindstorms does). After looking
>> for what's available out there I've come to the following options:
>>
>> a) Pure Ada library, would require binding to libusb.
>> b) Binding to some of the other libraries out there. I couldn't find a
>> C/C++ one that has USB implemented, so next good candidate seems Python
>> or OCaml. c) Completing the libnxtc (the one in C) with the missing USB
>> bits.
>>
>> Probably the less work is b) or c), and then bind to it from Ada if
>> wanted. Anyway, just for the sake of completeness, I'd like to ask the
>> group for any related experiences or missing bits. More precisely:
>>
>> p) I'm missing some approach in the above?
>> q) Are there any Ada bindings to libusb already? Not according to my
>> googling, and only some early efforts in old threads that didn't get
>> reported here afterwards.
>> r) Experiences in binding to Python/OCaml? I guess a C glue layer is the
>> way?
>>
>> Kind regards,
>>
>> Alex.
>
> I never finished it but another approach with a start that is present is
> at http://nxtada.svn.sourceforge.net/viewvc/nxtada/trunk/
>
> This controlled it from a computer over bluetooth essentially using a
> serial API and a bluetooth virtual serial port.
>
> Suggested as another initial source of ideas and approach.
Thanks, that's interesting. Actually I explicitly don't want to use
bluetooth, but I've seen devices attached to linux boxes where they appear
as a serial line. I must check if this is the case with the NXT, since this
would make unnecessary (I guess) the use of libusb. In this case I could
jump right into continuing with your code...
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Direct control of NXT mindstorms
2010-01-08 17:30 ` Alex R. Mosteo
@ 2010-01-08 17:47 ` Alex R. Mosteo
0 siblings, 0 replies; 4+ messages in thread
From: Alex R. Mosteo @ 2010-01-08 17:47 UTC (permalink / raw)
Alex R. Mosteo wrote:
> Jeffrey Creem wrote:
>
>> Alex R. Mosteo wrote:
>>> Hi people,
>>>
>>> I'm studying the options for Ada direct control of a NXT brick from an
>>> external computer using the USB connection (as opposed to flashing a new
>>> firmware, which is the way that GNAT for Mindstorms does). After looking
>>> for what's available out there I've come to the following options:
>>>
>>> a) Pure Ada library, would require binding to libusb.
>>> b) Binding to some of the other libraries out there. I couldn't find a
>>> C/C++ one that has USB implemented, so next good candidate seems Python
>>> or OCaml. c) Completing the libnxtc (the one in C) with the missing USB
>>> bits.
>>>
>>> Probably the less work is b) or c), and then bind to it from Ada if
>>> wanted. Anyway, just for the sake of completeness, I'd like to ask the
>>> group for any related experiences or missing bits. More precisely:
>>>
>>> p) I'm missing some approach in the above?
>>> q) Are there any Ada bindings to libusb already? Not according to my
>>> googling, and only some early efforts in old threads that didn't get
>>> reported here afterwards.
>>> r) Experiences in binding to Python/OCaml? I guess a C glue layer is the
>>> way?
>>>
>>> Kind regards,
>>>
>>> Alex.
>>
>> I never finished it but another approach with a start that is present is
>> at http://nxtada.svn.sourceforge.net/viewvc/nxtada/trunk/
>>
>> This controlled it from a computer over bluetooth essentially using a
>> serial API and a bluetooth virtual serial port.
>>
>> Suggested as another initial source of ideas and approach.
>
> Thanks, that's interesting. Actually I explicitly don't want to use
> bluetooth, but I've seen devices attached to linux boxes where they appear
> as a serial line. I must check if this is the case with the NXT, since
> this would make unnecessary (I guess) the use of libusb. In this case I
> could jump right into continuing with your code...
I just tried and there are two new devices when I connect the NXT:
/dev/bus/usb/005/003
/dev/char/189:514
I have no idea if I can directly open one of these to start writing commands
to it... don't think so?
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-01-08 17:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-08 11:22 Direct control of NXT mindstorms Alex R. Mosteo
2010-01-08 12:38 ` Jeffrey Creem
2010-01-08 17:30 ` Alex R. Mosteo
2010-01-08 17:47 ` Alex R. Mosteo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox