View Single Post
  #8   Spotlight this post!  
Unread 12-01-2006, 06:17
X-Istence X-Istence is offline
Melt the RC controller!
AKA: Bert JW Regeer
no team
Team Role: Alumni
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Montville
Posts: 151
X-Istence will become famous soon enoughX-Istence will become famous soon enough
Send a message via AIM to X-Istence Send a message via MSN to X-Istence
Re: 2006 CMUcam2 Code

This is a diff between the two versions I had available in my repo, so that I could patch my current working sources. I don't gaurantee it working, but it is a straight up diff between the old and the new:

Code:
diff -urNp -x *FRC* -x .svn* -x *.lkr -x *.hex ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/ifi_utilities.c ./ifi_utilities.c
--- ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/ifi_utilities.c Thu Jan 12 05:56:02 2006
+++ ./ifi_utilities.c   Wed Jan  4 16:33:12 2006
@@ -27,7 +27,6 @@
 
 int             ifi_packet_num1 = 0;
 int             ifi_last_packet1 = 0;
-char            ifi_printfBufr[80];
 unsigned char   *ptr;
 unsigned char   ifi_count;
 unsigned char   ifi_analog_channels;
@@ -88,33 +87,6 @@ void PrintWord(unsigned int odata)
   TXREG = 13;  /* add a carriage return */
   Wait4TXEmpty();
 }
-
-
-/*******************************************************************************
-* FUNCTION NAME: PrintString
-* PURPOSE:       Prints a string to the serial port.
-* CALLED FROM:   anywhere
-* ARGUMENTS:     none
-*     Argument       Type             IO   Description
-*     --------       -------------    --   -----------
-*     bufr           pointer          I    word of data to be transmitted
-* RETURNS:       void
-*******************************************************************************/
-void PrintString(char *bufr)
-{
-  static int len,I;
-    
-  strcpypgm2ram (ifi_printfBufr,(rom char *) bufr); /*Move from flash to ram*/
-  len = (int) strlen((const char *)ifi_printfBufr);
-  if (len > 80) len = 80;
-
-  for (I=0;I<len;I++)
-  {
-    TXREG = ifi_printfBufr[i];
-    Wait4TXEmpty();
-  }
-}
-
 
 /*******************************************************************************
 * FUNCTION NAME: DisplayBufr
diff -urNp -x *FRC* -x .svn* -x *.lkr -x *.hex ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/ifi_utilities.h ./ifi_utilities.h
--- ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/ifi_utilities.h Thu Jan 12 05:56:02 2006
+++ ./ifi_utilities.h   Wed Jan  4 16:33:46 2006
@@ -74,7 +74,6 @@ void Generate_Pwms(unsigned char pwm_1,u
 void Wait4TXEmpty(void);
 void PrintByte(unsigned char odata);
 void PrintWord(unsigned int odata);
-void PrintString(char *bufr);
 void DisplayBufr(unsigned char *bufr);
 void PacketNum_Check(void);
 void Initialize_Serial_Comms (void);
diff -urNp -x *FRC* -x .svn* -x *.lkr -x *.hex ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/readme.txt ./readme.txt
--- ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/readme.txt      Wed Dec 31 19:00:00 1969
+++ ./readme.txt        Mon Oct 10 14:26:42 2005
@@ -0,0 +1,65 @@
+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 <stdio.h>, 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
diff -urNp -x *FRC* -x .svn* -x *.lkr -x *.hex ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/serial_ports.c ./serial_ports.c
--- ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/serial_ports.c  Thu Jan 12 05:56:02 2006
+++ ./serial_ports.c    Wed Jan 11 22:10:44 2006
@@ -4,7 +4,7 @@
 *
 *      VERSION:        0.4 (Beta)                           
 *
-*      DATE:           05-Jan-2006
+*      DATE:           10-Jan-2006
 *
 *      AUTHOR:         R. Kevin Watson
 *                              kevinw@jpl.nasa.gov
@@ -144,6 +144,8 @@
 *      05-Feb-2005  0.3  RKW - Added _user_putc() interface to C18's new output
 *                        stream capabilities. Updated documentation.
 *      05-Jan-2006  0.4  RKW - Partial port to 18F8722. Updated documentation.
+*      10-Jan-2006  0.4  RKW - Modified the #pragma interruptlow line to also
+*                        save the .tmpdata section.
 *
 *******************************************************************************/
 #include <p18f8722.h>
diff -urNp -x *FRC* -x .svn* -x *.lkr -x *.hex ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/serial_ports.h ./serial_ports.h
--- ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/serial_ports.h  Thu Jan 12 05:56:02 2006
+++ ./serial_ports.h    Tue Jan 10 21:22:08 2006
@@ -4,7 +4,7 @@
 *
 *      VERSION:        0.4 (Beta)                           
 *
-*      DATE:           05-Jan-2006
+*      DATE:           10-Jan-2006
 *
 *      AUTHOR:         R. Kevin Watson
 *                              kevinw@jpl.nasa.gov
@@ -29,6 +29,8 @@
 *      05-Feb-2005  0.3  RKW - Added _user_putc() interface to C18's new output
 *                        stream capabilities. Updated documentation.
 *      05-Jan-2006  0.4  RKW - Partial port to 18F8722. Updated documentation.
+*      10-Jan-2006  0.4  RKW - Modified the #pragma interruptlow line to also
+*                        save the .tmpdata section.
 *
 *******************************************************************************/
 #ifndef _SERIAL_PORTS_H
diff -urNp -x *FRC* -x .svn* -x *.lkr -x *.hex ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/serial_ports_readme.txt ./serial_ports_readme.txt
--- ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/serial_ports_readme.txt Thu Jan 12 05:56:02 2006
+++ ./serial_ports_readme.txt   Tue Jan 10 21:17:20 2006
@@ -16,9 +16,10 @@ on-board serial ports. This software is 
 designed to work with the output stream functions included 
 with Microchip's C18 C compiler version 2.4  
 
-The source code in serial_ports.c/.h will work with the 
-Robovation (A/K/A EDU-RC) robot controller and the FIRST 
-Robotics robot controller without modification.
+This source code will work with the PIC18F8520-based FIRST 
+Robotics robot controller, the PIC18F8722-based FIRST Robotics
+robot controller, and the Robovation (A/K/A EDU-RC) robot 
+controller.
 
 Because you can now easily receive data from another computer, 
 you can interact with your nifty IFI robot controller in real-
@@ -137,7 +138,7 @@ correctly:
   1a) FRC-RC: As this software is intended to replace IFI's
   serial port driver, the call to Serial_Driver_Initialize()
   in user_routines.c / User_Initialization() should be 
-  removed or commented out.    In addition, all references to
+  removed or commented out. In addition, all references to
   "user_Serialdrv.c" and "user_Serialdrv.h" must be removed 
   from the project and all project source files.
 
@@ -211,7 +212,7 @@ correctly:
 This serial port driver can send output stream data to either 
 of the serial ports by setting the value of the global variable
 stdout_serial_port before calling output stream        functions like
-printf(). Setting the value    to "SERIAL_PORT_ONE" will send the 
+printf(). Setting the value to "SERIAL_PORT_ONE" will send the 
 output to serial port one. Likewise, setting the value to 
 "SERIAL_PORT_TWO" will send the output to serial port two. 
 Setting the value to "NUL" will send the output to the null 
diff -urNp -x *FRC* -x .svn* -x *.lkr -x *.hex ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/user_routines_fast.c ./user_routines_fast.c
--- ./../FIRST/tags/FRC-StandardCode-2006-[Kevin_Watson Camera]/user_routines_fast.c    Thu Jan 12 05:56:02 2006
+++ ./user_routines_fast.c      Tue Jan 10 21:47:04 2006
@@ -55,7 +55,7 @@ void InterruptVectorLow (void)
 * RETURNS:       void
 *******************************************************************************/
 #pragma code
-#pragma interruptlow InterruptHandlerLow save=PROD /* You may want to save additional symbols. */
+#pragma interruptlow InterruptHandlerLow save=PROD,section(".tmpdata")
 
 void InterruptHandlerLow ()     
 {
__________________
My Blog!