|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
-Kevin |
|
#2
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Well programmers, there is upshot to this. For once there is a programming problem that might not be our fault!
What leads people to think that this is a problem with the linker script? It seems to me like there is a good chance this could be a master proc problem. Its interesting to note that 8.2/8.3 volts is very near 127 when you convert it using that little forumula. Is it possible that the RC and OI are somehow loosing synchronization and reading the wrong parts of the packets? Maybie some structure or array is being manipulated incorrectly? Make sure you are using the newest version of IFI loader. I had some bizarre similar problems from using an old version. I have also had weird errors from USB->serial converters. Rule these things out first. Last edited by Rickertsen2 : 07-03-2006 at 21:57. |
|
#3
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
And our laptop is still old enough to have a serial port... But yes, both of these are worth ruling out. |
|
#4
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
|
|
#5
|
|||||
|
|||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
(See previous post; I have also confirmed that this causes a similar "bug" on the 2004 RC)Was the robot tethered when you had the bug, or was it on the field with the radio? |
|
#6
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
However, (1) I only tried it with the tether (the radio modem pair I scrounged up at the clubhouse appears not to be working), and (2) I don't have a backup battery handy, but I did vary the voltage on the backup battery lugs by (a) hooking a +5V signal from the pwm outputs to it, (b) hooking up a 1.5v battery, and (c) hooking up a 9V charger to the pins I'll try it again today with an actual battery and see if massive repeated uploads of frc_gryo.hex do it. Quote:
|
|
#7
|
|||
|
|||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
as our robot is in the crate heading from Portland to SanJose. I did try building the hex file with the beta <linker> script, however, and note that there is a large number of differences in the hex file, relative to the one generated prior to copying the beta <linker> into place. If IFI fixed a bug in the linker script with their change, our code was stepping on this bug in lots of places. We will learn the score, for sure, during the practice day at the SanJose regional... Eugene Last edited by eugenebrooks : 08-03-2006 at 11:48. |
|
#8
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
indicate that txdata and/or rxdata are being corrupted. In our robot, the .map file indicates that txdata is at 0xf00 (gpr15 right above the stack). Normally I would suspect a stack overflow into the txdata, but the PIC addressing modes can't allow the stack to escape its bank. On the theory that there is something strange about the memory in gpr15, we changed our linker script to disallow data in gpr15. This seemed to fix things, but we were out of time so we don't have enough testing to be 100% sure. My fear is that we have just changed the symptom, but not eliminated the problem. |
|
#9
|
|||||
|
|||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
If gpr15 is suspect (or really 14) we can nail a diagnostic data array into that space and test periodically to see if an overwrite of that bank occurs. I was thinking of using databanks before and after to isolate our user code from "outside" corruption.
Last edited by Mark McLeod : 08-03-2006 at 11:41. |
|
#10
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Check out IFI web site for an update. They are saying
to use the linker change (protect gpr15) and the new libraries that resolve the interrupt issue. http://www.ifirobotics.com/docs/memory_problem_8722.pdf |
|
#11
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
-Kevin |
|
#12
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
I'm not sure i correctly understand this issue. Is it a problem with the 18f8722? Why does not using the gpr15 area fix this?
|
|
#13
|
||||
|
||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
What we are hearing from IFI is that the problem is at least partly associated with
the oscillator that controls timing in IFI controller. It seems that it can drift, and that the drift is related to temperature. The data that is getting corrupted is the inter-processor communication data which tends to be stored in gpr15. I too am curious about why moving those data structures (by protecting gpr15) seems to solve the problem and not just move it somewhere else. It may have something to do with the fact that gpr15 is located adjacent to the locations the registers are memory mapped to. I'm hoping that we will have more clues about what works and what doesnt over the course of the next few regionals, but I feel sorry for teams that are affected by this problem. Our robot was impacted by this in about 1/3 of our matches in Portland. |
|
#14
|
|||
|
|||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Different data segments might have slightly different address/data
timing margins and moving the data to a different segment could be resolving the timing issue if that is what it is. Lets hope that the patch resolves the problem. We were also at Portland and got hit quite severely by this bug on Thursday afternoon. After trying a loaner RC and seeing the same problem we gutted all of our feedback code to obtain a robot that ran reliably. This severely impacted our performance by taking all of our cameral directed shooting off line and forced us to resort to a defensive strategy. If the linker patch works around the problem we will have a very different robot. Given the temperature sensitivity perhaps I should bring one of my leg warmers to strap to the robot controller... Eugene Quote:
|
|
#15
|
|||||
|
|||||
|
Re: The 8.2 (or 8.3) Battery Voltage Bug
Quote:
If it's a crystal oscillator, there's no way that should be happening whatsoever! On a side note, there are over 100 posts in this thread! This must be a big problem! ![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Reading battery voltage in software | RbtGal1351 | Programming | 17 | 21-10-2007 13:07 |
| How to obtain battery voltage from within EasyC | DavidSJohnson | Programming | 2 | 14-02-2006 00:05 |
| battery voltage compensation | Rickertsen2 | Programming | 5 | 17-10-2005 22:12 |
| RC Circuits | Melissa Nute | Math and Science | 3 | 25-01-2004 05:02 |
| Battery Chargers | Neal Probert | Electrical | 46 | 16-02-2003 22:31 |