 }
 
 static byte inChar () {
-    uint8_t d;
+    byte d;
     if (! _receive_buffer_index)
         return -1;
     d = _receive_buffer; // grab first and only byte

        Serial.print(value);
}

static uint16_t calcCrc (const void* ptr, uint8_t len) {
    uint16_t crc = ~0;
    for (byte i = 0; i < len; ++i)
        crc = _crc16_update(crc, ((const byte*) ptr)[i]);
    return crc;

#define _receivePin 8
static int _bitDelay;
static char _receive_buffer;
static byte _receive_buffer_index;

ISR (PCINT0_vect) {
    char i, d = 0;
