001/*----------------------------------------------------------------------------*/ 002/* Copyright (c) 2008-2018 FIRST. All Rights Reserved. */ 003/* Open Source Software - may be modified and shared by FRC teams. The code */ 004/* must be accompanied by the FIRST BSD license file in the root directory of */ 005/* the project. */ 006/*----------------------------------------------------------------------------*/ 007 008package edu.wpi.first.wpilibj.buttons; 009 010import edu.wpi.first.networktables.NetworkTable; 011import edu.wpi.first.networktables.NetworkTableEntry; 012import edu.wpi.first.networktables.NetworkTableInstance; 013 014/** 015 * A {@link Button} that uses a {@link NetworkTable} boolean field. 016 */ 017public class NetworkButton extends Button { 018 private final NetworkTableEntry m_entry; 019 020 public NetworkButton(String table, String field) { 021 this(NetworkTableInstance.getDefault().getTable(table), field); 022 } 023 024 public NetworkButton(NetworkTable table, String field) { 025 m_entry = table.getEntry(field); 026 } 027 028 public boolean get() { 029 return m_entry.getInstance().isConnected() && m_entry.getBoolean(false); 030 } 031}