Merge r470-477 from trunk.

This commit is contained in:
Romain Tartiere 2010-07-29 10:59:52 +00:00
commit 30e715cff0
3 changed files with 42 additions and 11 deletions

View file

@ -286,14 +286,21 @@ bool pn532_uart_transceive(const nfc_device_spec_t nds, const byte_t* pbtTx, con
void
pn532_uart_wakeup(const nfc_device_spec_t nds)
{
byte_t abtRx[BUFFER_LENGTH];
size_t szRxLen;
/** PN532C106 wakeup. */
/** High Speed Unit (HSU) wake up consist to send 0x55 and wait a "long" delay for PN532 being wakeup. */
const byte_t pncmd_pn532c106_wakeup_preamble[] = { 0x55,0x55,0x00,0x00,0x00 };
/** After the preamble we request the PN532C106 chip to switch to "normal" mode (SAM is not used) */
const byte_t pncmd_pn532c106_wakeup_preamble[] = { 0x55,0x55,0x00,0x00,0x00,0x00,0x00,0xff,0x03,0xfd,0xd4,0x14,0x01,0x17,0x00,0x00,0xff,0x03,0xfd,0xd4,0x14,0x01,0x17,0x00 };
#ifdef DEBUG
PRINT_HEX("TX", pncmd_pn532c106_wakeup_preamble,sizeof(pncmd_pn532c106_wakeup_preamble));
#endif
uart_send((serial_port)nds, pncmd_pn532c106_wakeup_preamble, sizeof(pncmd_pn532c106_wakeup_preamble));
if(uart_receive((serial_port)nds,abtRx,&szRxLen)) {
#ifdef DEBUG
PRINT_HEX("RX", abtRx,szRxLen);
#endif
}
}
bool

View file

@ -232,9 +232,9 @@ void pn53x_usb_disconnect(nfc_device_t* pnd)
if((ret = usb_release_interface(pus->pudh,0)) < 0)
DBG("usb_release failed %i",ret);
DBG("%s","resetting USB");
usb_reset(pus->pudh);
if((ret = usb_close(pus->pudh)) < 0)
DBG("usb_close failed %i",ret);
usb_reset(pus->pudh);
free(pnd->nds);
free(pnd);
DBG("%s","done!");