Buttons without Scheduler

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…