# Package com.qualcomm.robotcore.hardware

RobotCore hardware library.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AccelerationSensor | Acceleration Sensor
  AnalogInputController | Interface for working with Analog Controllers
  AnalogOutputController | Interface for working with Analog Controllers
  AnalogSensor | Instances of this interface are sensors whose input is reported as a voltage level to an analog to digital converter.
  Blinker | `Blinker` provides the means to control an LED or a light that can be illuminated in a sequenced pattern of colors and durations.
  ColorSensor | Color Sensor
  CompassSensor | Compass Sensor
  CRServo | CRServo is the central interface supported by continuous rotation servos
  DcMotor | DcMotor interface provides access to full-featured motor functionality.
  DcMotorController | Interface for working with DC Motor Controllers
  DcMotorControllerEx | DcMotorControllerEx is an optional motor controller interface supported by some hardware that provides enhanced motor functionality.
  DcMotorEx | The DcMotorEx interface provides enhanced motor functionality which is available with some hardware devices.
  DcMotorSimple | Instances of DcMotorSimple interface provide a most basic motor-like functionality
  DeviceInterfaceModule | DeviceInterfaceModule for working with various devices
  DeviceManager |
  DigitalChannel | `DigitalChannel` is an interface by which digital channels can be controlled.
  DigitalChannelController | Interface for working with Digital Channel Controllers
  DistanceSensor | The `DistanceSensor` may be found on hardware sensors which measure distance by one means or another.
  Engagable | The engageable interface can be used to temporarily disengage higher-level hardware objects from the services they manipulate, then later be able to re-engage them.
  Gamepad.GamepadCallback | Optional callback interface for monitoring changes due to MotionEvents and KeyEvents.
  Gyroscope | The `Gyroscope` interface exposes core, fundamental functionality that is applicable to all gyroscopes: that of reporting angular rotation rate.
  GyroSensor | Gyro Sensor
  HardwareDevice | Interface used by Hardware Devices
  HardwareDeviceCloseOnTearDown | Instances of `HardwareDeviceCloseOnTearDown` are those which should be automatically closed when we we 'teardown' a robot
  HardwareDeviceHealth | `HardwareDeviceHealth` provides an indication of the perceived health of a hardware device
  I2cAddrConfig | `I2cAddrConfig` allows the runtime I2C address used with a sensor to be changed or queried.
  I2cAddressableDevice | `I2cAddressableDevice` provides a means by which the address of a device living on an I2C bus can be retrieved.
  I2cController | Interface for working with Digital Channel Controllers
  I2cController.I2cPortReadyBeginEndNotifications | A callback interface through which a client can learn when portIsReady callbacks begin and then later end.
  I2cController.I2cPortReadyCallback | Callback interface for I2C port ready notifications
  I2cControllerPortDevice | The I2cControllerPortDevice interface should be supported by hardware devices which occupy a port on an I2cController.
  I2cDevice | The `I2cDevice` interface abstracts the engine used to interact on with a specific I2c device on a port of an `I2cController`.
  I2cDeviceSynch | `I2cDeviceSynch` is an interface that exposes functionality for interacting with I2c devices.
  I2cDeviceSynchReadHistory | `I2cDeviceSynchReadHistory` provides a means by which one can be guaranteed to be informed of all data read by through an `I2cDeviceSynch`.
  I2cDeviceSynchSimple | I2cDeviceSyncSimple is an interface that provides simple synchronous read and write functionality to an I2c device.
  IntegratingGyroscope | For gyroscopes which perform angular rotation rate integration inside the sensor, `IntegratingGyroscope` provides a means by which the integrated rotation can be easily retrieved.
  IrSeekerSensor | IR Seeker Sensor
  LegacyModule | Legacy Module for working with NXT devices.
  LegacyModulePortDevice | The LegacyModulePortDevice interface should be supported by hardware devices which occupy a port on a LegacyModule.
  Light | `Light` instances are sources of illumination.
  LightSensor | Light Sensor
  NormalizedColorSensor | `NormalizedColorSensor` returns color sensor data in standardized units, which provides a measure of absolute color color intensity beyond the relative intensities available using `ColorSensor`.
  OpticalDistanceSensor | `OpticalDistanceSensor` is a `LightSensor` whose reported light intensities reflect (pun intended) a relationship to distance.
  OrientationSensor | `OrientationSensor` provides access to sensors which measure absolute orientation
  PwmControl | For hardware devices which are manipulated using a pulse width modulation (PWM) signal, the `PwmControl` interface provides control of the width of pulses used and whether the PWM is enabled or disabled.
  PWMOutput | Created by bob on 2016-03-12.
  PWMOutputController | Interface for working with PWM Input Controllers
  PWMOutputControllerEx | Created by bob on 2016-03-12.
  PWMOutputEx | Created by bob on 2016-03-12.
  RobotConfigNameable | `RobotConfigNameable` provides access to the name by which a device has been configured within a robot configuration
  RobotCoreLynxModule | `RobotCoreLynxModule` is the view of a Lynx Module available at the RobotCore layer.
  RobotCoreLynxUsbDevice | RobotCoreLynxUsbDevice is the subset of the functionality of the LynxUsbDevice which is accessible from the RobotCore subsystem.
  Servo | Instances of Servo interface provide access to servo hardware devices.
  ServoController | Interface for working with Servo Controllers
  ServoControllerEx | ServoControllerEx is an optional servo controller interface supported by some hardware that provides enhanced servo functionality.
  SwitchableLight | `SwitchableLight` instances are `Light`s whose on/off status can be programmatically manipulated.
  TouchSensor | `TouchSensor` models a button.
  TouchSensorMultiplexer | NXT Touch Sensor Multiplexer.
  UltrasonicSensor |
  VisuallyIdentifiableHardwareDevice |
  VoltageSensor | Voltage Sensor

- Class Summary
  Class | Description
  --- | ---
  AnalogInput | Control a single analog device
  AnalogOutput | Control a single analog device
  Blinker.Step | `Blinker.Step` represents a particular color held for a particular length of time.
  CRServoImpl | ContinuousRotationServoImpl provides an implementation of continuous rotation servo functionality.
  CRServoImplEx | CRServoEx provides access to extended functionality on continuous rotation servos.
  DcMotorImpl | Control a DC Motor attached to a DC Motor Controller
  DcMotorImplEx | `DcMotorImplEx` is a motor that supports the `DcMotorEx` interface in addition to simply `DcMotor`.
  DigitalChannelImpl | Control a single digital channel
  Gamepad | Monitor a hardware gamepad.
  HardwareDeviceHealthImpl | `HardwareDeviceHealthImpl` provides a delegatable-to implemenatation of HardwareDeviceHealth
  HardwareMap | HardwareMap provides a means of retrieving runtime HardwareDevice instances according to the names with which the corresponding physical devices were associated during robot configuration.
  I2cAddr | I2cAddr represents an address on an I2C bus.
  I2cControllerPortDeviceImpl |
  I2cDeviceImpl | Control a single I2C Device
  I2cDeviceReader | Monitor an I2C Device and read in the most current values
  I2cDeviceSynch.HeartbeatAction | Instances of HeartBeatAction indicate what action to carry out to perform a heartbeat should that become necessary.
  I2cDeviceSynch.ReadWindow | RegWindow is a utility class for managing the window of I2C register bytes that are read from our I2C device on every hardware cycle
  I2cDeviceSynchDevice<DEVICE_CLIENT extends I2cDeviceSynchSimple> | `I2cDeviceSynchDevice` instances are I2c devices which are built on top of I2cDeviceSynchSimple instances or subclasses thereof.
  I2cDeviceSynchDeviceWithParameters<DEVICE_CLIENT extends I2cDeviceSynchSimple,PARAMETERS> | `I2cDeviceSynchDeviceWithParameters` adds to `I2cDeviceSynchDevice` support for sensors that can be publicly initialized with parameter block of a particular type.
  I2cDeviceSynchImpl | `I2cDeviceSynchImpl` is a utility class that makes it easy to read or write data to an instance of `I2cDevice`.
  I2cDeviceSynchImplOnSimple | I2cDeviceSynchImplOnSimple takes an I2cDeviceSynchSimple and adds to it heartbeat and readwindow functionality.
  I2cDeviceSynchReadHistoryImpl | `I2cDeviceSynchReadHistoryImpl` is a helper class providing an implementation of the I2c read history queue
  IrSeekerSensor.IrSeekerIndividualSensor | IR Sensor attached to an IR Seeker
  LED |
  LegacyModulePortDeviceImpl |
  LightBlinker | A `LightBlinker` is a handy utility that will flash a `SwitchableLight` in a pattern of timed durations, and, optionally, colors, if the light supports same (NYI)
  LightMultiplexor | A `LightMultiplexor` adapts a second `SwitchableLight` by adding reference counting to `SwitchableLight.enableLight(boolean)`: the light will be lit if the net number of enables is greater than zero.
  LynxModuleMeta | `LynxModuleMeta` has simple lynx module meta information for transmission from RC to DS
  LynxModuleMetaList | `LynxModuleMetaList` is a container of `RobotCoreLynxModule`s.
  NormalizedRGBA | `NormalizedRGBA` instances represent a set of normalized color values.
  PIDCoefficients | `PIDCoefficients` conveys a set of configuration parameters for a PID algorithm.
  PIDFCoefficients | `PIDFCoefficients` conveys a set of configuration parameters for a PIDF algorithm, a PID algorithm which includes an additional feed-forward term.
  PwmControl.PwmRange | PwmRange instances are used to specify the upper and lower pulse widths and overall framing rate for a servo.
  PWMOutputImpl | Control a single digital port
  PWMOutputImplEx | Created by bob on 2016-03-12.
  ScannedDevices | `ScannedDevices` is a simple distinguished kind of map of serial numbers to device types.
  ScannedDevices.MapAdapter | There *has* to be an easier way here, somehow.
  ServoImpl | ServoImpl provides an implementation of the Servo interface that operates on top of an instance of the ServoController interface.
  ServoImplEx | ServoImplEx provides access to extended functionality on servos.
  TimestampedData | TimestampedData pairs together data which has been read with the timestamp at which the read occurred, as best that can be determined
  TimestampedI2cData | `TimestampedI2cData` extends `TimestampedData` so as to provide an indication of the I2c source from which the data was retrieved.

- Enum Summary
  Enum | Description
  --- | ---
  CompassSensor.CompassMode |
  ControlSystem | Used to specify what type of control system a particular piece of hardware is connected to
  DcMotor.RunMode | The run mode of a motor `DcMotor.RunMode` controls how the motor interprets the it's parameter settings passed through power- and encoder-related methods.
  DcMotor.ZeroPowerBehavior | ZeroPowerBehavior provides an indication as to a motor's behavior when a power level of zero is applied.
  DcMotorSimple.Direction | DcMotors can be configured to internally reverse the values to which, e.g., their motor power is set.
  DeviceManager.UsbDeviceType | Enum of known USB Device Types
  DigitalChannel.Mode | Digital channel mode - input or output
  DigitalChannelController.Mode | Deprecated use `DigitalChannel.Mode` instead
  HardwareDevice.Manufacturer |
  HardwareDeviceHealth.HealthStatus |
  I2cDeviceSynch.ReadMode | `I2cDeviceSynch.ReadMode` controls whether when asked to read we read only once or read multiple times.
  I2cDeviceSynchImpl.CONTROLLER_PORT_MODE |
  I2cDeviceSynchImpl.READ_CACHE_STATUS |
  I2cDeviceSynchImpl.WRITE_CACHE_STATUS |
  I2cWaitControl | Values in `I2cWaitControl` control the semantics of waiting on I2c writes
  IrSeekerSensor.Mode | Enumeration of device modes
  MotorControlAlgorithm | indicates the control algorithm variant to use with `DcMotor.RunMode.RUN_TO_POSITION` and `DcMotor.RunMode.RUN_USING_ENCODER`.
  Servo.Direction | Servos can be configured to internally reverse the values to which their positioning power is set.
  ServoController.PwmStatus | PWM Status - is pwm enabled?

## Package com.qualcomm.robotcore.hardware Description

RobotCore hardware library.

Contains libraries for working with gamepads, DC motor controllers, servo controllers, and more.