View Full Version : Dashboard Documentation
02-26-2010, 11:57 PM
Lately I've seen a lot of questions regarding the dashboard packet/protocol. I've compiled my development notes into a document which may be useful to people writing dashboards from scratch.
It includes dashboard packet and camera communication documentation.
You can find it on CodePlex (http://frc1103dashboard.codeplex.com/releases/view/41118).
I will most likley be releasing updates to the project as I find errors and/or omissions.
03-01-2010, 11:15 AM
what port is this on?
03-01-2010, 11:49 AM
The ports are listed in Eric's documentation.
03-01-2010, 02:36 PM
how would you capture the image data from the network and show it in a standard GTKimage container?
03-01-2010, 07:50 PM
The first step is to capture the raw jpeg data from the incomming data. How you do this depends on the language/tools you are using.
Once you have the raw data you have two options:
a. decode the jpeg in memory and set is as the image for the image control. This should be less than 10 lines of code, but you'll have to read the docs.
b. write the raw data to a file, and then point the image control to the image file. This will probably be more code than option a, but may be simpiler.
Option a will probably perform better, but option b may be easier.
03-01-2010, 11:58 PM
do you know how to do this in python?
03-02-2010, 12:00 AM
Sorry, I'm not familiar with Python. Maybe someone else here is.
03-03-2010, 01:02 PM
I suggest looking into the WPILib\NetworkCommunication\FRCComm.h
I have reproduced it in this post.
It contains the struct that is passed along the network. You must swap intrinsic data type from big to little endian. You shouldn't have to swap byte arrays unless intrinsic data is converted to a byte array.
UINT8 reset : 1;
UINT8 notEStop : 1;
UINT8 enabled : 1;
UINT8 autonomous : 1;
UINT8 resync : 1;
UINT8 cRIOChkSum :1;
UINT8 fpgaChkSum :1;
UINT16 stick0Buttons; // Left-most 4 bits are unused
UINT16 stick1Buttons; // Left-most 4 bits are unused
UINT16 stick2Buttons; // Left-most 4 bits are unused
UINT16 stick3Buttons; // Left-most 4 bits are unused
//Analog inputs are 10 bit right-justified
03-03-2010, 04:24 PM
That is the robot to DS protocol, not the DS to Dashboard protocol. It looks like the status byte might be staying the same, but in terms of the error byte there is no indication of that in that code
vBulletin® v3.6.4, Copyright ©2000-2013, Jelsoft Enterprises Ltd.