From 5cb732d620cce62f045edb903a0d3ce39a412b9e Mon Sep 17 00:00:00 2001 From: tharexde Date: Wed, 17 Jun 2020 23:06:57 +0200 Subject: [PATCH] simplified functions for byte sending --- armsrc/em4x50.c | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/armsrc/em4x50.c b/armsrc/em4x50.c index 9e7f0c57f..3feed884b 100644 --- a/armsrc/em4x50.c +++ b/armsrc/em4x50.c @@ -341,39 +341,23 @@ static void em4x50_send_byte(uint8_t byte) { // 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) { // send byte followed by its (equal) parity bit - int parity = 0; - int mask = 0x80; - - for (int i = 0; i < 8; i++) { - - if ((byte & mask) == 0) { - em4x50_send_bit(0); - parity ^= 0; - } else { - em4x50_send_bit(1); - parity ^= 1; - } - - mask >>= 1; - } + int parity = 0, bit = 0; + for (int i = 0; i < 8; i++) { + bit = (byte >> (7-i)) & 1; + em4x50_send_bit(bit); + parity ^= bit; + } + em4x50_send_bit(parity); }