@Override public void notify(long epochTime, long nanoTime, char value) { valueChanged(new DigitalInputEvent(gpio, epochTime, nanoTime, value == HIGH_VALUE)); } }
@Override public String toString() { return "DigitalInputEvent [gpio=" + getGpio() + ", epochTime=" + getEpochTime() + ", nanoTime=" + getNanoTime() + ", value=" + value + "]"; } }
if (event.getValue() && state == State.WAITING_FOR_ECHO_ON) { state = State.WAITING_FOR_ECHO_OFF; echoOnTimeNs = event.getNanoTime(); } else if (! event.getValue() && state == State.WAITING_FOR_ECHO_OFF) { state = State.FINISHED; echoOffTimeNs = event.getNanoTime(); lock.lock(); try {
@Override public void valueChanged(DigitalInputEvent event) { event.setActiveHigh(activeHigh); if (event.isActive()) { synchronized (queue) { queue.add(Long.valueOf(event.getEpochTime())); } } }
Logger.debug("valueChanged({})", event); if (! event.getValue()) { Logger.info("valueChanged(): value was false - ignoring"); return; if (interrupt_gpio != null && event.getGpio() == interrupt_gpio.getGpio()) { process_event = true; break; Logger.error("Unexpected interrupt event on gpio {}", Integer.valueOf(event.getGpio())); return; intcap[1] = readByte(getIntCapReg(1)); } else if (interruptMode != InterruptMode.DISABLED) { if (interruptGpios[0] != null && event.getGpio() == interruptGpios[0].getGpio()) { intf[0] = readByte(getIntFReg(0)); intcap[0] = readByte(getIntCapReg(0)); int gpio = bit + port*8; boolean value = BitManipulation.isBitSet(intcap[port], bit); DigitalInputEvent e = new DigitalInputEvent(gpio, event.getEpochTime(), event.getNanoTime(), value);
public static DiozeroProtos.Gpio.Notification convert(DigitalInputEvent event) { return DiozeroProtos.Gpio.Notification.newBuilder().setGpio(event.getGpio()).setEpochTime(event.getEpochTime()) .setValue(event.getValue()).build(); }
@Override public void valueChanged(DigitalInputEvent event) { Event e = event.getValue() ? highEvent : lowEvent; e.set(); // Notify any listeners super.valueChanged(event); }
@Override public void notify(long epochTime, long nanoTime, char value) { valueChanged(new DigitalInputEvent(gpio, epochTime, nanoTime, value == HIGH_VALUE)); } }
@Override public void run() { long nano_time = System.nanoTime(); now = System.currentTimeMillis(); synchronized (queue) { // Purge any old events queue.removeIf(removePredicate); // Check if the number of events exceeds the threshold if (queue.size() > threshold) { if (! active) { SmoothedInputDevice.super.valueChanged(new DigitalInputEvent(gpio, now, nano_time, activeHigh)); active = true; } // If an event is fired clear the queue of all events queue.clear(); } else if (active) { SmoothedInputDevice.super.valueChanged(new DigitalInputEvent(gpio, now, nano_time, !activeHigh)); active = false; } } } }
@Override public void callback(int pin, boolean value, long epochTime, long nanoTime) { if (pin != gpio) { Logger.error("Error, got a callback for the wrong pin ({}), was expecting {}", Integer.valueOf(pin), Integer.valueOf(gpio)); } valueChanged(new DigitalInputEvent(pin, epochTime, nanoTime, value)); } }
@Override public void callback(int pin, boolean value, long epochTime, long nanoTime) { if (pin != gpio) { Logger.error("Error, got a callback for the wrong pin ({}), was expecting {}", Integer.valueOf(pin), Integer.valueOf(gpio)); } valueChanged(new DigitalInputEvent(pin, epochTime, nanoTime, value)); } }
@Override public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) { long nano_time = System.nanoTime(); valueChanged(new DigitalInputEvent(gpio, System.currentTimeMillis(), nano_time, event.getState().isHigh())); }
@Override public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) { long nano_time = System.nanoTime(); valueChanged(new DigitalInputEvent(gpio, System.currentTimeMillis(), nano_time, event.getState().isHigh())); }
@Override public void callback(int pin) { long nano_time = System.nanoTime(); try { // Really don't like that the callback doesn't include the value, never mind the timestamps valueChanged(new DigitalInputEvent(pin, System.currentTimeMillis(), nano_time, getValue())); } catch (RuntimeIOException e) { Logger.error(e, "Error invoking getValue(): {}", e); } } }
@Override public void onValueChange(IOEvent event) { valueChanged(new DigitalInputEvent(pin.getIndex(), event.getTimestamp(), System.nanoTime(), event.getValue() != 0)); } }
@Override public void onValueChange(IOEvent event) { valueChanged(new DigitalInputEvent(pin.getIndex(), event.getTimestamp(), System.nanoTime(), event.getValue() != 0)); } }
public static DigitalInputEvent convert(DiozeroProtos.Gpio.Notification notification) { return new DigitalInputEvent(notification.getGpio(), notification.getEpochTime(), -1, notification.getValue()); }
input_device.valueChanged(new DigitalInputEvent(gpio, epoch_time, 0, (msg.lsb & (1 << i)) != 0));