OCCRA
Go to Post "For once, the cake is NOT a lie." The cake claims liar's paradox. :p - JesseK [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Events   CD-Media   CD-Spy   FRC-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 01-28-2006, 10:13 AM
cmurdoch cmurdoch is offline
Registered User
AKA: Caroline Murdoch
FRC #1208 (Metool Brigade)
Team Role: Programmer
 
Join Date: Jan 2005
Rookie Year: 2004
Location: O'Fallon, IL
Posts: 17
cmurdoch is on a distinguished road
Problems Combining Camera Code and Driving Code

I have both the camera code and the driving code working independently , but I've been having some trouble combining them. I've added both user_SerialDrv.c and user_SerialDrv.h to the camera code and uncommented the IFI code in user_routines.c as well as in user_routines_fast.c. I've also tried to change the pwm output assignments of either our two drive motors or the camera servos. When I left the servos on pwm01 and pwm02 and changed the pwms for the motors the camera worked and the driving didn't. When I switched them the driving worked and the camera didn't, in fact, the camera just sat there and twitched. Then, I assigned the servos to pwm01 and pwm02 and the motors to pwm05 and pwm06. The camera froze in home position and the driving worked for about 30 seconds before halting and displaying a code error. If anyone has any idea how I can fix this I'd really appreciate it.

Thanks
  #2   Spotlight this post!  
Unread 01-28-2006, 11:33 AM
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,332
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by cmurdoch
I have both the camera code and the driving code working independently , but I've been having some trouble combining them. I've added both user_SerialDrv.c and user_SerialDrv.h to the camera code and uncommented the IFI code in user_routines.c as well as in user_routines_fast.c. I've also tried to change the pwm output assignments of either our two drive motors or the camera servos. When I left the servos on pwm01 and pwm02 and changed the pwms for the motors the camera worked and the driving didn't. When I switched them the driving worked and the camera didn't, in fact, the camera just sat there and twitched. Then, I assigned the servos to pwm01 and pwm02 and the motors to pwm05 and pwm06. The camera froze in home position and the driving worked for about 30 seconds before halting and displaying a code error. If anyone has any idea how I can fix this I'd really appreciate it.

Thanks
user_SerialDrv.c/.h will conflict with the serial port driver included with the camera code (this is documented in serial_ports_readme.txt). At the very least, you'll need to remove user_SerialDrv.c/.h.

-Kevin
__________________
Kevin Watson
Engineer at Virgin Galactic
http://kevin.org
  #3   Spotlight this post!  
Unread 01-29-2006, 01:41 PM
Steve Orr's Avatar
Steve Orr Steve Orr is offline
iusorr
FRC #1293 (D5Robotics)
Team Role: Coach
 
Join Date: Jan 2005
Rookie Year: 2004
Location: Irmo, South Carolina
Posts: 8
Steve Orr is an unknown quantity at this point
Send a message via AIM to Steve Orr Send a message via Yahoo to Steve Orr Send a message via Skype™ to Steve Orr
Re: Problems Combining Camera Code and Driving Code

I'm kind of in the same boat, and will be working on combining them this week. If I discover the secrets, I'll post...
I'll be eager to see if you find anything out as well!
__________________
S.Orr
D5Robotics : Team 1293
Irmo, SC
  #4   Spotlight this post!  
Unread 01-29-2006, 05:49 PM
kaszeta's Avatar
kaszeta kaszeta is offline
Registered User
FRC #0095 (Grasshoppers)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Lebanon, NH
Posts: 334
kaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of light
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by cmurdoch
I have both the camera code and the driving code working independently , but I've been having some trouble combining them. I've added both user_SerialDrv.c and user_SerialDrv.h to the camera code and uncommented the IFI code in user_routines.c as well as in user_routines_fast.c. I've also tried to change the pwm output assignments of either our two drive motors or the camera servos. When I left the servos on pwm01 and pwm02 and changed the pwms for the motors the camera worked and the driving didn't. When I switched them the driving worked and the camera didn't, in fact, the camera just sat there and twitched. Then, I assigned the servos to pwm01 and pwm02 and the motors to pwm05 and pwm06. The camera froze in home position and the driving worked for about 30 seconds before halting and displaying a code error. If anyone has any idea how I can fix this I'd really appreciate it.
I see two likely problems with what you are doing:

(1) As Kevin says, the camera's serial code needs serial.c and serial.h from his code, and not the user_SerialDrv.c/h. You need to remove those from the project.

(2) Similarly, Kevin's serial code requires the interrupt routines in user_routines_fast.c to be correct (if you don't have this correct, you'll get the red light of death). If you aren't using other special interrupt code (encoders or the gyro), just copy user_routines_fast.c from Kevin's camera code and try that. Otherwise, you'll have to make sure all the appropriate interrupt handlers are in place for all the codes you are using. This can be done, our bot's testbed code now has the camera, gyro, shaft encoders, and two additional ADC channels running at the same time, but it's tricky and requires careful reading of the adc_readme.txt, encoder_readme.txt, camera_readme.txt, etc. (And we didn't get it right the first time, as you can see if you look the other places I've posted).
  #5   Spotlight this post!  
Unread 01-29-2006, 05:57 PM
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,332
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by kaszeta
This can be done, our bot's testbed code now has the camera, gyro, shaft encoders, and two additional ADC channels running at the same time, but it's tricky and requires careful reading of the adc_readme.txt, encoder_readme.txt, camera_readme.txt, etc. (And we didn't get it right the first time, as you can see if you look the other places I've posted).
Was there any problems with the documentation that caused it to not work the first time? If so, what was it?

-Kevin
__________________
Kevin Watson
Engineer at Virgin Galactic
http://kevin.org
  #6   Spotlight this post!  
Unread 01-29-2006, 06:10 PM
kaszeta's Avatar
kaszeta kaszeta is offline
Registered User
FRC #0095 (Grasshoppers)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Lebanon, NH
Posts: 334
kaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of light
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by Kevin Watson
Was there any problems with the documentation that caused it to not work the first time? If so, what was it?
As far as I can tell, the documentation is fine and the problems were on our end (not saving .tmp_data one time, and neglecting to insert the timer2 interrupt another time, both of which were clearly noted in the readme files), so if one makes sure they follow the instructions carefully it should work.
  #7   Spotlight this post!  
Unread 02-02-2006, 07:35 PM
cmurdoch cmurdoch is offline
Registered User
AKA: Caroline Murdoch
FRC #1208 (Metool Brigade)
Team Role: Programmer
 
Join Date: Jan 2005
Rookie Year: 2004
Location: O'Fallon, IL
Posts: 17
cmurdoch is on a distinguished road
Re: Problems Combining Camera Code and Driving Code

Thanks

The problem was definately with SerialDrv.c/.h I didn't have problems with user_routines_fast.c because I started with the camera code and adapted that for driving. Thanks for all your help. It works wonderfully now and the next challenge is getting the camera to track using the motor on our rotating turret. Thanks again and thanks for all the great code Kevin. You rock.
  #8   Spotlight this post!  
Unread 02-04-2006, 12:02 PM
1594code 1594code is offline
Registered User
FRC #1594
 
Join Date: Feb 2006
Location: New York
Posts: 16
1594code is an unknown quantity at this point
Re: Problems Combining Camera Code and Driving Code

Thanks for sharing all this information-- it's been helpful.

We have followed the serial_ports_readme instructions, we're using Kevin's camera code user_routines_fast.c interrupt handlers, and we tried to remove user_serial_drv.c.

We had a problem with this last action-- the function breaker_tripped was called in user_routines.c, and it is declared in User_serial_drv.c, so we can't compile

Has this happened to anyone else? What did you do?
  #9   Spotlight this post!  
Unread 02-04-2006, 12:06 PM
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,332
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by 1594code
Thanks for sharing all this information-- it's been helpful.

We have followed the serial_ports_readme instructions, we're using Kevin's camera code user_routines_fast.c interrupt handlers, and we tried to remove user_serial_drv.c.

We had a problem with this last action-- the function breaker_tripped was called in user_routines.c, and it is declared in User_serial_drv.c, so we can't compile

Has this happened to anyone else? What did you do?
If you aren't using the breaker panel, you can safely delete the function and user_serial_drv.c/.h from your project.

-Kevin
__________________
Kevin Watson
Engineer at Virgin Galactic
http://kevin.org
  #10   Spotlight this post!  
Unread 02-04-2006, 01:35 PM
1594code 1594code is offline
Registered User
FRC #1594
 
Join Date: Feb 2006
Location: New York
Posts: 16
1594code is an unknown quantity at this point
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by Kevin Watson
If you aren't using the breaker panel, you can safely delete the function and user_serial_drv.c/.h from your project.

-Kevin

Thank you for your reply! We have yet another question... We are using four circuit breakers: the maxi style circuit breaker panel, the 120 Hi-Amp circuit breaker, and two other circuit breaker panels that came with the KOP.

Is the circuit breaker you meant among those four?
  #11   Spotlight this post!  
Unread 02-04-2006, 01:56 PM
Kevin Watson's Avatar
Kevin Watson Kevin Watson is offline
La Caņada High School
FRC #2429
Team Role: Mentor
 
Join Date: Jan 2002
Rookie Year: 2001
Location: La Caņada, California
Posts: 1,332
Kevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond reputeKevin Watson has a reputation beyond repute
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by 1594code
Thank you for your reply! We have yet another question... We are using four circuit breakers: the maxi style circuit breaker panel, the 120 Hi-Amp circuit breaker, and two other circuit breaker panels that came with the KOP.

Is the circuit breaker you meant among those four?
No, "breaker panel" refers to the circuit breaker panel distributed last year to teams. It sends out serial data to inform the robot controller that a breaker has tripped.

-Kevin
__________________
Kevin Watson
Engineer at Virgin Galactic
http://kevin.org
  #12   Spotlight this post!  
Unread 02-04-2006, 04:31 PM
Jon236's Avatar
Jon236 Jon236 is offline
Registered User
AKA: Jon Mittelman
FRC #2648 (Infinite Loop)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2000
Location: Windsor, Maine
Posts: 735
Jon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond repute
Send a message via Skype™ to Jon236
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by kaszeta
As far as I can tell, the documentation is fine and the problems were on our end (not saving .tmp_data one time, and neglecting to insert the timer2 interrupt another time, both of which were clearly noted in the readme files), so if one makes sure they follow the instructions carefully it should work.

When combining the camera and interrupt code, how many timer interrupts are required? Any other details? So far I'm still getting the RLOD!!!!

Jon Mittelman
Team236
  #13   Spotlight this post!  
Unread 02-04-2006, 04:51 PM
kaszeta's Avatar
kaszeta kaszeta is offline
Registered User
FRC #0095 (Grasshoppers)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Lebanon, NH
Posts: 334
kaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of light
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by Jon236
When combining the camera and interrupt code, how many timer interrupts are required? Any other details? So far I'm still getting the RLOD!!!!
You should need an interrupt handler for tx1, rx1, tx2, and rx2, unless you are also using encoders, the adc code, or the gyro (which uses the adc code).

We do use all of those, and it's working fine. Here's our InterruptHandlerLow:

Code:
#pragma code

#pragma interruptlow InterruptHandlerLow save=PROD,section(".tmpdata")



void InterruptHandlerLow(void)     

{                               

	unsigned char Port_B;

	unsigned char Port_B_Delta;

	

	if(PIR1bits.RC1IF && PIE1bits.RC1IE) // rx1 interrupt?

	{

		#ifdef ENABLE_SERIAL_PORT_ONE_RX

		Rx_1_Int_Handler(); // call the rx1 interrupt handler (in serial_ports.c)

		#endif

	}                              

	else if(PIR3bits.RC2IF && PIE3bits.RC2IE) // rx2 interrupt?

	{

		#ifdef ENABLE_SERIAL_PORT_TWO_RX

		Rx_2_Int_Handler(); // call the rx2 interrupt handler (in serial_ports.c)

		#endif

	} 

	else if(PIR1bits.TMR2IF && PIE1bits.TMR2IE) // timer 2 interrupt?

	{

		PIR1bits.TMR2IF = 0; // clear the timer 2 interrupt flag [92]

		Timer_2_Int_Handler(); // call the timer 2 interrupt handler (in adc.c)

	}                     

	else if(PIR1bits.ADIF && PIE1bits.ADIE) // ADC interrupt

	{

		PIR1bits.ADIF = 0; // clear the ADC interrupt flag

		ADC_Int_Handler(); // call the ADC interrupt handler (in adc.c)

	}

	else if (INTCON3bits.INT2IF && INTCON3bits.INT2IE) // encoder 1 interrupt?

	{ 

		INTCON3bits.INT2IF = 0; // clear the interrupt flag

		#ifdef ENABLE_ENCODER_1

		Encoder_1_Int_Handler(); // call the left encoder interrupt handler (in encoder.c)

		#endif

	}

	else if (INTCON3bits.INT3IF && INTCON3bits.INT3IE) // encoder 2 interrupt?

	{

		INTCON3bits.INT3IF = 0; // clear the interrupt flag

		#ifdef ENABLE_ENCODER_2

		Encoder_2_Int_Handler(); // call right encoder interrupt handler (in encoder.c)

		#endif

	}

	else if (INTCONbits.RBIF && INTCONbits.RBIE) // encoder 3-6 interrupt?

	{

		Port_B = PORTB; // remove the "mismatch condition" by reading port b            

		INTCONbits.RBIF = 0; // clear the interrupt flag

		Port_B_Delta = Port_B ^ Old_Port_B; // determine which bits have changed

		Old_Port_B = Port_B; // save a copy of port b for next time around

	 

		if(Port_B_Delta & 0x10) // did external interrupt 3 change state?

		{

			#ifdef ENABLE_ENCODER_3

			Encoder_3_Int_Handler(Port_B & 0x10 ? 1 : 0); // call the encoder 3 interrupt handler (in encoder.c)

			#endif

		}

		if(Port_B_Delta & 0x20) // did external interrupt 4 change state?

		{

			#ifdef ENABLE_ENCODER_4

			Encoder_4_Int_Handler(Port_B & 0x20 ? 1 : 0); // call the encoder 4 interrupt handler (in encoder.c)

			#endif

		}

		if(Port_B_Delta & 0x40) // did external interrupt 5 change state?

		{

			#ifdef ENABLE_ENCODER_5

			Encoder_5_Int_Handler(Port_B & 0x40 ? 1 : 0); // call the encoder 5 interrupt handler (in encoder.c)

			#endif

		}

		if(Port_B_Delta & 0x80) // did external interrupt 6 change state?

		{

			#ifdef ENABLE_ENCODER_6

			Encoder_6_Int_Handler(Port_B & 0x80 ? 1 : 0); // call the encoder 6 interrupt handler (in encoder.c)

			#endif

		}

	}

	else if(PIR1bits.TX1IF && PIE1bits.TX1IE) // tx1 interrupt?

	{

		#ifdef ENABLE_SERIAL_PORT_ONE_TX

		Tx_1_Int_Handler(); // call the tx1 interrupt handler (in serial_ports.c)

		#endif

	}                              

	else if(PIR3bits.TX2IF && PIE3bits.TX2IE) // tx2 interrupt?

	{

		#ifdef ENABLE_SERIAL_PORT_TWO_TX

		Tx_2_Int_Handler(); // call the tx2 interrupt handler (in serial_ports.c)

		#endif

	}

}
  #14   Spotlight this post!  
Unread 02-05-2006, 08:51 AM
Jon236's Avatar
Jon236 Jon236 is offline
Registered User
AKA: Jon Mittelman
FRC #2648 (Infinite Loop)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2000
Location: Windsor, Maine
Posts: 735
Jon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond reputeJon236 has a reputation beyond repute
Send a message via Skype™ to Jon236
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by kaszeta
You should need an interrupt handler for tx1, rx1, tx2, and rx2, unless you are also using encoders, the adc code, or the gyro (which uses the adc code).

We do use all of those, and it's working fine. Here's our InterruptHandlerLow:

Code:
#pragma code

#pragma interruptlow InterruptHandlerLow save=PROD,section(".tmpdata")



void InterruptHandlerLow(void)     

{                               

	unsigned char Port_B;

	unsigned char Port_B_Delta;

	

	if(PIR1bits.RC1IF && PIE1bits.RC1IE) // rx1 interrupt?

	{

		#ifdef ENABLE_SERIAL_PORT_ONE_RX

		Rx_1_Int_Handler(); // call the rx1 interrupt handler (in serial_ports.c)

		#endif

	}                              

	else if(PIR3bits.RC2IF && PIE3bits.RC2IE) // rx2 interrupt?

	{

		#ifdef ENABLE_SERIAL_PORT_TWO_RX

		Rx_2_Int_Handler(); // call the rx2 interrupt handler (in serial_ports.c)

		#endif

	} 

	else if(PIR1bits.TMR2IF && PIE1bits.TMR2IE) // timer 2 interrupt?

	{

		PIR1bits.TMR2IF = 0; // clear the timer 2 interrupt flag [92]

		Timer_2_Int_Handler(); // call the timer 2 interrupt handler (in adc.c)

	}                     

	else if(PIR1bits.ADIF && PIE1bits.ADIE) // ADC interrupt

	{

		PIR1bits.ADIF = 0; // clear the ADC interrupt flag

		ADC_Int_Handler(); // call the ADC interrupt handler (in adc.c)

	}

	else if (INTCON3bits.INT2IF && INTCON3bits.INT2IE) // encoder 1 interrupt?

	{ 

		INTCON3bits.INT2IF = 0; // clear the interrupt flag

		#ifdef ENABLE_ENCODER_1

		Encoder_1_Int_Handler(); // call the left encoder interrupt handler (in encoder.c)

		#endif

	}

	else if (INTCON3bits.INT3IF && INTCON3bits.INT3IE) // encoder 2 interrupt?

	{

		INTCON3bits.INT3IF = 0; // clear the interrupt flag

		#ifdef ENABLE_ENCODER_2

		Encoder_2_Int_Handler(); // call right encoder interrupt handler (in encoder.c)

		#endif

	}

	else if (INTCONbits.RBIF && INTCONbits.RBIE) // encoder 3-6 interrupt?

	{

		Port_B = PORTB; // remove the "mismatch condition" by reading port b            

		INTCONbits.RBIF = 0; // clear the interrupt flag

		Port_B_Delta = Port_B ^ Old_Port_B; // determine which bits have changed

		Old_Port_B = Port_B; // save a copy of port b for next time around

	 

		if(Port_B_Delta & 0x10) // did external interrupt 3 change state?

		{

			#ifdef ENABLE_ENCODER_3

			Encoder_3_Int_Handler(Port_B & 0x10 ? 1 : 0); // call the encoder 3 interrupt handler (in encoder.c)

			#endif

		}

		if(Port_B_Delta & 0x20) // did external interrupt 4 change state?

		{

			#ifdef ENABLE_ENCODER_4

			Encoder_4_Int_Handler(Port_B & 0x20 ? 1 : 0); // call the encoder 4 interrupt handler (in encoder.c)

			#endif

		}

		if(Port_B_Delta & 0x40) // did external interrupt 5 change state?

		{

			#ifdef ENABLE_ENCODER_5

			Encoder_5_Int_Handler(Port_B & 0x40 ? 1 : 0); // call the encoder 5 interrupt handler (in encoder.c)

			#endif

		}

		if(Port_B_Delta & 0x80) // did external interrupt 6 change state?

		{

			#ifdef ENABLE_ENCODER_6

			Encoder_6_Int_Handler(Port_B & 0x80 ? 1 : 0); // call the encoder 6 interrupt handler (in encoder.c)

			#endif

		}

	}

	else if(PIR1bits.TX1IF && PIE1bits.TX1IE) // tx1 interrupt?

	{

		#ifdef ENABLE_SERIAL_PORT_ONE_TX

		Tx_1_Int_Handler(); // call the tx1 interrupt handler (in serial_ports.c)

		#endif

	}                              

	else if(PIR3bits.TX2IF && PIE3bits.TX2IE) // tx2 interrupt?

	{

		#ifdef ENABLE_SERIAL_PORT_TWO_TX

		Tx_2_Int_Handler(); // call the tx2 interrupt handler (in serial_ports.c)

		#endif

	}

}
I've made all of those changes and still get the RLOD. We use the interrupts, timers, rx1&2 tx1&2.

Any other thoughts?

Jon
  #15   Spotlight this post!  
Unread 02-05-2006, 09:59 AM
kaszeta's Avatar
kaszeta kaszeta is offline
Registered User
FRC #0095 (Grasshoppers)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Lebanon, NH
Posts: 334
kaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of lightkaszeta is a glorious beacon of light
Re: Problems Combining Camera Code and Driving Code

Quote:
Originally Posted by Jon236
I've made all of those changes and still get the RLOD. We use the interrupts, timers, rx1&2 tx1&2.

Any other thoughts?

Jon
Any more of your code you can share with us (the rest of user_routines_fast.c, for example)?
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
heres the code. y this not working omega Programming 16 03-31-2004 02:18 PM
What is wrong with this code???? It won't Compile and I don't know why? Please Help CrashZero Programming 23 03-26-2004 08:44 AM


All times are GMT -5. The time now is 10:10 AM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi