mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-05-12 11:18:11 -07:00
Update wiegand_formats.c
I swear I tested it after my last change and it worked.... but now it isn't so I must have made an error somewhere. It is back to sites programming and is working
This commit is contained in:
@@ -780,8 +780,8 @@ static bool Pack_P10004(wiegand_card_t *card, wiegand_message_t *packed, bool pr
|
||||
|
||||
packed->Length = 37; // Set number of bits
|
||||
|
||||
set_linear_field(packed, card->FacilityCode, 2, 13);
|
||||
set_linear_field(packed, card->CardNumber, 15, 18);
|
||||
set_linear_field(packed, card->FacilityCode, 1, 13);
|
||||
set_linear_field(packed, card->CardNumber, 14, 18);
|
||||
|
||||
set_bit_by_position(packed, evenparity32(get_linear_field(packed, 1, 18)), 0);
|
||||
set_bit_by_position(packed, oddparity32(get_linear_field(packed, 18, 18)), 36);
|
||||
@@ -795,8 +795,8 @@ static bool Unpack_P10004(wiegand_message_t *packed, wiegand_card_t *card) {
|
||||
|
||||
if (packed->Length != 37) return false; // Wrong length? Stop here.
|
||||
|
||||
card->FacilityCode = get_linear_field(packed, 2, 13);
|
||||
card->CardNumber = get_linear_field(packed, 15, 18);
|
||||
card->FacilityCode = get_linear_field(packed, 1, 13);
|
||||
card->CardNumber = get_linear_field(packed, 14, 18);
|
||||
card->ParityValid =
|
||||
(get_bit_by_position(packed, 0) == evenparity32(get_linear_field(packed, 1, 18))) &&
|
||||
(get_bit_by_position(packed, 36) == oddparity32(get_linear_field(packed, 18, 18)));
|
||||
|
||||
Reference in New Issue
Block a user