|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Problems forming NetworkTable between Robot and SmartDashboard
Hello!
We are currently trying to form a connection between the robot and the Smart Dashboard. Here is part of the extension code we have written in Java: Code:
if (table== null)
{
NetworkTable.setTeam(1943);
NetworkTable.setServerMode();
try {
NetworkTable.initialize();
} catch (IOException ex) {
Logger.getLogger(TutorialLabel.class.getName()).log(Level.SEVERE, null, ex);
}
table = NetworkTable.getTable("RoboRealm");
}
Code:
NetworkTable::SetTeam(1943);
NetworkTable::SetIPAddress("10.19.43.5");
NetworkTable::Initialize();
roborealmNetTable = NetworkTable::GetTable("RoboRealm");
Thanks! |
|
#2
|
|||
|
|||
|
Re: Problems forming NetworkTable between Robot and SmartDashboard
How are you initializing NetworkTable in C++? Is it a static declaration? Could you post the entire class?
|
|
#3
|
||||
|
||||
|
Re: Problems forming NetworkTable between Robot and SmartDashboard
Quote:
Code:
#include "WPILib.h"
class RobotDemo : public SimpleRobot
{
Joystick stick;
Jaguar jaguar;
NetworkTable* roborealmNetTable;
public:
RobotDemo(void):
stick(1),
jaguar(2),
roborealmNetTable(NULL)
{
NetworkTable::SetTeam(1943);
NetworkTable::SetIPAddress("10.19.43.5");
NetworkTable::Initialize();
roborealmNetTable = NetworkTable::GetTable("RoboRealm");
}
void Autonomous(void)
{
}
void OperatorControl(void)
{
while (IsOperatorControl())
{
if (stick.GetRawButton(1))
{
jaguar.Set(stick.GetY());
}
else
{
double d = roborealmNetTable->GetNumber("InputValue");
jaguar.Set(d);
}
if (stick.GetRawButton(2))
{
roborealmNetTable->PutNumber("InputValue", 0);
}
Wait(0.005); // wait for a motor update time
}
}
/**
* Runs during test mode
*/
void Test() {
}
};
|
|
#4
|
|||
|
|||
|
Re: Problems forming NetworkTable between Robot and SmartDashboard
The issue is probably how you are initializing the NetworkTable. You are setting it to null, where it probably should be initialized. I have not yet worked with NetworkTable's, but you can try looking at the WPILib Cookbook. Also, since you have declared a variable, you can use it as a pointer, so instead of this:
Code:
RobotDemo(void):
stick(1),
jaguar(2),
roborealmNetTable(NULL)
{
NetworkTable::SetTeam(1943);
NetworkTable::SetIPAddress("10.19.43.5");
NetworkTable::Initialize();
roborealmNetTable = NetworkTable::GetTable("RoboRealm");
}
Code:
RobotDemo(void):
stick(1),
jaguar(2)
{
roborealmNetTable = new NetworkTable("RoboRealm");
roborealmNetTable->SetTeam(1943);
roborealmNetTable->SetIPAddress("10.19.43.5");
roborealm->Initialize();
}
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|