Skip to content

Commit

Permalink
Added prefix to all functions
Browse files Browse the repository at this point in the history
  • Loading branch information
md5sum-as committed Oct 30, 2022
1 parent 25079bb commit f1f8d27
Showing 1 changed file with 27 additions and 27 deletions.
54 changes: 27 additions & 27 deletions tasmota/tasmota_xsns_sensor/xsns_40_pn532.ino
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
xsns_40_pn532.ino - Support for PN532 (HSU) NFC Tag Reader on Tasmota
Copyright (C) 2021 Andre Thomas and Theo Arends
Copyright (C) 2021 Andre Thomas, Theo Arends and md5sum-as (https://github.com/md5sum-as)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -354,7 +354,7 @@ void PN532_inRelease(void) {
PN532_readResponse(Pn532.packetbuffer, sizeof(Pn532.packetbuffer));
}

uint8_t mifareclassic_AuthenticateBlock (uint8_t *uid, uint8_t uidLen, uint32_t blockNumber, uint8_t keyNumber, uint8_t *keyData) {
uint8_t PN532_mifareclassic_AuthenticateBlock (uint8_t *uid, uint8_t uidLen, uint32_t blockNumber, uint8_t keyNumber, uint8_t *keyData) {
uint8_t i;
uint8_t _key[6];
uint8_t _uid[7];
Expand Down Expand Up @@ -391,7 +391,7 @@ uint8_t mifareclassic_AuthenticateBlock (uint8_t *uid, uint8_t uidLen, uint32_t
return 1;
}

uint8_t mifareclassic_ReadDataBlock (uint8_t blockNumber, uint8_t *data) {
uint8_t PN532_mifareclassic_ReadDataBlock (uint8_t blockNumber, uint8_t *data) {
/* Prepare the command */
Pn532.packetbuffer[0] = PN532_COMMAND_INDATAEXCHANGE;
Pn532.packetbuffer[1] = 1; /* Card number */
Expand All @@ -418,7 +418,7 @@ uint8_t mifareclassic_ReadDataBlock (uint8_t blockNumber, uint8_t *data) {
return 1;
}

uint8_t mifareclassic_WriteDataBlock (uint8_t blockNumber, uint8_t *data) {
uint8_t PN532_mifareclassic_WriteDataBlock (uint8_t blockNumber, uint8_t *data) {
/* Prepare the first command */
Pn532.packetbuffer[0] = PN532_COMMAND_INDATAEXCHANGE;
Pn532.packetbuffer[1] = 1; /* Card number */
Expand All @@ -435,7 +435,7 @@ uint8_t mifareclassic_WriteDataBlock (uint8_t blockNumber, uint8_t *data) {
return (0 < PN532_readResponse(Pn532.packetbuffer, sizeof(Pn532.packetbuffer)));
}

uint8_t ntag21x_probe (void) {
uint8_t PN532_ntag21x_probe (void) {
uint8_t result=0;

Pn532.packetbuffer[0] = PN532_COMMAND_INCOMMUNICATETHRU;
Expand All @@ -461,7 +461,7 @@ uint8_t ntag21x_probe (void) {
return result; //Return configuration page address
}

bool ntag21x_auth(void) {
bool PN532_ntag21x_auth(void) {

Pn532.packetbuffer[0] = PN532_COMMAND_INCOMMUNICATETHRU;
Pn532.packetbuffer[1] = NTAG21X_CMD_PWD_AUTH;
Expand All @@ -479,7 +479,7 @@ bool ntag21x_auth(void) {
return memcmp(&Pn532.packetbuffer[1],&Pn532.pwd_pack,2)==0;
}

bool ntag2xx_read16 (const uint8_t page, char *out) {
bool PN532_ntag2xx_read16 (const uint8_t page, char *out) {

Pn532.packetbuffer[0] = PN532_COMMAND_INCOMMUNICATETHRU;
Pn532.packetbuffer[1] = NTAG2XX_CMD_READ;
Expand All @@ -497,7 +497,7 @@ bool ntag2xx_read16 (const uint8_t page, char *out) {
return true;
}

bool ntag2xx_write4(uint8_t page, char *in) {
bool PN532_ntag2xx_write4(uint8_t page, char *in) {

Pn532.packetbuffer[0] = PN532_COMMAND_INCOMMUNICATETHRU;
Pn532.packetbuffer[1] = NTAG2XX_CMD_WRITE;
Expand All @@ -514,29 +514,29 @@ bool ntag2xx_write4(uint8_t page, char *in) {
return true;
}

bool ntag2xx_write16(uint8_t page, char *in) {
bool PN532_ntag2xx_write16(uint8_t page, char *in) {

for (uint8_t i = 0; i < 4; i++) {
if (!ntag2xx_write4(page +i, &in[i << 2])) {
if (!PN532_ntag2xx_write4(page +i, &in[i << 2])) {
return false;
}
}
return true;
}

bool ntag21x_set_password(uint8_t confPage, bool unsetPasswd) {
bool PN532_ntag21x_set_password(uint8_t confPage, bool unsetPasswd) {
char card_datas[16];

if (ntag2xx_read16(confPage, card_datas)) {
if (PN532_ntag2xx_read16(confPage, card_datas)) {
if (unsetPasswd) {
card_datas[3]=0xFF;
return ntag2xx_write4(confPage, card_datas);
return PN532_ntag2xx_write4(confPage, card_datas);
}
card_datas[3]=0; // Set AUTH0 for protect all pages
card_datas[4] |= 0x80; // Set PROT flag for read and write access is protected by the password verification
memcpy(&card_datas[8],&Pn532.pwd_auth_new, 4); // New password
memcpy(&card_datas[12],&Pn532.pwd_pack_new, 2); // New password ack
return ntag2xx_write16(confPage, card_datas);
return PN532_ntag2xx_write16(confPage, card_datas);
}
return false;
}
Expand All @@ -558,50 +558,50 @@ void PN532_ScanForTag(void) {
uint8_t confPage=0;
uint8_t nuid[] = { 0, 0, 0, 0, 0, 0, 0 };
uint8_t nuid_len = 0;
if ((confPage=ntag21x_probe())>0) {
if ((confPage=PN532_ntag21x_probe())>0) {
/* NTAG EV1 found*/
str_pwd=PWD_NONE;
if (!ntag2xx_read16(4, card_datas)) {
if (!PN532_ntag2xx_read16(4, card_datas)) {
if (PN532_readPassiveTargetID(PN532_MIFARE_ISO14443A, nuid, &nuid_len)) {
if (memcmp(uid, nuid, sizeof(uid))==0) {
if (ntag21x_auth()) {
if (PN532_ntag21x_auth()) {
str_pwd=PWD_OK;
if (Pn532.function == 3) { /* new password */
success = ntag21x_set_password(confPage, false);
success = PN532_ntag21x_set_password(confPage, false);
}
if (Pn532.function == 4) { /* clear password */
success = ntag21x_set_password(confPage, true);
success = PN532_ntag21x_set_password(confPage, true);
}
} else {
str_pwd=PWD_NOK;
}
if (!ntag2xx_read16(4, card_datas)) card_datas[0]=0;
if (!PN532_ntag2xx_read16(4, card_datas)) card_datas[0]=0;
}
}
} else {
if (Pn532.function == 3) { /* new password */
success = ntag21x_set_password(confPage, false);
success = PN532_ntag21x_set_password(confPage, false);
}
}
} else {
if (PN532_readPassiveTargetID(PN532_MIFARE_ISO14443A, nuid, &nuid_len)) {
if (memcmp(uid, nuid, sizeof(uid))==0) {
if (!ntag2xx_read16(4, card_datas)) card_datas[0]=0;
if (!PN532_ntag2xx_read16(4, card_datas)) card_datas[0]=0;
}
}
}
if ((Pn532.function == 1) || (Pn532.function == 2)) {
success = ntag2xx_write16(4, (char *)Pn532.newdata);
if (!ntag2xx_read16(4, card_datas)) card_datas[0]=0;
success = PN532_ntag2xx_write16(4, (char *)Pn532.newdata);
if (!PN532_ntag2xx_read16(4, card_datas)) card_datas[0]=0;
}
}
else if (uid_len == 4) { // Lets try to read blocks 1 & 2 of the mifare classic card for more information
uint8_t keyuniversal[6] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
if (mifareclassic_AuthenticateBlock (uid, uid_len, 1, 1, keyuniversal)) {
if (PN532_mifareclassic_AuthenticateBlock (uid, uid_len, 1, 1, keyuniversal)) {
if ((Pn532.function == 1) || (Pn532.function == 2)) {
success=mifareclassic_WriteDataBlock(1, Pn532.newdata);
success=PN532_mifareclassic_WriteDataBlock(1, Pn532.newdata);
}
if (mifareclassic_ReadDataBlock(1, (uint8_t *)card_datas)) {
if (PN532_mifareclassic_ReadDataBlock(1, (uint8_t *)card_datas)) {
for (uint32_t i = 0; i < 16; i++) {
if (!isprint(card_datas[i])) {
// do not output non-printable characters to the console
Expand Down

0 comments on commit f1f8d27

Please sign in to comment.