NDEF is not fully supported in the current libraries, and the existing NDEF code is really only a very basic example.
We have been discussing the idea of developping this code further, but developing a complete NDEF stack with message formatting, clearing, and formatting sectors, properly adjusting the MAD sector on the Mifare cards, reformatting cards, etc., is unfortunately a couple hundred hours of work to do and test properly.
The only well supported functionality is currently reading and writing to cards in classic Mifare format (not NDEF which is a much more complicated stack that sits on top of the Mifare Classic cards), which is basically similar to EEPROM.
You CAN however download an Android app called NXP TagWriter (I believe ... just search for NXP), which is capable of formatting cards, and doing some manipulation of the data I believe.
There is currently not fixed deadline for when we will be able to extended the NDEF code further, since we're still trying to find the best way to approach this with a sensible amount of development effort.
PS: You can still modify this sector as normal, but you will need to use different authentication keys. See the example code here showing the two types of authentication keys, one for NDEF and one for Mifare Classic in non-NDEF format. You can modify the sector contents by using the NDEF keys for the NDEF sector with Adafruit.com, or continue using all of the other sectors (2..15) with the Mifare Classic keys. This is why the warning is mentionned in the example, though
- Code: Select all
// TODO: !!! IMPORTANT !!!
// Set this field depending on if this is an NDEF formatted card.
// For a non-NDEF card (for example an unformatted Mifare Classic card),
// set this to 0.
// NDEF formatted cards use specific keys for authentication, and the
// authentication requests will fail if you use the default Mifare keys
// (0xFF 0xFF 0xFF 0xFF 0xFF 0xFF for both key a and key B).
// Note that you will no longer be able to authenticate non-NDEF blocks
// when using NDEF keys since they will not match what is being provided.
// Also, because key a changes in block 0 (the MAD Sector for NDEF
// records), NDEF formatted cards will no longer work in normal
// Mifare mode. Cards should be treated as NDEF or not, and it's best
// not to mix them because key managed becomes complicated.
// Possible values:
// READ_AS_NDEF = 0 No NDEF Sectors ... use default Mifare Classic keys
// READ_AS_NDEF = 1 NDEF Formatted Card ... use NDEF keys (only NDEF blocks will authenticate!)
// For more information see: