Major change of motor state handling to increase reliability, clear responsibility of handling state, and readability of the code.
Major change of motor state handling to increase reliability, clear responsibility of handling state, and readability of the code.

BoostMotor now has a status getter/setter that replaces isOn() and is responsible for clearing various motor state parameters.

A new BoostMotorState-enum contains the possible states a motor can be in.

Since time-based motor commands really just trigger a BoostMotor.turnOn(), it's the opcodes that are responsible for setting the motor state.

LLK/scratch-vm,LLK/scratch-vm,LLK/scratch-vm