Kevin's FIRST Robotics Competition Code Repository


Archived FRC code and documentation has been moved: 2004, 2005, 2006 and 2007.

Frequently-Asked-Questions for Encoders, Gyros and CMUcam2.


Microchip PIC Microcontroller Documentation
Filename Description Size
PIC18F8722_ds.pdf
PIC18F8722_ds.zip
Data sheet for the PIC18F8722 microcontroller found in the 2006-2008 FRC-RC (document #39646B).
8,162,432
3,982,937

PIC18_reference.pdf
PIC18_reference.zip

Reference manual for the Microchip PIC18 family of microcontrollers. If it's not in the data sheet, it's in this 976 page document (document #39500A).
16,745,099
11,967,404

Microchip C18 2.4 C Compiler Documentation
Filename Description Size
C18_2.4_getting_started.pdf
C18_2.4_getting_started.zip
Microchip's C18 getting started guide (document #51295E).
1,816,940
1,599,331
C18_2.4_users_guide.pdf
C18_2.4_users_guide.zip
Microchip's C18 user's guide (document #51288H).
1,403783
672,387
C18_libraries.pdf
C18_libraries.zip
Microchip's C18 library reference (document #51297F).
1,728,028
760,463

Microchip C18 3.0 C Compiler Documentation
Filename Description Size
C18_3.0_getting_started.pdf
C18_3.0_getting_started.zip
Microchip's C18 getting started guide (document #51295F).
3,097,837
2,694,661
C18_3.0_users_guide.pdf
C18_3.0_users_guide.zip
Microchip's C18 user's guide (document #51288J).
1,660,023
865,297
C18_libraries.pdf
C18_libraries.zip
Microchip's C18 library reference (document #51297F).
1,728,028
760,463

Miscellanea
Filename Description Size
http://www.ayera.com/teraterm Link to latest version of TeraTerm, a very good free terminal emulator.  
robot_controller_signal_map.pdf FRC Robot Controller Pin to PIC Microcontroller Pin Mapping.

Last update: December 9, 2007.
59,026

2008 FRC-RC Example Code and Utilities
Filename Description Size
ifi_frc_sensor.zip Experimental robot controller software that can be used with version 2.4 and 3.0+ of Microchip's C18 C compiler and is compatible with 2004-2008 FRC robot controllers. This version has support for a gyro and encoders built in. Please read the readme.txt file for instructions on how to enable these sensors. Support can be found in the Chief Delphi programming forum.

Last update:
March 1, 2008
1,623,339
ifi_frc_simple.zip Experimental robot controller software that can be used with version 2.4 and 3.0+ of Microchip's C18 C compiler and is compatible with 2004-2008 FRC robot controllers. This simplified version does not have support for a gyro or encoders built in. Please read the readme.txt file for instructions to enable these sensors. Support can be found in the Chief Delphi programming forum.


Last update:
February 12, 2008
282,400
ifi_ir_sensor.zip

This software provides an interface to a Vishay infrared sensor which can be used to decode commands sent from a Sony television remote control or one on the many universal remote controls configured to communicate with a Sony device. It receives Vishay infrared sensor waveforms encoded with the very common Sony 12-bit remote control protocol and outputs the 5-bit address and 7-bit command. The only external component needed is a $2 Vishay IR sensor, which can be purchased at Digikey. If your FRC IR board gave up the magic smoke, or you just want to know how it all works, this is the ideal solution.

Last update: February 26, 2008

400,575
ifi_clock.zip

Example drop in replacement code for timers.c and timers.h that implements a simple, but highly accurate millisecond system clock that can be used for precise time measurement.

Last update: February 16, 2008

5,503

2007 FRC-RC Example Code and Utilities
Filename Description Size

frc_serial_ports.zip

Software implementation of a fully buffered, full-duplex, interrupt-driven serial port driver that can be used with either or both on-board serial ports. Also included is a modified version of IFI's printf() software that supports the use of both serial ports. Unlike the IFI code, this driver is non-blocking, which means that you can send a byte of data without having to wait around to make sure it gets sent before sending another. This is the same way operating systems, like Linux and Windows, handle serial data reception and transmission in the background for application software.

Because you can now easily receive data from another computer, you can interact with your nifty IFI robot controller in real-time to change operating parameters on-the-fly using common terminal emulation software, or send real telemetry to custom applications written with Visual Basic, Visual C++, MATLAB, etc... Don't want to drag a long serial cable behind your 'bot? Well, check-out the nifty SMiRF radio modem from SparkFun Electronics. Would the coolness factor of your 'bot be elevated if you had a LCD mounted on board to display diagnostics (yes, this is a rhetorical question)? How about using one of the serial LCDs that can be found on the 'net? I've been using Scott Edward's Electronics serial LCDs with success.

Last update: January 10, 2006.

85,814

frc_pwm.zip

Tired of those jittery PWM13-PWM16 outputs on your robot controller? Well, this code uses the on-chip CCP hardware to give you very precise control over those PWM outputs without the jitter. You can set the center point and gain of your camera pan/tilt servos for better performance too.

Last update: January 15, 2007

4,252
frc_adc.zip

Example driver and supporting software to setup and run your robot controllers analog-to-digital converter in the background. A few advantages of using this software include parallel, non-blocking operation of the ADC hardware, precise control over the sampling period, which is important for signal processing and control applications and the ability to make more precise measurements using oversampling.

Last update: January 10, 2006.

118,862
frc_gyro.zip

Example driver and supporting software that can be used to interface a variety of inexpensive gyros to the IFI FRC robot controller.

Last update: February 10, 2006.

1,284,456
frc_encoder.zip

Example driver and supporting software that can be used to interface quadrature output optical encoders to the IFI FRC robot controller.

Last update: January 13, 2006.

278,305
frc_eeprom.zip

Example software that can be used to read from and write to your robot controller's Electrically Erasable Programmable Read-Only Memory (EEPROM).

Last update: January 10, 2006.

240,722

Last Update: March 1, 2008 at 9:10 PM PST
Copyright 2003-2009 R. Kevin Watson