Go to Post I want an inflatable playing field so 2 people can setup the competition in one hour at every event. I want it to fit in the back of my car. - Ken Leung [more]
Home
Go Back   Chief Delphi > Technical > Programming > C/C++
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 04-02-2010, 23:40
Al3+'s Avatar
Al3+ Al3+ is offline
ARTist
AKA: Anthony
FRC #0840 (Aragon Robotics Team)
Team Role: Programmer
 
Join Date: Oct 2009
Rookie Year: 2008
Location: San Mateo, CA
Posts: 58
Al3+ is a jewel in the roughAl3+ is a jewel in the roughAl3+ is a jewel in the rough
Help with dashboard packing...

Alright. So I modified the dashboard and removed everything from it except the camera image and the robot IP (which was needed for the image to show). Then I added a single boolean indicator, and put this in my code:

Code:
...
Dashboard *dash;
...
void SendDashboardData()
{
  dash = &DriverStation::getInstance()->GetHighPriorityDashboardPacker();
  dash->AddBoolean(true);
  dash->Finalize();
}
And I call SendDashboardData() on each iteration inside OperatorControl. However, when I try to run this, it doesn't work, and sometimes causes all sorts of problems by freezing up the driver station.

What's the proper way to do this? I've looked at the DashboardDataFormat.cpp example but it seems to be written for the default dashboard with all the clusters on it.

Also, what's the difference between the high and low priority packers? Can they be used interchangeably?
__________________
cout << "Hello, robotics. Goodbye, world." << endl;

"The two-axis accelerometer provided in the kit of parts (shown in the picture below) is a two-axis accelerometer." - WPILib User's Guide

Last edited by Al3+ : 04-02-2010 at 23:42.
Reply With Quote
  #2   Spotlight this post!  
Unread 05-02-2010, 02:17
jhersh jhersh is offline
National Instruments
AKA: Joe Hershberger
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 1997
Location: Austin, TX
Posts: 1,006
jhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond reputejhersh has a reputation beyond repute
Re: Help with dashboard packing...

Quote:
Originally Posted by Al3+ View Post
Alright. So I modified the dashboard and removed everything from it except the camera image and the robot IP (which was needed for the image to show). Then I added a single boolean indicator, and put this in my code:

Code:
...
Dashboard *dash;
...
void SendDashboardData()
{
  dash = &DriverStation::getInstance()->GetHighPriorityDashboardPacker();
  dash->AddBoolean(true);
  dash->Finalize();
}
And I call SendDashboardData() on each iteration inside OperatorControl. However, when I try to run this, it doesn't work, and sometimes causes all sorts of problems by freezing up the driver station.
Freezing up the driver station? What makes you say that? Will the Tabs not switch? What exactly is the behavior?

Quote:
Originally Posted by Al3+ View Post
What's the proper way to do this? I've looked at the DashboardDataFormat.cpp example but it seems to be written for the default dashboard with all the clusters on it.
It was written to match... and they have to. If you pack 1 boolean into the high priority, for instance, then you need to unpack 1 boolean from high priority on the dashboard side.

Quote:
Originally Posted by Al3+ View Post
Also, what's the difference between the high and low priority packers? Can they be used interchangeably?
The high priority will be sent even if there are errors to report to the driver station. Low priority will not be sent if there is no space because of errors to be reported. Also, If there is not enough space for high and low priority, then only high priority will be sent.

They can be used interchangably, as long as you interchange them on the dashboard side and the robot side at the same time.

-Joe
Reply With Quote
  #3   Spotlight this post!  
Unread 06-02-2010, 01:34
Al3+'s Avatar
Al3+ Al3+ is offline
ARTist
AKA: Anthony
FRC #0840 (Aragon Robotics Team)
Team Role: Programmer
 
Join Date: Oct 2009
Rookie Year: 2008
Location: San Mateo, CA
Posts: 58
Al3+ is a jewel in the roughAl3+ is a jewel in the roughAl3+ is a jewel in the rough
Re: Help with dashboard packing...

Yes, some time after the robot starts, the tabs and buttons stop responding to presses, and I can't do anything. The only way to get out of it is to reboot or to end it with Task Manager.

I'm not sure whether it's directly connected to the dashboard problem, but it stopped happening after I commented out the code.

Maybe I should upload my dashboard file.
__________________
cout << "Hello, robotics. Goodbye, world." << endl;

"The two-axis accelerometer provided in the kit of parts (shown in the picture below) is a two-axis accelerometer." - WPILib User's Guide
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Dashboard Help C++ Windriver ranc Programming 0 15-01-2010 15:26
Monitering C++ Code With A LabVEIW Dashboard Happyisgood C/C++ 6 14-07-2009 17:23
Help with connecting default dashboard project mminutto NI LabVIEW 2 30-01-2009 15:26
Packing for FL archiver 2001 4 24-06-2002 01:58


All times are GMT -5. The time now is 02:52.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi