Debugging Help

Our team ran out of time for testing the autonomous code this year. It seems to work great while the robot is on blocks but when it actually starts running around on the ground we can’t tell why it is making the decisions that it is.

Anyhow it’s clear that we will have to fine tune the code during practice matches. We need some way to gather data from the robot while it’s in autonomous mode and driving around on the field. I believe we can use the dashboard port, but it looks like it’s more complex than just using the printf commands we’ve been using through the program port. Furthermore, since we will have to stand back from the OI during auto mode we may have trouble seeing what it is doing. I’d like it to log the results so we can review them between rounds. My preference would be to use a terminal emulator with a capture buffer to keep all the information.

The short version is we need help with the following:

  1. How do we code it so particular variable information comes out of the dashboard port.
  2. Where is the OI/RC jumper in the manual. I won’t have access to the OI again until the regional so I’d like to make sure I know where it is. The diagram in the OI reference guide doesn’t show the jumper. The picture on IFI’s website seems to show something between the Dashboard port and port 1. is that the jumper?
  3. Apart from custom written software, is there a way to log the output of the dashboard port?

Andy

  1. There are a couple of “User Bytes” that you can program in. Several are used in the default code I think. There is a space for them in the dashboard viewer. Also on the bottom of the user_routines.h file is “user_mode_byte” which you can view by pressing mode which is under the LCD display on your IO.

  2. yeah, the Jumper is right between dashboard and port 1, you cant miss it :slight_smile:

  3. I have been looking for a solution to this as well, but to no avail, sorry.

Maybe you could store some stuff to the EEPROM if there are a few vital things you need that you cant get any other way. The dashboard way would be much easier though.

For now use the user_bytes, but when you have time, look up on the ttl board. Basically, you can write some telemetry code, hook up a structure, and send data packets out a serial cable. From there, you can use labview to capture and output the data in readable form.