logo

Knowledge Is Power

 
 

- Reinit des nouveaux posts -

- Recherche -

Messages Privés - Derniers posts
S'enregistrer - Login - Liste des membres
Vous logger : Login Pass

Hardware / Electro >> PN532 Arduino Libnfc Newtopic | Reply
poster txt
Merlin66
Inscrit le 05-08-2016
Posté le 05-08-2016 11:20

Bonjour, je suis en train de faire un sketch arduino avec une extension PN532 qui puisse répondre à toutes les commandes des utils et examples de libnfc.

J'y arrive à 80%, mais j'ai des soucis avec la lecture ecriture des registres XRAM.

Bien évidemment le but est de pouvoir utiliser mfcoc.

Je peux partager mon code source pour l'arduino sans problème.

J'ai traduit et recompilé également NFCGUI de radioware du chinois en anglais pour pouvoir l'utiliser sous windows où j'ai correctement compilé libnfc.

Donc avis aux spécialistes de libnfc et d'arduino.

Merci !
profil | Website | AIM | edit | quote
casskroot
Inscrit le 01-11-2003
Posté le 06-08-2016 08:46

Salut,

ça fait longtemps que j'ai pas touché à un arduino mais je vais quand même te poser deux ou trois questions.

Tu pourrais poster ton code, mettre en évidence la partie qui te pose problème et décrire clairement le bug ?

Tu écris en quel langage ? En assembleur ? Parce qu'en C tu ne devrais pas avoir à gérer la SRAM, tu te contente de déclarer une variable et de l'utiliser pour en lire le contenu ou en modifier le contenu. La seule contrainte étant de ne pas faire déborder la mémoire.

Tu utilises quel modèle d'arduino ?

_________________________


[ Ce Message a été édité par: casskroot le 2016-08-06 08:50 ]
profil | mail | edit | quote
Merlin66
Inscrit le 05-08-2016
Posté le 06-08-2016 13:21

Salut ! C'est un arduino 328 banal, avec un shield en I2C pour le PN532.
La libnfc(linux ou windows) lit et ecrit certains registres de la XRAM (pas la SRAM) entre autres commandes.
Le sketch (en C) entier est assez long https://github.com/Pascal66/PN532_Reader
Et la librarie est la Wire standard. (J'en utilise d'autres avec le même resultat, sauf une fois où j'ai eu les bonnes réponses de la lecture des registres et que je ne retrouve plus)

libnfc envoie une commande de lecture ou d'ecriture qui est envoyée avec ses parametres en I2C au PN532.
profil | Website | AIM | edit | quote
Merlin66
Inscrit le 05-08-2016
Posté le 06-08-2016 13:30

La commande qui lit les registres :
Code:
	case 0x06: { //ReadRegister Page 76 OK
uint8_t address;
uint8_t value[16] = { 0 };
int j = 0;

// memset(answerSamConfig, 0, sizeof(answerSamConfig));
for (int i = 0; i <= buffer[3] - 2; i += 2) {
memmove(&address, (int*) abtRxBuf + 7 + i, 2);

answerSamConfig[j] = pnd.readAddressByte(address);

j++;
}

Serial.write(answerSamConfig, abtRxBuf[3] -2);

uint8_t dataSum = btDCS - sum_array(answerSamConfig, abtRxBuf[3] -2); //0x24;
writePostStuff(dataSum);
// writeCommand(answerSamConfig, sizeof(answerSamConfig));
break;
}



Voila ce qui se passe chez libnfc :
Code:
	debug   libnfc.chip.pn53x       ReadRegister
debug libnfc.bus.uart_win32 TX: 00 00 ff 0c f4 d4 06 63 02 63 03 63 0d 63 38 63 3d b0 00
debug libnfc.driver.pn532_uart Read ACK
debug libnfc.bus.uart_win32 Timeouts are set to 350 ms
debug libnfc.bus.uart_win32 ReadFile
debug libnfc.bus.uart_win32 RX: 00 00 ff 00 ff 00
debug libnfc.chip.pn53x PN53x ACKed
debug libnfc.bus.uart_win32 Timeouts are set to 350 ms
debug libnfc.bus.uart_win32 ReadFile
debug libnfc.bus.uart_win32 RX: 00 00 ff 07 f9
debug libnfc.driver.pn532_uart Frame preamble+start code
debug libnfc.driver.pn532_uart Check Checksum Normal Frame, 07, f9
debug libnfc.driver.pn532_uart Get len from abtRxBf[3] - 2, 05
debug libnfc.driver.pn532_uart TFI + PD0 (CC+1)
debug libnfc.bus.uart_win32 Timeouts are set to 350 ms
debug libnfc.bus.uart_win32 ReadFile
debug libnfc.bus.uart_win32 RX: d5 07
debug libnfc.driver.pn532_uart Check TFI d5
debug libnfc.driver.pn532_uart Check Command 07
debug libnfc.driver.pn532_uart Get len 05
debug libnfc.bus.uart_win32 Timeouts are set to 350 ms
debug libnfc.bus.uart_win32 ReadFile
debug libnfc.bus.uart_win32 RX: 00 00 00 00 00
debug libnfc.driver.pn532_uart Wait 2 more bytes
debug libnfc.bus.uart_win32 Timeouts are set to 350 ms
debug libnfc.bus.uart_win32 ReadFile
debug libnfc.bus.uart_win32 RX: 24 00
debug libnfc.driver.pn532_uart Check btDCS 24
debug libnfc.driver.pn532_uart Check Postamble 00


Je devrais avoir RX: 00 80 80 80 80

[ Ce Message a été édité par: Merlin66 le 2016-08-06 13:44 ]
profil | Website | AIM | edit | quote
Newtopic | Reply

Online : DavidAtmor, JosephLag, MiguIdeomy et 81 Guests


Retour Index NewFFR Repository : http://taz.newffr.com
Cagades à Stick : http://alcane.newffr.com
Forum HTML et Archive -> ici
ForumFR Sql/Xml (2006/04) (SF pas à jour du tout...) - Alive since 2001 Newffr.com
Pour toute plainte ou problème -> Contacter Borax, Hyatus, Tweakie ou Stick par message privé (ou Gueulez sur le forum :) )
Retour haut de page