I am seeing this question asked in many different threads and I don't think I've seen an explicit answer yet. Some have quoted this rule:
Quote:
[R53]
Connections to the cRIO Ethernet ports must be compliant with the following parameters:
A. The DAP-1522 wireless bridge is connected to the cRIO Ethernet port 1 (either directly or via a CAT5 Ethernet pigtail).
B. Ethernet-connected COTS devices or custom circuits may connect to any remaining Ethernet ports;
however, these devices may not transmit or receive UDP packets using ports 1100-1200 except for ports 1130 and 1140.
|
To me this seems to pertain to devices onboard the robot using ethernet to communicate with the cRIO. I'm not sure how much it pertains to the classmate communicating with the cRIO via the wireless bridge.
That said we know sending camera images directly to the driver's station for processing is an option this year. And if image processing is happening at the driver's station then we MUST be allowed to send target information back to the cRIO is some fashion.
I am working in C++ for robot code..just wanted to clarify that before I continued.
A quick look at the dashboard code and smartdashboard code it seems these classes are designed only to send data from the robot to the dashboard, not the other way around. So at this point I haven't found any existing infrastructure to leverage in sending the target info back to the robot (I would be very happy to be corrected on this point).
Currently my plan is to create a network connection between the cRIO and classmate PC via the wirelss bridge for communicating the target info to the robot. I haven't decided yet if I will use UDP or TCP or if the robot will be the client or the server if I use TCP. I will probably use a port outside the range of 1100-1200 in case the rule above applies. I plan to write the socket code from scratch because I don't think any WPILib classes exist for generic UDP or TCP communications.
Can anyone else confirm the approach they are taking??