= Software = [[TracNav(TOC)]] The cc3 project provides software for embedded vision systems. Currently, the software runs on the CMUcam3 hardware platform, which is a NXP LPC2106-based board with an onboard CMOS camera and FIFO, MMC interface, serial UARTs, and servo controller. For information on how to install the CC3 development environment please refer to the CMUcam SDK Setup Guide located in the [wiki:Documentation Documentation] section. For advanced users refer to the online [wiki:Quick-Start-Guide]. You can find a ZIP file containing a stable snapshot of the cc3 code on the [wiki:Downloads] page. Alternatively, you can find the cc3 source code on sourceforge: [http://sourceforge.net/projects/cc3 CC3 Project] To check the latest experimental source out of subversion type: {{{ svn co https://cc3.svn.sourceforge.net/svnroot/cc3/trunk cc3 }}} == Local Mirror (Go here for most downloads) == Local copies of software can be found on our [wiki:Downloads] page. == Compiler == [http://www.codesourcery.com/gnu_toolchains/arm/download.html CodeSourcery ARM compiler] Get the “EABI” or “Bare Metal” target for your particular platform. == Firmware Downloader == For Windows: [http://www.nxp.com/files/markets/microcontrollers/philips_flash_utility.zip Philips LPC2000 Downloader] For Linux: [http://tech.groups.yahoo.com/group/lpc21isp/ LPC21ISP] == Utilities == [http://www.cygwin.com/setup.exe Cygwin Installer] Windows development will require the Cygwin development environment. Make sure to install Make and Subversion as part of the installation process. [http://www.cmucam.org/attachment/wiki/Software/CMUcam3%20Frame%20Grabber.exe CMUcam3 Frame Grabber] A Windows jpeg frame grabber and terminal client for the CMUcam2 firmware running on the CMUcam3. This will only work with the CMUcam3. You may need to install the .NET runtime on your machine if it does not already exist. For more information see our [wiki:CMUcam3-Frame-Grabber] page. [http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en .NET v2.0] This is a link to the .NET v2.0 runtime package. You will need to install this before using the CMUcam3 Frame Grabber. ---- == CC3 Sample Projects == Below are descriptions of sample projects that come with the CC3 source code. Check out some code [wiki:snippets] for various cc3 operations. Make sure to check the [wiki:Software-Problems] page for any bug fixes since the release version of the code. * '''[wiki:hello-world]''' A simple application to access the camera, MMC and serial ports * '''[wiki:cmucam2-emulation cmucam2]''' CMUcam2 firmware emulation * '''[wiki:security-cam]''' A security camera application that waits for motion changes and write images to the MMC * '''[wiki:simple-track-color]''' A very simple track color that uses the cc3-ilp * '''[wiki:simple-histogram]''' Example that uses the cc3-ilp histogram function * '''[wiki:simple-get-mean]''' A very simple sample of getting min, mean and max colors that uses the cc3-ilp * '''histogram-match''' A simple program that grabs image templates and then does histogram matching against them. * '''jpeg-cam''' A digital camera that waits for a button press and then writes jpeg files to MMC * '''[wiki:ppm-grab]''' A program that waits for a button press and then streams PPM files to MMC for the [wiki:virtual-cam]. * '''hsv-ppm-grab''' Same as ppm-grab only in the hsv color space. * '''png-grab''' Same as ppm-grab except with png files. * '''led-test''' Yes, you can blink the LEDs * '''[wiki:spoonBot-demo spoonBot]''' Sample of using servos to control a small robot. Go here to learn more about [wiki:spoonBot]. * '''edge-follow''' Example of using texture and color to find an edge and then compute the distance and slope of that edge. This can be used for wall or carpet following robots. * '''lua''' A sample of running a LUA on the CMUcam3 * '''[wiki:viola-jones]''' A preliminary implementation of the Viola-Jones face detector running on CMUcam3 * '''benchmark''' Times how long it takes to grab a frame. * '''[wiki:polly]''' Implements a modified version of Ian Horswill's Polly algorithm for robot navigation. * '''[wiki:polly polly-cc2-gui]''' Version of polly code that overloads the CMUcam2 get histogram command to display its output in the CMUcam2 GUI.