Sending data from the DS back to the robot

Here is the picture i have in mind:
i add a control input to the dashboard.
i type some value inside.
i push a button on the joystick that ‘apply’ the changes and the robot comply
to the value i wrote on the dashboard. say for example seting the degree of a servo.

i know how the change the data that is sent from the robot to the DS, and display any information i like on the dashbaord. but i want to do that in the opposite direction.

how do i do that?
help will be appreciated

To my knowledge, you cannot. They want all teams to have the same processing power, and allowing communication to the dashboard allows teams with a second powerful laptop for Dashboard to have more power if they can bidirectionally communicate. Also, to my knowledge the FMS system blocks all communication over wireless that did not originate from the Robot, Classmate, or FMS. The classmate gets the data from the robot and passes it to the Dashboard PC, so the dashboard PC cannot communicate directly to the robot.

I have no idea what you would need to get to the robot before a match other than the Autonomous mode, but you should be able to set that with a switch on the Cypress board (or if you don’t use it the Virtual IO), or the Analog or DSC inputs on the robot. A simple multi-position switch to an analog input has proven to work well enough.

You can’t send data from the dashboard to the robot.

But the robot can read the value of a joystick throttle and display it on the dashboard, so you can get the same general effect even though you’re not changing the value by clicking and typing.

i’m not planning to use it on the match. only for configuration purpose. for example twiking the PID gains to in the optimal state.
i have found where the DS sending the enable/disable state to the robot.
maybe i can manipulate that data packet what do you say?

I think this is exactly what you want:

The solution essentially involves running a webserver on the robot and using proxy objects in your code that can both report their state to any web browser, and also take changes to those values back from user input to the
browser.

I have been using Dustin’s code since last year to tune PID loops, and it works like a charm! Highly recommended.

If you want to send just a few values, the DS lets you use virtual I/O. If you do not connect the cypress board, you can type values into the analog 0-1023, and you can physically set eight digitals.

Greg McKaskle

What language is this in?

In LabVIEW, you can hit the Run button in Robot Main and it will download your code and run it, without flashing it (it will go away when you reboot). You can place controls on your front panels and manipulate them as the code is running. Quick and easy way to tune PID loops. Then, when you close the program, you can right-click on the controls and go to Data Operations => Set value to default, and leave the control on the front panel. It will keep your data there, even when you build and download code.