|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| 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 |
|
#12
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
It says that the string is too long
|
|
#13
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
you only have a little more than 900 bytes, and if you have variable names that are to long and/or lots of variables, you will get this. does it work with 1 or 2 variables that have short names?
IMPORTANT UPDATE! - V0.3 This fixes a few bugs that were fixed with the Camera update, and lost with the mono fix (and adds the fixes to a few other new controls) This also fixes the default Dashboard. Adds configurable IP address for the camera, so you can actually see YOUR camera! added some camera target options - send widthxheigth+x,y to target (ZomB.Add("Target","400x300+5,5") ![]() added Restart to camera Added virtuald's AnalogMeter (VirtualdAnalogMeter) I will probably have some more detailed documentation and how-to's out by Friday Features that are coming: Soon: TCP instead of dashboard, but fallback available virtuald's oscilliscope Before week 6: message splitting a few more controls eventually: re-write of data hub for many params better designer support VS-less design mode (like slavik262's dashboard) Last edited by byteit101 : 08-03-2010 at 20:49. Reason: forgot attachment! |
|
#14
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
i just tried to send a motor value to the dashboard.
|
|
#15
|
||||
|
||||
|
Re: ZomB: a C# Drag and Drop Dashboard
and?
also make sure you are not sending every loop, you don't want to overload the dashboard (50Hz) assuming you are running ZB on a different laptop, go to the driverstation setup tab, click on remote dashboard and enter the other laptop's IP Last edited by byteit101 : 09-03-2010 at 06:40. |
![]() |
| 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 |