Class SendableBuilderImpl

    • Constructor Detail

      • SendableBuilderImpl

        public SendableBuilderImpl()
    • Method Detail

      • setTable

        public void setTable​(NetworkTable table)
        Set the network table. Must be called prior to any Add* functions being called.
        Parameters:
        table - Network table
      • getTable

        public NetworkTable getTable()
        Get the network table.
        Returns:
        The network table
      • isActuator

        public boolean isActuator()
        Return whether this sendable should be treated as an actuator.
        Returns:
        True if actuator, false if not.
      • updateTable

        public void updateTable()
        Update the network table values by calling the getters for all properties.
      • startListeners

        public void startListeners()
        Hook setters for all properties.
      • stopListeners

        public void stopListeners()
        Unhook setters for all properties.
      • startLiveWindowMode

        public void startLiveWindowMode()
        Start LiveWindow mode by hooking the setters for all properties. Also calls the safeState function if one was provided.
      • stopLiveWindowMode

        public void stopLiveWindowMode()
        Stop LiveWindow mode by unhooking the setters for all properties. Also calls the safeState function if one was provided.
      • setSmartDashboardType

        public void setSmartDashboardType​(String type)
        Set the string representation of the named data type that will be used by the smart dashboard for this sendable.
        Specified by:
        setSmartDashboardType in interface SendableBuilder
        Parameters:
        type - data type
      • setActuator

        public void setActuator​(boolean value)
        Set a flag indicating if this sendable should be treated as an actuator. By default this flag is false.
        Specified by:
        setActuator in interface SendableBuilder
        Parameters:
        value - true if actuator, false if not
      • setSafeState

        public void setSafeState​(Runnable func)
        Set the function that should be called to set the Sendable into a safe state. This is called when entering and exiting Live Window mode.
        Specified by:
        setSafeState in interface SendableBuilder
        Parameters:
        func - function
      • setUpdateTable

        public void setUpdateTable​(Runnable func)
        Set the function that should be called to update the network table for things other than properties. Note this function is not passed the network table object; instead it should use the entry handles returned by getEntry().
        Specified by:
        setUpdateTable in interface SendableBuilder
        Parameters:
        func - function
      • getEntry

        public NetworkTableEntry getEntry​(String key)
        Add a property without getters or setters. This can be used to get entry handles for the function called by setUpdateTable().
        Specified by:
        getEntry in interface SendableBuilder
        Parameters:
        key - property name
        Returns:
        Network table entry
      • addBooleanArrayProperty

        public void addBooleanArrayProperty​(String key,
                                            Supplier<boolean[]> getter,
                                            Consumer<boolean[]> setter)
        Add a boolean array property.
        Specified by:
        addBooleanArrayProperty in interface SendableBuilder
        Parameters:
        key - property name
        getter - getter function (returns current value)
        setter - setter function (sets new value)
      • addDoubleArrayProperty

        public void addDoubleArrayProperty​(String key,
                                           Supplier<double[]> getter,
                                           Consumer<double[]> setter)
        Add a double array property.
        Specified by:
        addDoubleArrayProperty in interface SendableBuilder
        Parameters:
        key - property name
        getter - getter function (returns current value)
        setter - setter function (sets new value)
      • addRawProperty

        public void addRawProperty​(String key,
                                   Supplier<byte[]> getter,
                                   Consumer<byte[]> setter)
        Add a raw property.
        Specified by:
        addRawProperty in interface SendableBuilder
        Parameters:
        key - property name
        getter - getter function (returns current value)
        setter - setter function (sets new value)