|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
ZomB: a C# Drag and Drop Dashboard
Team 451 would like to share our ZomB Dashboard (Yes, you read that right, zombie) that we have been working on, and get some feedback. We have used this successfully for a few response testing, like ultrasonic (it looks good on a graph)
Pre-build controls: AnalogMeter, DataGraph(inspired by taskmanager), DirectionMeter, DistanceMeter, SpikeControl, RoundSpeedMeter, TacoMeter(Yes, it even has cheese), MessageDisplay, VarValue, OnOffControl, ColorFind(Totally misleading name, still testing) There are 2 parts, the dashboard, and the robot files. Requirements: Visual Studio 2008, .Net 2.0 Note: we use C++, but you can do this in java and LabView also, look at the bottom of this post for the format The robot side files are ZDashboard.h and cpp, copy them into your project and add at the top of the main file #include "ZDashboard.h" in your code, create a ZDashboard object , and initialize it. Code:
class RobotDemo:public SimpleRobot
{
//...
ZDashboard ZomB;
public:
RobotDemo():
/* ... */ ZomB()
{
//...
}
//...
Code:
//...
void OperatorControl()
{
while(IsOperatorControl())
{
ZomB.Add("controlName","controlValue");
ZomB.Add("grph2",stick.GetY());
ZomB.Send();
Wait(0.02);
}
}
//...
Some notes: THIS IS BETA!!! I am still working on bugs, the least tested feature is the VarValue control and the var and AddDebugVariable functions. please report any bugs the .Net controls features are in the .Cat group. most have Max, Min, and Value. DataGraphs cannot have a Min less that 0 Taco is pure fun To see what each control does, open the test project (run it), click on a control, and move the slider at the top (EDIT: direction and analog meter barely move). onoff and spike are click state change, the thing in the lower right corner is a drag and drop sample, not related to create a new Dashboard, make a new project, Reference System451.Communications.Dashboard.dll (in dash/System451.Communication.Dashboard/bin/Release folder), build the project. the controls will appear at the top of the toolbox, they are drag and drop. add 1 dashboardDataHub control. in the constructor (or a start button) add this code Code:
dashboardDataHub1.AddDashboardControl(YourControls); dashboardDataHub1.AddDashboardControl(AnotherControl); dashboardDataHub1.StartRecieving(); the Format of the strings, which can be Printf'd from the Dashboard class is @@@451:|controlname=value|name=value|:451@@@ Last edited by byteit101 : 13-02-2010 at 18:51. |
|
#2
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
Looks shiny. I wrote some old-school looking analog meter controls for C# a few years ago, you might find it useful to use with your dashboard.
http://www.virtualroadside.com/blog/...for-c-and-net/ |
|
#3
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
I added a camera feed to this today, complements of the dashboard here: http://www.chiefdelphi.com/forums/sh...ad.php?t=82422 . It still uses .net 2, so no need to update!
I have some bug fixes that I will post tommorow (some not on this computer), so for now, here is the CS files, and the dll |
|
#4
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
Here's the latest version, I would create a new project that references the dll, and add stuff like my original post explains, as the DefaultDash is a bit of a mess.
Changes from initial release: Fixed multithreading bugs Added CameraView Added CSV DataSaver |
|
#5
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
Can I use this with Java?
|
|
#6
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
EDIT: Java port posted at post #8
yes, I have not had a chance to port the robot side code (ZDashboard.cpp) yet, but it uses WPILib (and therefore also works with WPILibJ). (functions may be slightly different for java, I am not a java expert (yet)) Instead of making a ZDashboard object, make a Dashboard object from Driverstation.GetInstance().GetHighPriorityDashboa rdPacker() then, at the beginning of your code, create a string, and (either immediatly or when the value has been calculated) then assign it a string in the format of @@@451:|controlname=value|name=value|:451@@@ when you have built the string, use the dashboard object to Printf it example: Code:
string prints = "@@@451:|"; //code to calculate outputSpeed prints+="out="+outputSpeed+"|";//name=value pipes (| above enter key on most keyboards, use shift) seperate values yourDashboardObject.Printf(prints+":451@@@);//this fuction might be different for java I will try to make a Java version of ZDashboard by this Friday. If you have any other questions, please ask Last edited by byteit101 : 08-03-2010 at 16:42. |
|
#7
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
minor bug fix: mono compatible (not tested, but MoMA say's looks good)
|
|
#8
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
Got a Java port, just add the attached ZDashboard.java to your project.
Code:
import edu.wpi.first.wpilibj.SimpleRobot;
import org.thecatattack.System451.Communication.ZDashboard;
public class RobotTemplate extends SimpleRobot {
ZDashboard ZomB = new ZDashboard();
/**
* This function is called once each time the robot enters autonomous mode.
*/
public void autonomous() {
while (isAutonomous()) {
ZomB.Add("controlname", "value");
ZomB.Add("dataGraph", 0.6);
ZomB.Send();
}
}
/**
* This function is called once each time the robot enters operator control.
*/
public void operatorControl() {
}
}
|
|
#9
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
Thanks! it will work for our purposes
![]() |
|
#10
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
It wOnt compile, it says th dashboard packer is bad and so is the send function
edit: The java library wont compile, it says getDashBoardPacker and send are bad calls Last edited by Robototes2412 : 08-03-2010 at 18:31. |
|
#11
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
Quote:
Here it is fixed |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Drag and drop (labview) | kamocat | NI LabVIEW | 7 | 28-10-2008 08:05 |
| Labview Dashboard and updated IFI dashboard spec | Joe Ross | LabView and Data Acquisition | 1 | 04-04-2006 02:04 |
| White Paper Discuss: 2003 Drag-Drop Scoring Program (Flash, HTML version) *UPDATE* | Suneet | Extra Discussion | 0 | 12-01-2006 16:50 |
| Visual Basic - Drag and Drop | Gope | Programming | 11 | 06-01-2003 09:42 |
| Sensing current and/or voltage drop??? | archiver | 2001 | 3 | 23-06-2002 23:21 |