Hey guys,
CBCJava is a project that allows easy development with Java. This will be a paper at GCER, so any ideas or suggestions before then would be great.
CBCJava Website
Pros:
Object-Oriented
Java is taught at many schools
Faster downloading through network
Cons:
Does not yet support USB downloading like KISS-C
Requirements:
Eclipse
Java Runtime
Ethernet adapter for networked downloading
Flash Drive for Project Installer
Once the KISS-C source is released, I hope to support usb downloading.
Email me or post here with questions or comments: My Email
Example:
public class Main { // Very important CBC.init(); // Create motor objects MotorController leftMotor = new MotorController(0); MotorController rightMotor = new MotorController(3); // Start motors at full percentage leftMotor.moveAtPercent(100); rightMotor.moveAtPercent(100); // Create button object representing A // Wait until A is Pressed aButton.waitUntilPressed(); // CBC.type.function provides all C-like functions CBC.motor.ao(); } }
Again, this is still very much a work in progress, do not expect everything to work.
DISCLAIMER:
CBCJava adds files to the CBC's file system. There is absolutely NO WARRANTY. Do not try if you are scared of the liability involved.
Awesome work. I can't wait to read the paper.
Updated the above information. Now supports flash drive downloading for all OSes. Camera is also now supported.
"When you do things right, people won't know you've done anything at all."
w00t! I knew if I stared at that source file long enough it would magically start working! Windows networked downloading is now complete!
"When you do things right, people won't know you've done anything at all."
I have added interaction support to CBCJava as a new tool in the suite. It supports commands from System.out and all of the CBC low-level methods. Other things *may* work, but this is uncertain. It runs alongside your program in a thread. Interaction can only call methods at this time, but should support varaibles in the future. If you want to use Interaction, you cannot do it from a static object. To change this in a main class, do the following:
If you don't want to run interaction, pass null for the main object and false for interaction.
Usage of Interaction:
> doSomethingInMainClass();
Any errors/return value will be displayed here
> CBC.motor.motor(0,100);
Same as with the other command
> interaction:version
Prints version of the interaction server running on the CBC
> interaction:close
Stops the interaction thread
One more feature I think that people do not know about is that CBCJava passes you the current executing directory, This is usually /mnt/user/code/projectName/bin. If you copy files into your bin path, they will be downloaded into this folder. You may then use them in your code.
@tmac721: Check your gmail for info about writing the create jni wrapper
Happy coding,
Braden (Beta) McDorman
"When you do things right, people won't know you've done anything at all."
Wow! This is great!
However... I am on a mac (which has poor Java 6 support), and I was wondering if there was any hope at getting a port of the tools to Java 5? I will try to do it myself, but I hate downloading the eclipse SDK.
CBCJVM|CBCJVM-GCER-Paper|CBCDownloader|IRC
Now a 2010/2011 YAC member!
Hey.. Sorry, didn't see your message for a while. I do not currently have Java 5 installed, and have a plethora of other commitments right now. I will get to it eventually, but that may be a while.
"When you do things right, people won't know you've done anything at all."
In javac you can use the -target argument to specify a JVM version. Not sure how to do this via Eclipse though.
CBCJVM|CBCJVM-GCER-Paper|CBCDownloader|IRC
Now a 2010/2011 YAC member!
Nevermind. I switched to Ubuntu. (However a java-1.5 version might be useful to mac users)
CBCJVM|CBCJVM-GCER-Paper|CBCDownloader|IRC
Now a 2010/2011 YAC member!
I uploaded a fix to the Google Code site with a new installer with create support and some simulator support! We're going to try to use CBCJava for the competition this year. It's a lot cleaner than working in C. Thank You!
CBCJVM|CBCJVM-GCER-Paper|CBCDownloader|IRC
Now a 2010/2011 YAC member!
Oops! I forgot teh link: http://code.google.com/p/cbcjava/issues/detail?id=2
CBCJVM|CBCJVM-GCER-Paper|CBCDownloader|IRC
Now a 2010/2011 YAC member!