Skip to content

Commit 9fba0a6

Browse files
committed
Fix int overflow error
1 parent 407c5e9 commit 9fba0a6

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

cardreader/cardreader.ino

+15-11
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,16 @@ void loop()
3030
{
3131
milli = millis();
3232
if((milli - lastmilli) > 25){
33-
if (count != 0)
33+
if (count == 255)
3434
{
3535
Serial.println(count);
3636
printDataRead(data);
3737
printBadgeNumber(data);
38-
39-
count = 0;
38+
}
39+
else {
40+
//Serial.println('Read Error: Please Re-Scan');
4041
}
42+
count = 0;
4143
lastmilli = milli;
4244
}
4345
}
@@ -76,8 +78,9 @@ void printBadgeNumber(byte data[]){
7678
// The position just before the F sentinel:
7779
int last = 16;
7880
// Store our re-grouped hex values here
79-
byte sets[9] = {0,0,0,0,0,0,0,0,0};
80-
81+
byte sets[9] = {
82+
0,0,0,0,0,0,0,0,0 };
83+
8184
//Remove parity bit at end
8285
sets[8] |= data[last] >> 1 & B00000011;
8386
sets[8] |= data[last-1] << 2 & B00001100;
@@ -90,28 +93,29 @@ void printBadgeNumber(byte data[]){
9093

9194
sets[5] |= data[last-4] >> 1 & B00000011;
9295
sets[5] |= data[last-5] << 2 & B00001100;
93-
96+
9497
sets[4] |= data[last-5] >> 2 & B00000001;
9598
sets[4] |= data[last-6] << 1 & B00001110;
96-
99+
97100
sets[3] |= data[last-7] & B00000111;
98101
sets[3] |= data[last-8] << 3 & B00001000;
99102

100103
sets[2] |= data[last-8] >> 1 & B00000011;
101104
sets[2] |= data[last-9] << 2 & B00001100;
102-
105+
103106
sets[1] |= data[last-9] >> 2 & B00000001;
104107
sets[1] |= data[last-10] << 1 & B00001110;
105-
108+
106109
sets[0] |= data[last-11];
107-
110+
108111
//Serial.print('ALL: ');
109112
for(int i = 0; i < 9; i++){
110113
Serial.print(sets[i], HEX);
111114
}
112115
Serial.println();
113116

114117
//Serial.print('Badge Number: ');
115-
int badgenumber = sets[8] + 16 * sets[7] + 256 * sets[6] + 4096 * sets[5];
118+
unsigned int badgenumber = sets[8] + 16 * sets[7] + 256 * sets[6] + 4096 * sets[5];
116119
Serial.println(badgenumber);
117120
}
121+

0 commit comments

Comments
 (0)