I need to implement functionality with buttons on the SmartDashboard which do things to the robot. I do not want to use Scheduler, since we are not using command-based. Is there a way to do this without making a smartdashboard widget and hack network tables backwards?
make a class that implements Sendable
and put in this data somewhere
public String getSmartDashboardType(){
return "Button";
}
private ITable table;
public void initTable(ITable table){
this.table = table;
if(table!=null){
table.putBoolean("pressed" false);
}
}
/**
* {@inheritDoc}
*/
public ITable getTable(){
return table;
}
to check if the button is currently pressed on the dashboard, just use
table.getBoolean("pressed");
(not 100% sure about this but thats how Trigger does it)
e/ No. send it to the dashboard via
SmartDashboard.putData(yourButton)
than get it via
SmartDashboard.getData(yourButton
SmartDashboard.getData() is no longer a method in the wpilibj. It was removed in 2013…
We’ve decided to not bother with it because the feature really isn’t needed, but thank you for helping anyway.
I haven’t tried it, but have you looked at NetworkButton?
Never tried it either.
than just call it from the ITable…