# API.Motor

Package org.firstinspires.ftc.teamcode

## Enum API.Motor

- java.lang.Object
- - java.lang.Enum<API.Motor>
  - - org.firstinspires.ftc.teamcode.API.Motor

All Implemented Interfaces:
  `java.io.Serializable`, `java.lang.Comparable<API.Motor>`

Enclosing class:
  API

    public static enum API.Motor
    extends java.lang.Enum<API.Motor>

### Enum Constant Summary

Enum Constants
`M0`
`M1`
`M2`
`M3`
`M4`
`M5`
`M6`
`M7`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `resetEncoder()` Resets the encoder
`void` `setBehaviour​(API.MotorBehaviour behaviour)` Set the zero-power behaviour of the motor.
`void` `setDirection​(API.Direction direction)` Sets the direction the motor should move in, without starting the motor
`void` `setDirection​(API.Direction direction, boolean immediate)`
`void` `setPower​(double power)` Sets the power without starting the motor
`void` `start()` Starts the motor
`void` `start​(double power)` Starts the motor with the specified power
`void` `stop()` Stops the motor and sets the power to 0
`static API.Motor` `valueOf​(java.lang.String name)` Returns the enum constant of this type with the specified name.
`static API.Motor[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

### Methods inherited from class java.lang.Enum

`compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Enum Constant Detail

#### M0

    public static final API.Motor M0

#### M1

    public static final API.Motor M1

#### M2

    public static final API.Motor M2

#### M3

    public static final API.Motor M3

#### M4

    public static final API.Motor M4

#### M5

    public static final API.Motor M5

#### M6

    public static final API.Motor M6

#### M7

    public static final API.Motor M7

### Method Detail

#### values

    public static API.Motor[] values()

Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

    for (API.Motor c : API.Motor.values())
        System.out.println(c);

Returns:
  an array containing the constants of this enum type, in the order they are declared

#### valueOf

    public static API.Motor valueOf​(java.lang.String name)

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
  `java.lang.NullPointerException` - if the argument is null

#### start

    public void start()

Starts the motor

#### start

    public void start​(double power)

Starts the motor with the specified power

Parameters:
  `power` - the power to use for the motor

#### stop

    public void stop()

Stops the motor and sets the power to 0

#### setPower

    public void setPower​(double power)

Sets the power without starting the motor

Parameters:
  `power` - the power to use for the motor

#### setDirection

    public void setDirection​(API.Direction direction)

Sets the direction the motor should move in, without starting the motor

Parameters:
  `direction` - the direction to use for the motor

#### setDirection

    public void setDirection​(API.Direction direction,
                             boolean immediate)

#### resetEncoder

    public void resetEncoder()

Resets the encoder

#### setBehaviour

    public void setBehaviour​(API.MotorBehaviour behaviour)

Set the zero-power behaviour of the motor. BRAKE means to immediately apply brakes when power is 0, and FLOAT means to come to a rolling stop.

Parameters:
  `behaviour` - The behaviour to use