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.
Creating a NextDigitalSensor
Section titled “Creating a NextDigitalSensor”// By Lynx Module and port, recommendedval beamBreak = NextDigitalSensor(RobotController.controlHub, 0)
// Using your configuration nameval beamBreak = NextDigitalSensor("beamBreak")// By Lynx Module and port, recommendedNextDigitalSensor beamBreak = new NextDigitalSensor(RobotController.controlHub(), 0);
// Using your configuration nameNextDigitalSensor beamBreak = new 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. |
isTriggered
Section titled “isTriggered”Boolean, this is true if the sensor is currently triggered, while accounting for inverted.
if (beamBreak.isTriggered) { //...}if (beamBreak.isTriggered()) { //...}rawState
Section titled “rawState”Boolean, the raw state of the digital channel).
val raw = beamBreak.rawStateboolean raw = beamBreak.getRawState();debug()
Section titled “debug()”Returns a string of the sensor’s current state, useful for telemetry or logging.
telemetry.addLine(beamBreak.debug())telemetry.addLine(beamBreak.debug());
