 int digi[DIG];
 
 int16_t wave[256];
-
-#define CLIP(i, lo, hi) ((i < lo) ? lo : ((i > hi) ? hi : i))
-#define HEXTRI(i) (i + ((i < 10) ? '0' : '7'))
-#define DEHEXT(i) (i - ((i > '9') ? '7' : '0'))
 
 struct Dura {
   int s;

    p->n = parse_time(buf + i); i += 7;
    p->p = parse_time(buf + i); i += 7;
    if (ch->pin != 255) p->q = parse_time(buf + i);
    else { p->q.u = six_out(buf + i); p->q.s = 0; }
    i += 7;
    byte c = buf[i++];
    if (c == ';') p->i = 0; else if (c == 'i') p->i = 255; else die_with_message("bad invert");

  sei();
}

Dura blinking;              // Countdown timer for blinking
volatile bool blink_is_on;  // State reflecting whether blink is on or off


/***************************************************
** Initialization code -- run once only at start! **
***************************************************/

void read_my_eeprom() {
  // Make sure the EEPROM corresponds to the expected device
