Projet e-stock  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)
45 {
46  QString badgeCorrige = "";
47 
48  if(!badge.isEmpty())
49  {
50  // effectue les remplacements des touches QWERTY en touches AZERTY
51  badgeCorrige = badge.replace(QString::fromUtf8("Q"), "A");
52  badgeCorrige = badge.replace(QString::fromUtf8("W"), "Z");
53  badgeCorrige = badge.replace(QString::fromUtf8("q"), "q");
54  badgeCorrige = badge.replace(QString::fromUtf8("w"), "z");
55  badgeCorrige = badge.replace(QString::fromUtf8("M"), ":");
56  badgeCorrige = badge.replace(QString::fromUtf8("à"), "0");
57  badgeCorrige = badge.replace(QString::fromUtf8("&"), "1");
58  badgeCorrige = badge.replace(QString::fromUtf8("é"), "2");
59  badgeCorrige = badge.replace(QString::fromUtf8("\""), "3");
60  badgeCorrige = badge.replace(QString::fromUtf8("'"), "4");
61  badgeCorrige = badge.replace(QString::fromUtf8("("), "5");
62  badgeCorrige = badge.replace(QString::fromUtf8("-"), "6");
63  badgeCorrige = badge.replace(QString::fromUtf8("è"), "7");
64  badgeCorrige = badge.replace(QString::fromUtf8("_"), "8");
65  badgeCorrige = badge.replace(QString::fromUtf8("ç"), "9");
66  }
67  return badgeCorrige;
68 }
70 
77 void Rfid::setBadge(QString badge)
78 {
79  this->badge = badge;
80 }
81 
88 void Rfid::setUid(QString uid)
89 {
90  this->uid = uid;
91 }
92 
99 void Rfid::traiterBadge(QString trameBadge)
101 {
102  /*
103  * Format trame reçue : RFID:xxxxxxxx
104  * xxxxxxxx -> uid du badge
105  */
106  setBadge(corrigerBadge(trameBadge));
107 
108  #ifdef DEBUG_RFID
109  qDebug() << Q_FUNC_INFO << "Badge" << badge;
110  #endif
111 
112  // Vérifier si la trame est valide
113  if(badge.startsWith("RFID:"))
114  {
115  extraireUid();
116 
117  emit nouveauUidBadge(uid);
118  #ifdef DEBUG_RFID
119  qDebug() << Q_FUNC_INFO << "UID" << uid;
120  #endif
121  }
122  else
123  {
125  }
126 }
128 
135 {
136  setUid(badge.section(':',1,1));
137 }
void setUid(QString uid)
Définition de la méthode setUid(QString uid)
Definition: Rfid.cpp:88
#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:100
void erreurBadgeInvalide(QString message)
QString corrigerBadge(QString badge)
Définition de la méthode corrigerBadge(QString badge)
Definition: Rfid.cpp:44
void extraireUid()
[traiterBadge]
Definition: Rfid.cpp:134
Rfid(QObject *parent=nullptr)
Définition du constructeur de la classe Rfid.
Definition: Rfid.cpp:22
void setBadge(QString badge)
[corrigerBadge]
Definition: Rfid.cpp:77
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
La classe QObject est la classe de base de tous les objets Qt. Elle permet à ces objets Qt de dispose...
void nouveauUidBadge(QString badge)
QString badge
trame reçue d&#39;un badge
Definition: Rfid.h:56