So I've been attempting to use C++ for some serious CBC programming, and I uncovered various bugs in the CBC firmware that affect C++ code. At least one of the bugs also affects some C programs. I have since fixed these bugs.
If you've been having problems with C++ or advanced C code (often showing up as missing header files or linking errors), and you'd like to have my fixes, let me know and I'll put together a new version of the Norman/Nease CBC Mod Installer.
Anyone interested?
What are the fixes exactly? I don't remember if this made the installer but we were putting -lm and -lpthread on our link line.
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.
Albert Einstein
Project Quadcopter: http://quadcopter.wordpress.com/
The libstdc++ that KIPR provided is bad (gave me a link error when I tried to use vectors), the CBC includes don't have the extern "C", and the linux and c++ includes are missing.
I'm not 100% sure on this, but I think -lm and -lpthread are already in the official gcc-usercode script that KIPR provides.
-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS
Our team is using CBCJava instead of C++ or C, but I would still be interested looking into this. All these mods are a great contribution to the community. Thank you!
Hey PiPeep,
Happy to hear that there's interest in our mods, and I'm sure Braden will be happy to hear that you're using CBCJava. Given that the CBCv2 is scheduled for release a week from today, I'm thinking it would be a good idea to wait for its release so that I can port the Norman/Nease CBC Mod Installer to work with CBCv2. I'm unsure of how much work would be needed to do the port, but hopefully it will be quick. Based on my knowledge from working with this stuff, running the installer for CBCv1 on a CBCv2 may cause all sorts of unpleasant symptoms, including the possibility of a brick that can only be fixed by a userhook0 flash. So I don't recommend running our installer on a CBCv2 until I can get it ported.
I'll post here once I have a port working and tested to be safe. (But the usual warnings apply: no warranty implied, KIPR doesn't offer support for our mods, etc.)
-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS
Just giving a quick status update here. Matt, Braden, and I have been working on porting the Norman/Nease CBC Mods to the CBCv2, and we're making good progress. Unfortunately, some issues remain. The mods yet to be ported include GDB debugging, C++ compilation, and VNC remote desktop. Networking (SCP downloads and SSH shell prompt) works fine, as does binary caching. As soon as we figure out the issues that are affecting the remaining three mods, and conduct sufficient beta testing to hopefully squish any bugs we missed, we will make a public release.
We have various other hacks under development (not seen at GCER last year), which we're hoping will be functional in time for a GCER 2010 public release, as part of our CBC Hacking 2010 paper. So be sure to attend GCER!
-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS
Last night I successfully got GDB debugging to function on the CBCv2, but my method relies on some other hacks which are definitely not yet ready for a release, and probably won't be for a while. While I do know how to make GDB work (somewhat) with only the mature hacks, the functionality is reduced on the CBCv2 enough that I don't feel comfortable releasing it (IC-style interaction is broken, which was the main selling point for Botball students). When we release our new hacks at GCER 2010, full GDB support (with IC-style interaction) should be present. In the meantime, our interim CBCv2 release is unlikely to include GDB. :-(
I also have C++ working with the in-development hacks; I can probably get that working with the mature hacks without much trouble (should be much easier than GDB).
For VNC, Braden and Matt are working on it. Apparently compiling it for CBCv2 is harder than it sounds.
Unfortunately, we still don't have a time frame for a public CBCv2-compatible release. Progress is happening, but in the Oklahoma region we're just getting to the point where Braden and I have to program actual bots, which will probably hinder our progress. Matt is only a week behind Braden and me.
Hope this post quenches everyone's thirst for updates. :-)
-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS
Our thirst has been quenched.
"When you do things right, people won't know you've done anything at all."