mirror of
https://github.com/semaf/MFRC522_I2C_Library.git
synced 2025-07-31 22:04:26 +02:00
Bugfixes
This commit is contained in:
@@ -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
|
||||||
|
Reference in New Issue
Block a user