 #define CHAR_DELAY 150
 
 QueueArray<int> q; // holds the bytes we will send to the bus
-int pinChangeCount = 0; // how many times the bus has changed.
-                        // Used to determine if we've received
-                        // a response of zero on the bus
-bool nextCharOkay = true; // flag indicating okay to send a follow-on byte
 
 int asciiTrans[128] = 
 //col: 0     1     2     3     4     5     6     7     8     9     a     b     c     d     e     f     row:

    // make sure we aren't still pulling down
    PORTD &= 0b11111011;

    delayMicroseconds(6 ); // wait for pin to go high before we re-enable interrupts
    // re-enable interrupts
    interrupts();

}

void send_letter(int letter) {
    while (!nextCharOkay) {
      // busy
    }
    q.enqueue(0b100100001);
    q.enqueue(0b000001011);
    q.enqueue(0b100100001);
    q.enqueue(0b000000011);
    q.enqueue(letter);
    q.enqueue(0b000001010);
    pinChangeCount = 1; // pretend we've seen a change on the bus
    nextCharOkay = false;
    pinChanged();

    //delay(LETTER_DELAY); // before next character
}

//     p     q     r     s     t     u     v     w     x     y     z     {     |     }     ~    DEL
     0x5c, 0x52, 0x03, 0x06, 0x5e, 0x5b, 0x53, 0x55, 0x51, 0x58, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00}; // 7
     
void setup() 
{
  // initialize serial communication at 57600 bits per second:
  Serial.begin(57600);
