This directory contains the default code for the Innovation First 2006 Full-size Robot Controller. To compile this code you must have Microchip's MPLAB IDE (v7.2) with their C18 compiler (v2.4) installed on your system. If you wish to restore your Full-size Robot Controller to the default functionality as shipped from the factory, use the IFI Loader application to download the FRC_default.hex file to your Robot Controller. CAUTION: Do not relocate this FrcCode directory very deep in your directory tree. This is because the Microchip compiler has a 64 character path/filename limit. We suggest placing it in a directory named C:\mcc18\Projects\ Notes: Use FRC_library.lib (default) if you plan to use the Generate_Pwms() function. This uses Timer0 to synchronize any PWM outputs generated by the User processor to make sure they avoid any SPI interrupts. If you want to use Timer0 yourself, then you can replace FRC_library.lib with FRC_alltimers.lib in the project. www.InnovationFirst.com 10/10/2005 - Added a checksum to the breaker panel packet - now using , compiler needs -nw=2066 to suppress warnings (under project->build options->project->MPLAB C18->Use Alternate Settings) - Note: when using a 'printf' use a '\r' rather than a '\n' with the C18 compiler (v2.4 or later) 11/12/2004 - Added user_SerialDrv.c - device driver for the uart - Added code to handle packets from the breaker panel 2/26/2004 - ifi_aliases.h Changed "competition_mode" alias to "disabled_mode" to be more accurate. Added comment explaining that this bit is 1 when the RC is disabled. - ifi_default.h Corrected comment regarding "disabled" bit. This bit is 1 when disabled. 2/24/2004 - user_routines_fast.c Added interrupt enable check to interrupt service routine to ensure that disabled interrupts are not serviced. Also all PWM and Relay outputs are initialized to neutral when entering Autonomous. This fixes a problem where the last PWM values are remembered and stuck throughout Autonomous mode when switching from Disabled to Autonomous. - ifi_aliases.h Added aliases for the CCP pins (PWM OUTPUTS 13-16). These can be used as digital outputs (not inputs) when properly configured. - README.txt (this file) Added recommended directory for code placement. 2/18/2004 - ifi_aliases.h Swapped relayX_fwd and relayX_rev aliases. Added a note that the REV/FWD labels on the Robot Controller are incorrect. - FRC_default.hex Recompiled to reflect the correct relay behavior (swapped FWD/REV). 2/10/2004 - user_routines_fast.c Added Generate_Pwms() function call to User_Autonomous_Code. - 18f8520user.lkr Removed debug section of program memory. Now User code can go all the way up to 0x7FFF. - FRC_library.lib and FRC_alltimers.lib Now configure TTL Serial Port (USART2) RX2 pin as an input by default. 1/29/2004 - user_routines.c Corrected Limit Switch section by removing NOT (!) from inputs. - ifi_aliases.h Corrected User_Byte1 and User_Byte2 aliases. Added TTL Serial Port aliases. 1/8/2004 - Initial Release