Merge r511-519 from trunk.

This commit is contained in:
Romain Tartiere 2010-08-11 16:59:09 +00:00
commit b289784359
8 changed files with 125 additions and 15 deletions

View file

@ -2,6 +2,7 @@
* Public platform independent Near Field Communication (NFC) library
*
* Copyright (C) 2009, Roel Verdult
* Copyright (C) 2010, Romain Tartière, Romuald Conty
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by the
@ -220,16 +221,17 @@ void pn53x_usb_disconnect(nfc_device_t* pnd)
int ret;
if((ret = usb_release_interface(pus->pudh,0)) < 0) {
DBG("usb_release failed %i",ret);
ERR("usb_release_interface failed (%i)",ret);
}
if((ret = usb_close(pus->pudh)) < 0) {
DBG("usb_close failed %i",ret);
ERR("usb_close failed (%i)",ret);
}
DBG("%s","resetting USB");
usb_reset(pus->pudh);
/*
if((ret = usb_reset(pus->pudh)) < 0) {
ERR("usb_reset failed (%i, if errno: %s)",ret, strerror(-ret));
}
*/
free(pnd->nds);
free(pnd);
}

View file

@ -233,12 +233,14 @@ nfc_device_t* nfc_connect(nfc_device_desc_t* pndd)
*/
void nfc_disconnect(nfc_device_t* pnd)
{
// Release and deselect all active communications
nfc_initiator_deselect_target(pnd);
// Disable RF field to avoid heating
nfc_configure(pnd,NDO_ACTIVATE_FIELD,false);
// Disconnect, clean up and release the device
pnd->pdc->disconnect(pnd);
if(pnd) {
// Release and deselect all active communications
nfc_initiator_deselect_target(pnd);
// Disable RF field to avoid heating
nfc_configure(pnd,NDO_ACTIVATE_FIELD,false);
// Disconnect, clean up and release the device
pnd->pdc->disconnect(pnd);
}
}
/**