mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-02-26 09:03:11 +08:00
simplified functions for byte sending
This commit is contained in:
parent
89f15432b0
commit
5cb732d620
1 changed files with 9 additions and 25 deletions
|
@ -341,37 +341,21 @@ static void em4x50_send_byte(uint8_t byte) {
|
||||||
|
|
||||||
// send byte (without parity)
|
// send byte (without parity)
|
||||||
|
|
||||||
int mask = 0x80;
|
for (int i = 0; i < 8; i++)
|
||||||
|
em4x50_send_bit((byte >> (7-i)) & 1);
|
||||||
|
|
||||||
for (int i = 0; i < 8; i++) {
|
|
||||||
|
|
||||||
if ((byte & mask) == 0)
|
|
||||||
em4x50_send_bit(0);
|
|
||||||
else
|
|
||||||
em4x50_send_bit(1);
|
|
||||||
|
|
||||||
mask >>= 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void em4x50_send_byte_with_parity(uint8_t byte) {
|
static void em4x50_send_byte_with_parity(uint8_t byte) {
|
||||||
|
|
||||||
// send byte followed by its (equal) parity bit
|
// send byte followed by its (equal) parity bit
|
||||||
|
|
||||||
int parity = 0;
|
int parity = 0, bit = 0;
|
||||||
int mask = 0x80;
|
|
||||||
|
|
||||||
for (int i = 0; i < 8; i++) {
|
for (int i = 0; i < 8; i++) {
|
||||||
|
bit = (byte >> (7-i)) & 1;
|
||||||
if ((byte & mask) == 0) {
|
em4x50_send_bit(bit);
|
||||||
em4x50_send_bit(0);
|
parity ^= bit;
|
||||||
parity ^= 0;
|
|
||||||
} else {
|
|
||||||
em4x50_send_bit(1);
|
|
||||||
parity ^= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
mask >>= 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
em4x50_send_bit(parity);
|
em4x50_send_bit(parity);
|
||||||
|
|
Loading…
Reference in a new issue