   led_state = !led_state;
 }
 
-void irq_screen(void) {
-  screen.t = time_us;
-  screen.value = digitalRead(PD_SCREEN_PIN);
-  screen.count++;
-  // digitalWrite(LED_PIN_YELLOW, screen.value);
-  led_state = !led_state;
-}
-
 void send_trigger(struct trigger t) {
   char s[256];
   sprintf(s, "G %c %ld %d %d", t.tag, t.t, t.value, t.count);

  pinMode(G_PIN, INPUT);

  attachInterrupt(PD_LASER_PIN, irq_laser, CHANGE);
  attachInterrupt(PD_SCREEN_PIN, irq_screen, CHANGE);

  // Turn on the red LED, will be turned off once time is synced
  led_state = HIGH;

    }
  }

  // Probe screen
  if (screen.probe) {
    int v = analogRead(PD_SCREEN_PIN);
    if ((screen.value == LOW && v > SCREEN_THRESH_HIGH) || (screen.value != LOW && v < SCREEN_THRESH_LOW)) {
      screen.t = time_us;
      screen.count++;
      led_state = !led_state;
      screen.value = !screen.value;
    }
  }

  // Send out any triggers with autosend and pending data
  for (int i = 0; i < TRIGGER_COUNT; i++) {

