Merge pull request #215 from Rotzbua/master
Add note for compatible ide
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1 +1,6 @@
|
||||
MFRC522.zip
|
||||
|
||||
# ignore IDE files
|
||||
.idea
|
||||
cmake
|
||||
CMakeLists.txt
|
||||
@@ -32,7 +32,8 @@ script:
|
||||
# short the string comparison
|
||||
- stringContain() { [ -z "${2##*$1*}" ]; }
|
||||
# selectable board tests @Rotzbua
|
||||
- board="arduino_avr"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; platformio ci --lib=. --board=uno --board=megaatmega1280; else echo "skip board test of $board"; fi
|
||||
- board="arduino_arm"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; platformio ci --lib=. --board=due --board=zero; else echo "skip board test of $board"; fi
|
||||
- board="teensy"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; platformio ci --lib=. --board=teensy31; else echo "skip board test of $board"; fi
|
||||
- board="esp"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; platformio ci --lib=. --board=d1_mini; else echo "skip board test of $board"; fi
|
||||
# prints only warnings and errors, to show all remove "1>/dev/null"
|
||||
- board="arduino_avr"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; platformio ci --lib=. --board=uno --board=megaatmega1280 1>/dev/null; else echo "skip board test of $board"; fi
|
||||
- board="arduino_arm"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; platformio ci --lib=. --board=due --board=zero 1>/dev/null; else echo "skip board test of $board"; fi
|
||||
- board="teensy"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; platformio ci --lib=. --board=teensy20 --board=teensy31 1>/dev/null; else echo "skip board test of $board"; fi
|
||||
- board="esp"; if stringContain "$board" "$TESTBOARD"; then echo "check board $board"; platformio ci --lib=. --board=d1_mini 1>/dev/null; else echo "skip board test of $board"; fi
|
||||
|
||||
43
README.rst
43
README.rst
@@ -12,6 +12,46 @@ Interface (SPI) interface.
|
||||
|
||||
Set the UID, write to sector 0, and unbrick Chinese UID changeable MIFARE cards.
|
||||
|
||||
.. _development:
|
||||
Development
|
||||
----------
|
||||
**The development by owner miguelbalboa has ended**. Further development will be done by community. This library is still maintained by miguelbalboa, so make pull request if you like some new features or fixes. Support/issues should be solved by community.
|
||||
|
||||
.. _what works and not:
|
||||
What works and not?
|
||||
----------
|
||||
|
||||
* **Works**
|
||||
|
||||
#. Communication (Crypto1) with MIFARE Classic (1k, 4k, Mini).
|
||||
#. Communication (Crypto1) with MIFARE Classic compatible PICCs.
|
||||
#. Firmware self check of MFRC522.
|
||||
|
||||
* **Partial**
|
||||
|
||||
#. Communication with MIFARE Ultralight.
|
||||
|
||||
* **Works not**
|
||||
|
||||
#. MIFARE DESFire, MIFARE DESFire EV1/EV2, not supported by software.
|
||||
#. Communication with DES3 or AES, not supported by software.
|
||||
#. Peer-to-peer (ISO/IEC 18092), not `supported by hardware`_.
|
||||
#. Communication with smart phone, not `supported by hardware`_.
|
||||
#. Card emulation, not `supported by hardware`_.
|
||||
|
||||
* **Need more?**
|
||||
|
||||
#. If software: code it and make a pull request.
|
||||
#. If hardware: buy a more expensive like PN532 (supports NFC and many more, but costs about $15)
|
||||
|
||||
|
||||
.. _compatible ide:
|
||||
Compatible IDE
|
||||
----------
|
||||
This library works with Arduino IDE 1.6, older versions are **not supported** and will cause compile errors. The built-in library manager is supported.
|
||||
|
||||
If you use your own compiler, you have to enable ``c++11``-support.
|
||||
|
||||
|
||||
.. _compatible boards:
|
||||
Compatible boards
|
||||
@@ -19,6 +59,8 @@ Compatible boards
|
||||
|
||||
This library is compatible to Teensy and ESP8266, but not all examples are available for every board. Also you have to change pins, see `pin layout`_.
|
||||
|
||||
Note that the main target/support of library is still Arduino.
|
||||
|
||||
|
||||
.. _pin layout:
|
||||
Pin Layout
|
||||
@@ -202,3 +244,4 @@ It has been extended with functionality to alter sector 0 on Chinese UID changea
|
||||
.. _iso/iec 14443-3\:2011 part 3:
|
||||
.. _nxp mfrc522: http://www.nxp.com/documents/data_sheet/MFRC522.pdf
|
||||
.. _broken: http://eprint.iacr.org/2008/166
|
||||
.. _supported by hardware: https://web.archive.org/web/20151210045625/http://www.nxp.com/documents/leaflet/939775017564.pdf
|
||||
@@ -20,8 +20,8 @@
|
||||
* Signal Pin Pin Pin Pin Pin Pin
|
||||
* -----------------------------------------------------------------------------------------
|
||||
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
|
||||
* SPI SS 1 SDA(SS) 10 53 D10 10 10
|
||||
* SPI SS 2 SDA(SS) 2 53 D10 10 10
|
||||
* SPI SS 1 SDA(SS) ** custom, take a unused pin, only HIGH/LOW required **
|
||||
* SPI SS 2 SDA(SS) ** custom, take a unused pin, only HIGH/LOW required **
|
||||
* SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
|
||||
* SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
|
||||
* SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
|
||||
@@ -31,9 +31,9 @@
|
||||
#include <SPI.h>
|
||||
#include <MFRC522.h>
|
||||
|
||||
#define RST_PIN 10 // Configurable, see typical pin layout above
|
||||
#define SS_1_PIN 5 // Configurable, see typical pin layout above
|
||||
#define SS_2_PIN 3 // Configurable, see typical pin layout above
|
||||
#define RST_PIN 9 // Configurable, see typical pin layout above
|
||||
#define SS_1_PIN 10 // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 2
|
||||
#define SS_2_PIN 8 // Configurable, take a unused pin, only HIGH/LOW required, must be diffrent to SS 1
|
||||
|
||||
#define NR_OF_READERS 2
|
||||
|
||||
@@ -46,13 +46,17 @@ MFRC522 mfrc522[NR_OF_READERS]; // Create MFRC522 instance.
|
||||
*/
|
||||
void setup() {
|
||||
|
||||
Serial.begin(115200); // Initialize serial communications with the PC
|
||||
Serial.begin(9600); // Initialize serial communications with the PC
|
||||
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
|
||||
|
||||
SPI.begin(); // Init SPI bus
|
||||
|
||||
for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
|
||||
mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card
|
||||
Serial.print(F("Reader "));
|
||||
Serial.print(reader);
|
||||
Serial.print(F(": "));
|
||||
mfrc522[reader].PCD_DumpVersionToSerial();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,14 +65,14 @@ void setup() {
|
||||
*/
|
||||
void loop() {
|
||||
|
||||
for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
|
||||
for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
|
||||
// Look for new cards
|
||||
|
||||
if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {
|
||||
Serial.print(F("Reader: "));
|
||||
Serial.print(F("Reader "));
|
||||
Serial.print(reader);
|
||||
// Show some details of the PICC (that is: the tag/card)
|
||||
Serial.print(F(" Card UID:"));
|
||||
Serial.print(F(": Card UID:"));
|
||||
dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);
|
||||
Serial.println();
|
||||
Serial.print(F("PICC type: "));
|
||||
|
||||
Reference in New Issue
Block a user