This commit is contained in:
kkloesener
2020-11-03 21:51:15 +01:00
parent 11e1d469c8
commit ae8faf0387

View File

@@ -20,10 +20,11 @@
*/ */
MFRC522::MFRC522( byte chipAddress, MFRC522::MFRC522( byte chipAddress,
byte resetPowerDownPin, ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low) byte resetPowerDownPin, ///< Arduino pin connected to MFRC522's reset and power down input (Pin 6, NRSTPD, active low)
TwoWire myWire TwoWire TwoWireInstance
) { ) {
_chipAddress = chipAddress; _chipAddress = chipAddress;
_resetPowerDownPin = resetPowerDownPin; _resetPowerDownPin = resetPowerDownPin;
_myWire = TwoWireInstance;
} // End constructor } // End constructor
@@ -38,10 +39,10 @@ MFRC522::MFRC522( byte chipAddress,
void MFRC522::PCD_WriteRegister( byte reg, ///< The register to write to. One of the PCD_Register enums. void MFRC522::PCD_WriteRegister( byte reg, ///< The register to write to. One of the PCD_Register enums.
byte value ///< The value to write. byte value ///< The value to write.
) { ) {
myWire.beginTransmission(_chipAddress); _myWire.beginTransmission(_chipAddress);
myWire.write(reg); _myWire.write(reg);
myWire.write(value); _myWire.write(value);
myWire.endTransmission(); _myWire.endTransmission();
} // End PCD_WriteRegister() } // End PCD_WriteRegister()
/** /**
@@ -52,12 +53,12 @@ void MFRC522::PCD_WriteRegister( byte reg, ///< The register to write to. One o
byte count, ///< The number of bytes to write to the register byte count, ///< The number of bytes to write to the register
byte *values ///< The values to write. Byte array. byte *values ///< The values to write. Byte array.
) { ) {
myWire.beginTransmission(_chipAddress); _myWire.beginTransmission(_chipAddress);
myWire.write(reg); _myWire.write(reg);
for (byte index = 0; index < count; index++) { for (byte index = 0; index < count; index++) {
myWire.write(values[index]); _myWire.write(values[index]);
} }
myWire.endTransmission(); _myWire.endTransmission();
} // End PCD_WriteRegister() } // End PCD_WriteRegister()
/** /**
@@ -68,12 +69,12 @@ byte MFRC522::PCD_ReadRegister( byte reg ///< The register to read from. One of
) { ) {
byte value; byte value;
//digitalWrite(_chipSelectPin, LOW); // Select slave //digitalWrite(_chipSelectPin, LOW); // Select slave
myWire.beginTransmission(_chipAddress); _myWire.beginTransmission(_chipAddress);
myWire.write(reg); _myWire.write(reg);
myWire.endTransmission(); _myWire.endTransmission();
myWire.requestFrom(_chipAddress, 1); _myWire.requestFrom(_chipAddress, 1);
value = myWire.read(); value = _myWire.read();
return value; return value;
} // End PCD_ReadRegister() } // End PCD_ReadRegister()
@@ -91,11 +92,11 @@ void MFRC522::PCD_ReadRegister( byte reg, ///< The register to read from. One o
} }
byte address = reg; byte address = reg;
byte index = 0; // Index in values array. byte index = 0; // Index in values array.
myWire.beginTransmission(_chipAddress); _myWire.beginTransmission(_chipAddress);
myWire.write(address); _myWire.write(address);
myWire.endTransmission(); _myWire.endTransmission();
myWire.requestFrom(_chipAddress, count); _myWire.requestFrom(_chipAddress, count);
while (myWire.available()) { while (_myWire.available()) {
if (index == 0 && rxAlign) { // Only update bit positions rxAlign..7 in values[0] if (index == 0 && rxAlign) { // Only update bit positions rxAlign..7 in values[0]
// Create bit mask for bit positions rxAlign..7 // Create bit mask for bit positions rxAlign..7
byte mask = 0; byte mask = 0;
@@ -103,12 +104,12 @@ void MFRC522::PCD_ReadRegister( byte reg, ///< The register to read from. One o
mask |= (1 << i); mask |= (1 << i);
} }
// Read value and tell that we want to read the same address again. // Read value and tell that we want to read the same address again.
byte value = myWire.read(); byte value = _myWire.read();
// Apply mask to both current value of values[0] and the new data in value. // Apply mask to both current value of values[0] and the new data in value.
values[0] = (values[index] & ~mask) | (value & mask); values[0] = (values[index] & ~mask) | (value & mask);
} }
else { // Normal case else { // Normal case
values[index] = myWire.read(); values[index] = _myWire.read();
} }
index++; index++;
} }
@@ -1219,7 +1220,7 @@ const __FlashStringHelper *MFRC522::PICC_GetTypeName(byte piccType ///< One of t
*/ */
void MFRC522::PCD_DumpVersionToSerial() { void MFRC522::PCD_DumpVersionToSerial() {
// Get the MFRC522 firmware version // Get the MFRC522 firmware version
byte v = _dev->PCD_ReadRegister(VersionReg); byte v = PCD_ReadRegister(VersionReg);
Serial.print(F("Firmware Version: 0x")); Serial.print(F("Firmware Version: 0x"));
Serial.print(v, HEX); Serial.print(v, HEX);
// Lookup which version // Lookup which version