|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Re: What is wrong with this code???? It won't Compile and I don't know why? Please He
Quote:
As to the commented out case label, THAT does look strange, but I highly doubt that would cause the compile error in question. I don't know what the compiler will do with a chunk of code inside a switch statement without a case label. My guess is that it will simply be unreachable. |
|
#2
|
||||||
|
||||||
|
Re: What is wrong with this code???? It won't Compile and I don't know why? Please He
Quote:
|
|
#3
|
||||
|
||||
|
Re: What is wrong with this code???? It won't Compile and I don't know why? Please He
indent...indent...indent
|
|
#4
|
|||||
|
|||||
|
Re: What is wrong with this code???? It won't Compile and I don't know why? Please He
Quote:
If the trouble is with an unprintable character in the source code, the problem character probably wouldn't have survived being pasted here. But I believe that the definition of LOST_TARGET_TIMEOUT in navigate.h is a likely culprit and should be investigated. |
|
#5
|
|||||
|
|||||
|
Re: What is wrong with this code???? It won't Compile and I don't know why? Please He
Quote:
Last edited by Greg Ross : 24-03-2004 at 15:55. |
|
#6
|
|||||
|
|||||
|
Re: What is wrong with this code???? It won't Compile and I don't know why? Please He
Quote:
I'm not anywhere near the computer we use to program the robot -- in fact, it's halfway to Chicago at the moment. I interpreted your mention of "the editor" as referring to viewing the HTML source of the page, where at least a little of the c file's formatting seems to be visible. |
|
#7
|
||||
|
||||
|
well here is the navigate.h file:
Code:
/******************************************************************************* * * TITLE: navigate.h * * VERSION: 1.0 * * DATE: 08-Jan-2004 * * AUTHOR: Richard D. Petras * * COMMENTS: * ******************************************************************************** * * CHANGE LOG: * * DATE REV DESCRIPTION * ----------- --- ---------------------------------------------------------- * 03-Dec-2003 0.1 * 08-Jan-2004 1.0 RDP The version used at the 2004 kickoff * *******************************************************************************/ #ifndef _navigate_h #define _navigate_h #include "tracker.h" // Navigator state machine values // These values will be stored in a global variable called // Navigator_State. As each state transition is detected, // the state will change to describe how the vehicle should // operate. #define WAIT_TO_DRIVE 0 #define DRIVE_TO_CENTER 1 #define TURN_TO_TARGET 2 #define DRIVE_TO_TARGET 3 #define PASSED_TARGET 4 #define AT_TARGET 5 #define OVER_CURRENT 6 // Drive state // These values are stored in the drive_state variable. They tell // us where the beacon is with respect to each tracker on the robot. #define DR_UNDEFINED 0 #define DR_BOTH_LEFT 1 #define DR_BOTH_RIGHT 2 #define DR_BOTH_STRAIGHT 3 #define DR_BOTH_CENTER 4 #define DR_LEFT_STRAIGHT 5 #define DR_RIGHT_STRAIGHT 6 #define DR_REFLECTION 7 // Some values for each individual tracker #define DR_LEFT 0 #define DR_CENTER 1 #define DR_RIGHT 2 // Which pwms are our tracker servoes and drive motors? It // is nice to only have to change this in one place. #define left_servo pwm10 #define right_servo pwm11 #define left_drive pwm14 #define right_drive pwm15 // Simplify the big structure for beacon quality // from the tracker code. #define LL Sensor_Stats[0].Beacon_Quality[Tracker_Data[left].Beacon_Type] #define LR Sensor_Stats[1].Beacon_Quality[Tracker_Data[left].Beacon_Type] #define RL Sensor_Stats[2].Beacon_Quality[Tracker_Data[right].Beacon_Type] #define RR Sensor_Stats[3].Beacon_Quality[Tracker_Data[right].Beacon_Type] // The rest of these defines are tweekable parameters to fit // the characteristics of different drive trains. You might // want to divide these into a separate set of values for the // left and right side drives if your motor characteristics // are sufficiently different. This would require changing // navigator.c, but the places to make the changes should be // obvious. :-) // Stop values #define LSTOP 127 #define RSTOP 127 // Fast backward #define FBWD (LSTOP - 90) // Slow Backward #define SBWD (LSTOP - 55) // Very Slow Backward #define VSBWD (LSTOP - 10) // Very Slow Forward #define VSFWD (LSTOP + 10) // Slow Forward #define SFWD (LSTOP + 55) // Fast Forward #define FFWD (LSTOP + 90) // Note: All the logic assumes the servo max points right // Its not too hard to change the code to accomidate the other // direction, in fact the code started out that way... // These values are the servo settings (assuming 127 is straight // ahead) that tells you that the beacon is between the trackers // and about 1/2 meter ahead. The exact values will depend on the // baseline of your trackers. #define LEFT_GOAL 135 #define RIGHT_GOAL 120 // These values tell you when the target is far to the left of the // left servo, or far to the right of the right servo. We switch // navigator states at this point #define LEFT_PASS 60 #define RIGHT_PASS 195 // Adjust these for your drive train // This is the gain that is multiplied by your pointing error. // It can be used as part of a feedback loop to steer toward the // goal. Note: the error calculation is included in the code // as an example, but was not used in the actual kickoff demo. // (we wanted to drive straight until we passed the goal) #define DRIVE_GAIN 2 // This is a timer for the short drive away from the wall before // we startt to turn in place toward the beacon. #define DRIVE_TO_CENTER_TIME 5 // I bet you didn't know we were using the current sensors in the // kickoff demo. If the current sensor reading got above this // value, we might be up against the wall. In that case we might // want to stop driving for a short time to allow the robot to level // out. #define MAX_CURRENT 700 // If we haven't seen the target with any of the trackers for // a while, just start searching again by turning in place. //#define LOST_TARGET_TIMEOUT 100 // Declaration for the Navigate function void Navigate(void); #endif // _navigate_h |
|
#8
|
|||||
|
|||||
|
Re: What is wrong with this code???? It won't Compile and I don't know why? Please Help
There's your problem: "#define LOST_TARGET_TIMEOUT 100" is commented out.
|
|
#9
|
||||
|
||||
|
THANK YOU GREATLY!!!
One more thing well my code is posted, In user_routines_fast.c I have the following code for auto mode: Code:
void User_Autonomous_Code(void)
{
while (autonomous_mode) /* DO NOT CHANGE! */
{
if (statusflag.NEW_SPI_DATA) /* 26.2ms loop area */
{
Getdata(&rxdata); /* DO NOT DELETE, or you will be stuck here forever! */
/* Add your own autonomous code here. */
Navigate();
if (NONE_IN_VIEW)
{
if(rc_dig_in01 ==1 )
{
pwm13 = 137;
pwm14=100;
}
else
{
pwm13 = pwm14 = 140;
}
if(rc_dig_in02 == 1)
{
pwm13 = 100;
pwm14 = 137;
}
else
{
pwm13 = pwm14 = 140;
}
}
Generate_Pwms(pwm13,pwm14,pwm15,pwm16);
Putdata(&txdata); /* DO NOT DELETE, or you will get no PWM outputs! */
}
}
}
|
|
#10
|
|||||
|
|||||
|
Re: What is wrong with this code???? It won't Compile and I don't know why? Please Help
Probable the simplest would be something like this:
Code:
if ((Tracker_Data[left].Status == NONE_IN_VIEW) &&
(Tracker_Data[right].Status == NONE_IN_VIEW)) {
if(rc_dig_in01 ==1 )
{
pwm13 = 137;
pwm14=100;
}
else
{
pwm13 = pwm14 = 140;
}
if(rc_dig_in02 == 1)
{
pwm13 = 100;
pwm14 = 137;
}
else
{
pwm13 = pwm14 = 140;
}
}
else Navigate();
*Potential problems: The Tracker code probably STARTS out in NONE_IN_VIEW state, so the Navigate code will never get a chance to get a fix on the beacons. And I'm sure there are others, but I'm rushing right now, and can't think of them. |
|
#11
|
||||
|
||||
|
I can not figure out how to fix up that code and make it work; becuase as you said it starts out at NONE_IN_VIEW and would never get a chance to fix on the beacons; Any help that anyone could offer would be very much appriceated!
Only less then a week left and it still doesn't work! ![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| What is your most prefered programming language? | Hailfire | Programming | 156 | 19-01-2005 21:42 |
| Printf warning during compile? | actorindp | Programming | 4 | 20-02-2004 17:02 |
| How to measure execution time? And code size? | gnormhurst | Programming | 17 | 17-02-2004 08:06 |
| Can't Compile the Default Code | pressurex1 | Programming | 4 | 25-01-2004 20:26 |
| Problem with FRC Default code | AsimC | Programming | 2 | 11-01-2004 19:22 |