NXC, LEJOS, ROBOTC software and EV3 compatibility?

Discussion specific to NXT-G, NXC, NBC, RobotC, Lejos, and more.
tcwan
Posts: 186
Joined: 30 Sep 2010, 07:39

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by tcwan »

mightor wrote:
hm - would this be just even more promising or already utopian?
There's simply GCC (that's PVC - Proper, Very C) that will work just fine. You'll have to do all the work yourself, of course, unless someone writes a library to talk to all the devices :)

= Xander
Speaking of which, I wonder how LEGO will implement the VM on top of Linux. Is there going to be native Linux drivers for the sensors, so that the VM just call appropriate driver libraries? If so, it should be straightforward to interface C directly to the drivers in such an environment. When the VM becomes just another Linux process it will be much easier to swap it out for another environment. Alternative programming languages will be much more easily supported if this were the case.

Can't wait for more info.....
HaWe
Posts: 2500
Joined: 04 Nov 2014, 19:00

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by HaWe »

maybe Lego actually will generate real ARM machine code for the Linux OS (just a guess - or a hopeful wish)...?
That's sort of thing what Fischertechnik is already doing by it's own multitasking Compiler for it's ARM9 RoboTX board OS and it's own Graphic IDE called RoboPro (which both are not open source).
But anyway, RoboPro supports multitasking, and it generates real genuine ARM machine code for the ARM9.

But as Linux already is MT and MU capable I'm really curious why then not target it directly by genuine machine code but put a VM on top instead?
That's like driving a bike on top of a monster truck... :roll:

(Just speaking as a completely-non-computer-scientist)
mightor
Site Admin
Posts: 1079
Joined: 25 Sep 2010, 15:02
Location: Rotterdam, Netherlands
Contact:

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by mightor »

Speaking of which, I wonder how LEGO will implement the VM on top of Linux. Is there going to be native Linux drivers for the sensors, so that the VM just call appropriate driver libraries? If so, it should be straightforward to interface C directly to the drivers in such an environment. When the VM becomes just another Linux process it will be much easier to swap it out for another environment. Alternative programming languages will be much more easily supported if this were the case.
No public information about this has been made available by LEGO, but you can rest assured that when it does become available, we'll be able to tell you a LOT more :)
maybe Lego actually will generate real ARM machine code for the Linux OS (just a guess - or a hopeful wish)...?
Can you explain what you mean by this?
doc-helmut wrote:But as Linux already is MT and MU capable I'm really curious why then not target it directly by genuine machine code but put a VM on top instead?
The VM can do a lot of the heavy lifting for you, handle incoming BT, WiFi and USB messages, etc. It just makes things simpler.

= Xander
| My Blog: I'd Rather Be Building Robots (http://botbench.com)
| RobotC 3rd Party Driver Suite: (http://rdpartyrobotcdr.sourceforge.net)
| Some people, when confronted with a problem, think, "I know, I'll use threads,"
| and then two they hav erpoblesms. (@nedbat)
HaWe
Posts: 2500
Joined: 04 Nov 2014, 19:00

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by HaWe »

maybe (the) Lego (compiler) actually will generate real ARM machine code for the Linux OS (just a guess - or a hopeful wish)...?
Can you explain what you mean by this?
what part don't you understand?
The VM can do a lot of the heavy lifting for you, handle incoming BT, WiFi and USB messages, etc. It just makes things simpler.
why is it easier to have a cross compiler for a bytecode interpreter and a bytecode interpreter on the target system which then first interpretes the pre-compiled intermediate bytecode which then lets him generate binary machine code to handle, e.g., USB -
than a cross compiler which directly generates binary machine code to be executed directly on the target system and then does the same?
aswin0
Posts: 201
Joined: 29 Sep 2010, 06:58

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by aswin0 »

doc-helmut wrote: why is it easier to have a cross compiler for a bytecode interpreter and a bytecode interpreter on the target system which then first interpretes the pre-compiled intermediate bytecode which then lets him generate binary machine code to handle, e.g., USB -
than a cross compiler which directly generates binary machine code to be executed directly on the target system and then does the same?
It is easier to debug your programs.
It is easier to develop (for) such as system.
It is easier to maintain.
It is slower, true.
My blog: nxttime.wordpress.com
afanofosc
Site Admin
Posts: 1256
Joined: 26 Sep 2010, 19:36
Location: Nashville, TN
Contact:

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by afanofosc »

A well-designed and widely-used VM (e.g., dalvik, jvm, .net) can have substantial benefits such as the ones aswin mentions. It is also true, though, that VMs can make things much more difficult than targetting a very well known processor and operating system, such as arm/linux, with widely used and standard programming languages, such as C/C++ and Pascal and with well known debugging tools like gdb. One of a kind VMs tend to make life difficult for both tool providers and tool consumers.

John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
cpapple123
Posts: 44
Joined: 04 May 2012, 20:20

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by cpapple123 »

Everyone here is talking far beyond my tech level. But I must comment. Didn't Lego them self claim this system to be very hack able. They want YOU to create the hi end open source tools for me the techie user. I'm only a 10 month user of Mindstorms liked the NXT-G for about and hour then after seeing the NQC software power loved the fact LEGO supported the idea of custom Firmware and hacking the platform. Apple would never do that. Witch kind of surprise me that in the LEGOS FAQ for the EV3 they only mention communicating with I-puds and not droids.
HaWe
Posts: 2500
Joined: 04 Nov 2014, 19:00

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by HaWe »

aswin, I don't actually see why it should be easier in those respects you mentioned (debug, develop, maintain)- maybe you wish to explain a little bit more explicit?
afanofosc wrote:A well-designed and widely-used VM (e.g., dalvik, jvm, .net) can have substantial benefits such as the ones aswin mentions. It is also true, though, that VMs can make things much more difficult than targetting a very well known processor and operating system, such as arm/linux, with widely used and standard programming languages, such as C/C++ and Pascal and with well known debugging tools like gdb. One of a kind VMs tend to make life difficult for both tool providers and tool consumers.
John Hansen
John, it almost sounds
- as if you give preference to a gnu Compiler for arm/linux ?
- if yes, is this also good reason for you for establishing an API?
- and if also yes, would you appreciate people to help while it's in development?
hassenplug
Posts: 346
Joined: 27 Sep 2010, 03:05
Contact:

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by hassenplug »

cpapple123 wrote:Which kind of surprise me that in the LEGO FAQ for the EV3 they only mention communicating with I-puds and not droids.
The NXT was droid-compatible. That's old news. The I-communication is new. They want to talk about new stuff.

The fact that it's easy to talk to droids, and people have been doing it for a long time is not as interesting as all the all the hoops lego and other have had to jump through in order to reach the same level of functionality, only a few years later.

Steve
---> Link to lots of MINDSTORMS stuff under my picture --->
skoehler
Posts: 8
Joined: 28 Apr 2011, 10:18

Re: NXC, LEJOS, ROBOTC software and EV3 compatibility?

Post by skoehler »

pbenco wrote:Is there any third party software as NXC, LEJOS, ROBOTC news? Haven't seen nowhere anything about that topic, i'm asking, perhaps Xander, Brian, John, Steve?
So about leJOS: we have talked about the EV3. We don't know much about it yet, but we're thinking about bringing leJOS to the EV3. If possible, we will a fully fledged virtual machine instead of our own on the EV3, so you'd really have the full power of Java at your hands. However, I can not make any promises whether or when a port of leJOS will be ready. And all I just said is speculation.
Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests