void onInterrupt(UsartEventType uet) {

      if(uet==UsartEventType::EVENT_RECEIVE) {

        // receive the next character

        _buffer[_index++]=_usart.receive();

        // if we've got the 5 characters then disable receiving interrupts
        // and enable sending

        if(_index==5) {
          _index=0;
          _usart.disableInterrupts(MyUsartInterrupt::RECEIVE);
          _usart.enableInterrupts(MyUsartInterrupt::TRANSMIT);
        }
      }
      else if(uet==UsartEventType::EVENT_READY_TO_TRANSMIT) {

        // send the next character

        _usart.send(_buffer[_index++]);

        // if we've sent back all 5 then disable sending interrupts and go back
        // to receiving again

        if(_index==5) {
          _index=0;
          _usart.disableInterrupts(MyUsartInterrupt::TRANSMIT);
          _usart.enableInterrupts(MyUsartInterrupt::RECEIVE);
        }
      }
    }