diff --git a/client/cmdlfindala.c b/client/cmdlfindala.c index 8cfdfebd3..52640fb9f 100644 --- a/client/cmdlfindala.c +++ b/client/cmdlfindala.c @@ -714,27 +714,33 @@ int getIndalaBits(uint8_t fc, uint16_t cn, uint8_t *bits) { // add cn bits[42] = ((cn >> 15) & 1); // b16 - bits[45] = ((cn >> 14) & 1); // b15 + bits[45] = ((cn >> 14) & 1); // b15 - c bits[43] = ((cn >> 13) & 1); // b14 - bits[40] = ((cn >> 12) & 1); // b13 + bits[40] = ((cn >> 12) & 1); // b13 - c bits[52] = ((cn >> 11) & 1); // b12 bits[36] = ((cn >> 10) & 1); // b11 - bits[35] = ((cn >> 9) & 1); // b10 - bits[51] = ((cn >> 8) & 1); // b9 + bits[35] = ((cn >> 9) & 1); // b10 - c + bits[51] = ((cn >> 8) & 1); // b9 - c bits[46] = ((cn >> 7) & 1); // b8 - bits[33] = ((cn >> 6) & 1); // b7 - bits[37] = ((cn >> 5) & 1); // b6 + bits[33] = ((cn >> 6) & 1); // b7 - c + bits[37] = ((cn >> 5) & 1); // b6 - c bits[54] = ((cn >> 4) & 1); // b5 bits[56] = ((cn >> 3) & 1); // b4 - bits[59] = ((cn >> 2) & 1); // b3 + bits[59] = ((cn >> 2) & 1); // b3 - c bits[50] = ((cn >> 1) & 1); // b2 - bits[41] = (cn & 1); // b1 + bits[41] = (cn & 1); // b1 - c // checksum - // ICEMAN: todo: needs to calc uint8_t chk = 0; //sum(y2, y4, y7, y8, y10, y11, y14, y16 - chk += 0; //y == 75 + chk += ((cn >> 14) & 1); //y2 == 75 - 30 = 45 + chk += ((cn >> 12) & 1); //y4 == 70 - 30 = 40 + chk += ((cn >> 9) & 1); //y7 == 65 - 30 = 35 + chk += ((cn >> 8) & 1); //y8 == 81 - 30 = 51 + chk += ((cn >> 6) & 1); //y10 == 63 - 30 = 33 + chk += ((cn >> 5) & 1); //y11 == 67 - 30 = 37 + chk += ((cn >> 2) & 1); //y14 == 89 - 30 = 59 + chk += (cn & 1); //y16 == 71 - 30 = 41 if ((chk & 1) == 0) { bits[62] = 1;