Controller class
Uses the gamepad to control the rover.
Each gamepad can only control one subsystem at a time, so this class uses controls to keep track of what each button does in the current OperatingMode.
Once every gamepadDelay, the gamepadTimer will trigger, which _updates the gamepad and
call RoverControls.parseInputs to see what actions can be done. Each command is then sent
with MessagesModel.sendMessage, which will either send them over the network or via serial.
- Inheritance
-
- Object
- Model
- Controller
Constructors
- Controller(int index, RoverControls controls)
-
Maps button presses on gamepad to
controls.
Properties
- controls ↔ RoverControls
-
Defines what the current controls are for the current mode.
getter/setter pair
- gamepad → Gamepad
-
The gamepad to read from.
no setter
- gamepadTimer ↔ Timer
-
Reads the gamepad and controls the rover when triggered.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- index → int
-
The index of the gamepad to read from. Does not match Gamepad.controllerIndex.
final
- isConnected → bool
-
Whether this controller is ready to use.
no setter
- mode → OperatingMode
-
The current operating mode.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
connect(
) → Future< void> - Connects the gamepad to the user's device.
-
dispose(
) → void -
Discards any resources used by the object. After this is called, the
object is not in a usable state and should be discarded (calls to
addListener will throw after the object is disposed).
override
-
init(
) → Future< void> -
Initializes any data needed by this model.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
otherControllerIs(
OperatingMode mode) → bool - Returns Whether another controller is set to the given mode.
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
setMode(
OperatingMode? mode) → void - Changes the current mode this gamepad is controlling, and chooses a new RoverControls.
-
setModeIndex(
int index) → void -
Same as setMode, but uses
OperatingMode.indexinstead. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited