View unanswered posts | View active topics It is currently Sat Aug 30, 2014 12:31 pm






Reply to topic  [ 5 posts ] 
function implemtations 
Author Message
Rookie

Joined: Sun Jun 24, 2012 11:12 pm
Posts: 1
Post function implemtations
Hi All,
I'm new to the list but I have a ton of programming experience. I am looking for information on how the functions for robotC and other mindstorms robotics platforms are implemented, specifically NXC. I've looked all over the internet and I can't find anything other than the function prototypes. Any ideas on where I can find what I am looking for? Thanks in advance for any help.


-John


Sun Jun 24, 2012 11:20 pm
Profile
Expert

Joined: Thu Sep 29, 2011 11:09 pm
Posts: 184
Location: Michigan USA
Post Re: function implemtations
If you are looking for help with NXC, the ROBOTC forums are not a good place to ask. Try heading over to the mindboards forums where there are lots of NXC experts (including John Hansen, the main NXC developer).

Once you start a topic there, I can direct you to an NXC tutorial and guide, but let's keep the ROBOTC forums specifically about ROBOTC.

_________________
Matt


Mon Jun 25, 2012 1:34 am
Profile WWW
Expert

Joined: Tue Feb 28, 2012 3:10 pm
Posts: 195
Post Re: function implemtations
js51107 wrote:
Hi All,
...I am looking for information on how the functions for robotC and other mindstorms robotics platforms are implemented, ...
-John


Sounds legit to me.

RobotC is not open source, and you are unlikely to find information on how things are done on it. But I suspect it is a lot like the others.

I have looked a few places. The NXT firmware is open source. At one time or another I had the link and downloaded it, but I can't find it at the moment (somewhere on the LEGO mindstorms download page I think), but check out http://nxtgcc.sourceforge.net/ - it probably has a link to it some where as well as lot of other links that you might find helpful.

Also, NXC is supposedly open source, but it requires a commercial environment you can no longer obtain legally (so its not really open source, just claims to be). You can eventually find links to older versions of it and can look into how things are done, but probably not rebuild or modify it, which is the definition of open source, unless you have borland's delphi. It generates Assembler code, which is then assembled into interpreted byte code, much like a virtual machine. A few hints in Robotc, cause me to believe it is very similar.

Finally, look into LeJOS. It included the Java Virtual machine, and also works as above. Truly open source, with current implementations fully available in source. http://lejos.sourceforge.net/

Its not for the casual user, but if you are an experienced developer, it is interesting (and in need of some modern alternative to Java). Have any real projects in mind? I've though about it a few times, but it is more than a one person effort.

_________________
Mike aka Spiked3
http://www.spiked3.com


Mon Jun 25, 2012 2:20 am
Profile
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3201
Location: Rotterdam, The Netherlands
Post Re: function implemtations
You can download the IAR Workbench for ARM right here: [LINK].

The ROBOTC firmware and the LEGO firmware share common roots but the ROBOTC firmware has undergone major performance enhancing modifications and has a lot of additional features not found in the standard (or enhanced) firmwares.

If you are looking for a firmware to tinker with, you can take a look at NXOS or nxtOSEK, both of which are very nice.

- Xander

_________________
| Professional Conduit of Reasonableness
| (Title bestowed upon on the 8th day of November, 2013)
| My Blog: I'd Rather Be Building Robots
| ROBOTC 3rd Party Driver Suite: [Project Page]


Mon Jun 25, 2012 9:40 am
Profile WWW
Expert

Joined: Thu Sep 29, 2011 11:09 pm
Posts: 184
Location: Michigan USA
Post Re: function implemtations
Maybe the BCC IDE isn't really modifiable, but the FW is, and everything is available for examining.

NXC uses a FW that is very similar to the Lego FW, but it's been modified to support lots more stuff (and do stuff much more efficiently). It is also 100% backwards compatible with NXT-G, so you can use NXC and NXT-G with the same NXT with the same FW.

In my opinion, the NXT ROBOTC FW is really glitchy, as is the IDE and debugger, but it works really well when it works. The main downside though, is that it is totally closed source, so people aren't allowed to examine anything to see how it works.

_________________
Matt


Mon Jun 25, 2012 12:08 pm
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 5 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.