acr122_usb.c:237:3: warning: Function call argument is an uninitialized value
LOG_HEX(NFC_LOG_GROUP_COM, "TX", abtTx, szTx);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../libnfc/log.h:107:7: note: expanded from macro 'LOG_HEX'
snprintf (__acBuf + __szBuf, sizeof(__acBuf) - __szBuf, "%02x ",((uint8_t *)(pbtData))[__szPos]); \
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Maybe a side effect of the #pragma pack not properly understood by the static analyser
but anyway acr122_usb_frame_template is also used the same way to initialize the other frames
acr122s.c:196:23: warning: The left operand of '<<' is a garbage value
size_t frame_size = FRAME_SIZE(frame);
^ ~~~~~~
acr122s.c:76:24: note: expanded from macro 'FRAME_SIZE'
^
acr122s.c:74:47: note: expanded from macro 'APDU_SIZE'
acr122s.c:331:3: warning: Null pointer passed as an argument to a 'nonnull' parameter
memcpy(buf, data, data_size);
^ ~~~~
pn53x.c:3138:3: warning: Null pointer passed as an argument to a 'nonnull' parameter
memcpy(CHIP_DATA(pnd)->current_target, pnt, sizeof(nfc_target));
^ ~~~
pn53x.c:85:57: warning: Result of 'malloc' is converted to a pointer of type 'nfc_modulation_type', which is incompatible with sizeof operand type 'nfc_modulation'
CHIP_DATA(pnd)->supported_modulation_as_initiator = malloc(sizeof(nfc_modulation) * 9);
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
ACR122U:
Through PCSC we couldn't send APDUs to the reader if there was no card
but now that we communicate directly with the reader, we can send APDUs
even if there is no card, so we don't need the Escape mechanism anymore
Test if SW1 is 0x61 (means more bytes have to be read) before using SW2 as length.
Update issue 251
The driver now check that Status Word (SW1) is equals to 0x61 (more data available) before using SW2 as length.
If SW is not as expected, it show SW1 and SW2.
- Stepped away from NSIS, to just be a plain zip file
- Fixed a bug (though when trying NSIS) of dealing with slashes in windows paths
- Had package add .lib file instead of .dll.a file, since lib files tend to be more useful for Windows developers
libnfc/buses/Makefile.am:16: warning: EXTRA_DIST multiply defined in
condition TRUE ...
libnfc/buses/Makefile.am:9: ... 'EXTRA_DIST' previously defined here
* pn532_spi:
SPI: remove dead code
SPI: add 1ms sleep in wakeup()
SPI: update NEWS & Changelog
Add connstring example for SPI on RPi
Add PN532 SPI driver to CMake
spi: fix doc typos
spi: remove spi_posix.c, exotic platform implementations will have to be done in their respective contrib subdir
Only include SPI related files when (at least) one SPI driver is enabled
pn532_spi: missing malloc() checks, spi_close(), nfc_device_close() on some error handling branches
pn532_spi: fix missing free(ndd.port)
pn532_spi: fix double free() of spi port info
Add pn532_spi author to AUTHORS
Unify copyright notices
pn532_spi: use new connstring_decode()
Fix cppcheck warning "Non reentrant function 'readdir' called"
Fix cppcheck warning "scanf without field width limits can crash with huge input data"
Fix cppcheck warning "Obsolete function 'usleep' called"
spi driver: remove compilation warnings
make style
Adding a SPI driver for pn532
Without this delay I had troubles with a Raspberry-Pi:
With debug enabled I could go as high as 7.8MHz but without debug I had to go lower than 500kHz otherwise I got following error:
errorlibnfc.driver.pn532_spiUnable to wait for SPI data. (RX)
pn53x_check_communication: Timeout
It could work occassionally faster but very unreliable.
So the delay introduced by printf() was enough to "fix" the problem, therefore this little extra sleep() in wakeup().
* master:
CMake: enable same set of default drivers as for autotools
pn532_uart: Unify copyright notices & update authors lists (somehow this file was forgotten)