View unanswered posts | View active topics It is currently Sat Nov 01, 2014 8:00 am






Reply to topic  [ 9 posts ] 
A RobotC for NXT compiler in Ubuntu 
Author Message
Rookie

Joined: Fri May 20, 2011 6:01 pm
Posts: 20
Post A RobotC for NXT compiler in Ubuntu
I run a system76 11.04 Ubuntu box, and i a m very interested in not having to virtualize windows to create and compile robotc files. I know that you cannot get the complete IDE to run even in Wine, but i was wondering if:
a: It would be possible to use PlayOnLinux to run the IDE
--or--
b: Is there a standalone compiler i could use, so i would program in an IDE like NetBeans or CodeBlocks but compile the files through this possibly nonexistent program (i would load the program to the NXT through some other means).

I would greatly appreciate getting feedback on this topic, but i would also like to know if there is an FTC compliant programming language that can be run in Linux (would NBC be an option, with the programs to be initiated through a RobotC program, maybe?).

Thank you for your time,

Chris


Wed Sep 21, 2011 4:36 pm
Profile
Rookie

Joined: Fri May 20, 2011 6:01 pm
Posts: 20
Post Re: A RobotC for NXT compiler in Ubuntu
I just found a post (http://www.robotc.net/forums/viewtopic.php?f=21&t=819) that brought up the idea of simply importing the robotC libraries into another IDE. Would this work? and if so, would it be feasible in NetBeans or codeblocks?


Wed Sep 21, 2011 4:41 pm
Profile
Creator
Creator

Joined: Fri Feb 09, 2007 9:21 am
Posts: 615
Post Re: A RobotC for NXT compiler in Ubuntu
I believe LabVIEW, ROBOTC and possibly NXT-G are the only allowed programming solutions for FTC. There's a number of reasons for this including:
  • These solutions have been fully tested to be compliant with the FTC competition Field Management System to ensure programs start and stop when required. And that robots can be disabled from the Field Management System.
  • These solutions have been enhanced with device drivers for the Hitechnic motor and servo controllers used by FTC. I'm not sure that there are implementations for other solutions. The official solutions have been tested to work with all the subtleties of the controllers (i.e. appropriate enable/disable of the watchdog timers in the controllers, not overloading the message message queues in controllers, ensuring messages are sent to all devices daisy chained on one sensor port, etc).
  • These solutions understand the message formats used to send joystick/game controller messages to the NXT during a FTC competition.
  • Etc
NBC is not an option. It requires a different firmware than that used for ROBOTC.
ROBOTC is designed for Windows and uses numerous Windows OS function calls so it does not natively run on LINUX or MAC systems. Some users have reported success in running it in a Virtual Machine on a Mac system but I believe that VM is running Windows. I'm personally not familiar with the non-Windows options.


Mon Sep 26, 2011 7:39 am
Profile
Rookie

Joined: Mon Jan 23, 2012 2:07 pm
Posts: 1
Post Re: A RobotC for NXT compiler in Ubuntu
Let's be honest. It is not available for Linux because you have to pay for it on Windows. Most of the software on Linux is free. I doubt they would give RobotC away for free.


Mon Jan 23, 2012 2:18 pm
Profile
Moderator
Moderator
User avatar

Joined: Wed Mar 05, 2008 8:14 am
Posts: 3240
Location: Rotterdam, The Netherlands
Post Re: A RobotC for NXT compiler in Ubuntu
Quote:
Let's be honest. It is not available for Linux because you have to pay for it on Windows. Most of the software on Linux is free. I doubt they would give RobotC away for free.

There is plenty of commercial software for Linux. Making something available for Linux does not imply having to make it free or even Open Source. I've been working professionally with Linux for over 17 years now and I can assure you there is plenty of commercial stuff out there:
  • Oracle everything
  • Red Hat Enterprise Linux
  • IBM Websphere
  • MySQL Enterprise Edition
  • Splunk
  • VMWare Workstation
I could go on but I'm sure a quick Google search will confirm my statements.
The main issue is that Linux is used only by a very small fraction of users on the desktop. They're a very vocal bunch, sure, but developing or porting a product is a lot of work and maintaining multiple versions of it for multiple platforms even more so. There's a good reason ROBOTC 3.x moved to a single package, instead of one for each robotics platform: efficiency.
Even Red Hat, a major commercial enterprise-grade Linux company has given up trying to push Linux to the enterprise desktop, it's not worth it. Windows is, for now, the main Desktop OS, after that it's Apple's OSX and the small pickings that are left is a wide range of Linux distributions.

That brings me to another issue with making commercial software available for Linux, the extreme fragmentation of all of the distributions and various versions thereof. If we take the main distributions that are big used at the moment, Red Hat, SuSE, Ubuntu and Mint, we have 4 distributions, some of which have multiple supported concurrent versions. So, in all, you're probably talking about 10-12 different packages that you need to create, test and maintain, one for each. Every time there is a minor or major update, you need to revalidate your packages for that specific distribution and perhaps re-engineer some of it. I really don't think you understand and appreciate the amount of work that goes into maintaining software.

I know that making ROBOTC open source and having the communities of each distribution would at least partially solve this issue, but Robotics Academy and Robomatter have made significant investments in developing this product and their business model consists of selling licenses and giving courses to educators and much more.

There is no lack of open source NXT programming software out there, some of it even works under Linux, just not ROBOTC.

- 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 Jan 23, 2012 2:50 pm
Profile WWW
Guru
User avatar

Joined: Sun Nov 15, 2009 5:46 am
Posts: 1347
Post Re: A RobotC for NXT compiler in Ubuntu
anderfernandes1 wrote:
Let's be honest. It is not available for Linux because you have to pay for it on Windows. Most of the software on Linux is free. I doubt they would give RobotC away for free.

Paying for software has nothing to do with Windows or Linux. You have freeware on either platforms and you have paid software on them as well. There is nothing wrong with paying for software. If you can find free software that does what you want, that's great. But it takes resources (time and money) to develop and test software. So it is fair for the person/organization who develops the software to ask for compensation. If you don't think the software is worth the price, don't buy it.


Mon Jan 23, 2012 5:03 pm
Profile
Rookie

Joined: Mon Aug 20, 2007 4:01 am
Posts: 28
Post Re: A RobotC for NXT compiler in Ubuntu
I would pay for RobotC licence on linux. Especially with the Raspberry PI http://www.raspberrypi.org/ a $25 computer the size of a credit card, and built for use in education soon to be coming to market. The purpose of this computer is to re-introduce children to real programming, not mucking about with excel, word, etc.

This could be a massive opportunity for RobotC.

Karl.


Thu Jan 26, 2012 7:02 pm
Profile
Rookie

Joined: Fri May 20, 2011 6:01 pm
Posts: 20
Post Re: A RobotC for NXT compiler in Ubuntu
I just had an idea: RobotC does work in Wine, it just can't download files to the NXT from Wine. Would it be possible to write a script to run in Wine to connect to the host computer and use a utility like LinXT to download the program? If not, would it be possible to run ONLY the RobotC compiler in Wine, compile a RobotC program written in something like Eclipse or Vim, and then use LinXT to download it?

Best regards,

Chris


Wed Oct 10, 2012 4:33 pm
Profile
Expert

Joined: Tue Feb 28, 2012 3:10 pm
Posts: 195
Post Re: A RobotC for NXT compiler in Ubuntu
chrismamo1 wrote:
I just had an idea: RobotC does work in Wine, it just can't download files to the NXT from Wine. Would it be possible to write a script to run in Wine to connect to the host computer and use a utility like LinXT to download the program? If not, would it be possible to run ONLY the RobotC compiler in Wine, compile a RobotC program written in something like Eclipse or Vim, and then use LinXT to download it?

Best regards,

Chris


way more than possible ;) However, it does require a pretty deep knowledge of scripting and OSs in general (hint: monitor file creations), the kind of knowledge you should have before running linux in the first place, so have at it. Are you adhering to the license agreement?

On the other hand, there is absolutely no motivation I can think of for RoboMatter to even attempt to support anything like that. Heck, there isn't even enough motivation to support mac in other than PC emulation.

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


Wed Oct 10, 2012 4:57 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 9 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


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.