View Single Post
  #2   Spotlight this post!  
Unread 16-03-2012, 20:34
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,748
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Alternate viewer for Driver Station Logs (dslog)?

The DS log file is binary (for compactness and has a simple header of a 32 bit version number that is always zero at this point and a (64,64) bit timestamp with an epoch of 12:00:00.000 AM 1/1/1904 (Universal Time). It is a 64 bit int of seconds since ... and then 64 bits of fractional seconds.

The rest of the file is a sequence of tuples (single, single, single, u8, i8) and I believe they are packed with no alignment. The attached code build the plots and the legend shows the plots being built.

The only complicated element that the last six plots packed into the u8. Each bit selects between Nan (which lifts the graph pen), and a value plotted on the scale. It is basically a bitfield of those six bits representing what the DS told the robot to run and what the robot ran during that time slice.

I think the last element to add is that the byte ordering is big endian.

Let me know if I left anything out or something doesn't seem right.

Greg McKaskle
Attached Thumbnails
Click image for larger version

Name:	Screen Shot 2012-03-16 at 7.12.43 PM.png
Views:	108
Size:	16.9 KB
ID:	12332  Click image for larger version

Name:	Screen Shot 2012-03-16 at 7.15.00 PM.png
Views:	83
Size:	10.6 KB
ID:	12333  
Reply With Quote