
void command(int8_t cmd, int8_t dat5, int8_t dat6)
{
//  delay(20);
 
  cmdbuf[0] = 0x7e; // bajt startu
  cmdbuf[1] = 0xFF; // wersja
  cmdbuf[2] = 0x06; // liczba bajtow polecenia
  cmdbuf[3] = cmd;  // polecenie
  cmdbuf[4] = 0x00; // 0x00 = no feedback, 0x01 = feedback
  cmdbuf[5] = dat5; // parametr DAT1
  cmdbuf[6] = dat6; // parametr DAT2
  cmdbuf[7] = 0xef; // bajt konczacy
 
  Serial.print("cmd:");
  
  for (uint8_t i = 0; i < 8; i++)
  {
    mp3.write(cmdbuf[i]);
    delay(5);
    byte2hex(cmdbuf[i]);
  }
  Serial.println();
}

void byte2hex(uint8_t b)
{
Serial.print("0x");
  if (b < 16) Serial.print("0");
Serial.print(b, HEX);
Serial.print(" ");
}
 
boolean answer(void)
{
  uint8_t i;
  uint8_t b = 0;
  Serial.print("asn:");
  while(mp3.available() && (b!=0x7E))
  {
    b = mp3.read();
    delay(5);
  }
  ansbuf[0] = b;
  byte2hex(b);
  i = 1;
  while(mp3.available() && (i < 10))
  {
    b = mp3.read();
    ansbuf[i] = b;
    i++;
    byte2hex(b);
    delay(5);
  }
  Serial.println();

  if ((ansbuf[0] == 0x7E) && (ansbuf[9] == 0xEF))
  {
    return true;
  }
  
  return false;
}
