Skip to content

Digital Sensors

NextDigitalSensor is a lightweight wrapper around a DigitalChannel for reading digital sensors like limit switches, magnetic switches, and beam breaks.

Most digital sensors are active low, meaning they read false when triggered (switch pressed, magnet present, beam broken) and true when idle. This wrapper handles that inversion for you, so isTriggered always means what you’d expect.

// By Lynx Module and port, recommended
val beamBreak = NextDigitalSensor(RobotController.controlHub, 0)
// Using your configuration name
val beamBreak = NextDigitalSensor("beamBreak")

Both constructors accept an optional inverted parameter:

Parameter Type Default Description
inverted Boolean true If true, isTriggered returns the opposite of the raw sensor state.

Boolean, this is true if the sensor is currently triggered, while accounting for inverted.

if (beamBreak.isTriggered) {
//...
}

Boolean, the raw state of the digital channel).

val raw = beamBreak.rawState

Returns a string of the sensor’s current state, useful for telemetry or logging.

telemetry.addLine(beamBreak.debug())