Projet e-stok  0.2
BTS SNIR LaSalle Avignon 2020
Rfid.cpp
Aller à la documentation de ce fichier.
1 #include "Rfid.h"
2 #include <QDebug>
3 
22 Rfid::Rfid(QObject *parent) : QObject(parent), badge("")
23 {
24 }
25 
32 {
33 
34 }
35 
43 QString Rfid::corrigerBadge(QString badge)
44 {
45  QString badgeCorrige = "";
46 
47  if(!badge.isEmpty())
48  {
49  // effectue les remplacements des touches QWERTY en touches AZERTY
50  badgeCorrige = badge.replace(QString::fromUtf8("Q"), "A");
51  badgeCorrige = badge.replace(QString::fromUtf8("W"), "Z");
52  badgeCorrige = badge.replace(QString::fromUtf8("q"), "q");
53  badgeCorrige = badge.replace(QString::fromUtf8("w"), "z");
54  badgeCorrige = badge.replace(QString::fromUtf8("M"), ":");
55  badgeCorrige = badge.replace(QString::fromUtf8("à"), "0");
56  badgeCorrige = badge.replace(QString::fromUtf8("&"), "1");
57  badgeCorrige = badge.replace(QString::fromUtf8("é"), "2");
58  badgeCorrige = badge.replace(QString::fromUtf8("\""), "3");
59  badgeCorrige = badge.replace(QString::fromUtf8("'"), "4");
60  badgeCorrige = badge.replace(QString::fromUtf8("("), "5");
61  badgeCorrige = badge.replace(QString::fromUtf8("-"), "6");
62  badgeCorrige = badge.replace(QString::fromUtf8("è"), "7");
63  badgeCorrige = badge.replace(QString::fromUtf8("_"), "8");
64  badgeCorrige = badge.replace(QString::fromUtf8("ç"), "9");
65  }
66  return badgeCorrige;
67 }
68 
75 void Rfid::setBadge(QString badge)
76 {
77  this->badge = badge;
78 }
79 
86 void Rfid::setUid(QString uid)
87 {
88  this->uid = uid;
89 }
90 
97 void Rfid::traiterBadge(QString trameBadge)
98 {
99  /*
100  * Format trame reçue : RFID:xxxxxxxx
101  * xxxxxxxx -> uid du badge
102  */
103  setBadge(corrigerBadge(trameBadge));
104 
105  #ifdef DEBUG_RFID
106  qDebug() << Q_FUNC_INFO << "Badge" << badge;
107  #endif
108 
109  // Vérifier si la trame est valide
110  if(badge.startsWith("RFID:"))
111  {
112  extraireUid();
113 
114  emit nouveauUidBadge(uid);
115  #ifdef DEBUG_RFID
116  qDebug() << Q_FUNC_INFO << "UID" << uid;
117  #endif
118  }
119  else
120  {
122  }
123 }
124 
131 {
132  setUid(badge.section(':',1,1));
133 }
void setUid(QString uid)
Définition de la méthode setUid(QString uid)
Definition: Rfid.cpp:86
#define ERREUR_BADGE_INVALIDE
Message d&#39;erreur pour un basge invalide.
Definition: Rfid.h:18
Déclaration de la classe Rfid.
void traiterBadge(QString trameBadge)
Définition de la méthode Rfid::traiterBadge(QString trameBadge)
Definition: Rfid.cpp:97
void erreurBadgeInvalide(QString message)
QString corrigerBadge(QString badge)
Définition de la méthode corrigerBadge(QString badge)
Definition: Rfid.cpp:43
void extraireUid()
Définition de la méthode Rfid::extraireUid()
Definition: Rfid.cpp:130
Rfid(QObject *parent=nullptr)
Définition du constructeur de la classe Rfid.
Definition: Rfid.cpp:22
void setBadge(QString badge)
Définition de la méthode setBadge(QString badge)
Definition: Rfid.cpp:75
QString uid
l&#39;UID extrait de la trame badge
Definition: Rfid.h:57
~Rfid()
Définition du destructeur de la classe Rfid.
Definition: Rfid.cpp:31
void nouveauUidBadge(QString badge)
QString badge
trame reçue d&#39;un badge
Definition: Rfid.h:56