Interface ComplexTunable
- All Known Implementing Classes:
BangBangController, Field2d, PhoenixPIDController, PIDController, ProfiledPIDController, Selectable
-
Method Summary
Modifier and TypeMethodDescriptiondefault StringGets the tunable table type.default voidpublishChildTunable(String name, ComplexTunable tunable) Publishes a child complex tunable under all currently published paths for this complex tunable.default voidpublishChildTunable(String name, TunableBase tunable) Publishes a child tunable under all currently published paths for this complex tunable.voidpublishTunable(TunableTable table) Publishes the tunable to the given table.default voidremoveChildTunable(String name) Removes a child tunable from all currently published paths for this complex tunable.default voidsetChildTunableChanged(String name) Marks a child tunable as locally changed.default voidUpdates this complex tunable.
-
Method Details
-
getTunableType
Gets the tunable table type. Default is no specified table type (null).- Returns:
- Table type
-
publishTunable
Publishes the tunable to the given table.This function may be called when the tunable is initially published or republished during backend migration, and it must not throw. If an exception escapes, registry and backend state is not guaranteed to be restored.
- Parameters:
table- table
-
updateTunable
default void updateTunable()Updates this complex tunable.This function must not throw. If an exception escapes, registry and backend state is not guaranteed to be restored.
-
publishChildTunable
Publishes a child tunable under all currently published paths for this complex tunable.If this complex tunable is not currently published, this function does nothing. Complex tunables should still publish their current children from
publishTunable(TunableTable)so backend migration and full republish operations can recreate the complete child set.- Parameters:
name- the child nametunable- the child tunable
-
publishChildTunable
Publishes a child complex tunable under all currently published paths for this complex tunable.If this complex tunable is not currently published, this function does nothing. Complex tunables should still publish their current children from
publishTunable(TunableTable)so backend migration and full republish operations can recreate the complete child set.- Parameters:
name- the child nametunable- the child complex tunable
-
removeChildTunable
Removes a child tunable from all currently published paths for this complex tunable.If this complex tunable is not currently published, this function does nothing.
- Parameters:
name- the child name
-
setChildTunableChanged
Marks a child tunable as locally changed.Use this for child tunables published from plain member variables when the member is mutated outside of the child tunable object.
If this complex tunable or the child tunable is not currently published, this function does nothing.
- Parameters:
name- the child name
-