diff options
-rw-r--r-- | src/bitfield/8byte.c | 4 | ||||
-rw-r--r-- | src/bitfield/bitfield.c | 4 | ||||
-rw-r--r-- | src/bitfield/bitfield.h | 6 | ||||
-rw-r--r-- | src/canutil/read.c | 2 | ||||
-rw-r--r-- | src/canutil/write.c | 3 | ||||
-rw-r--r-- | tests/8byte_tests.c | 3 |
6 files changed, 14 insertions, 8 deletions
diff --git a/src/bitfield/8byte.c b/src/bitfield/8byte.c index d3160934..bfceb788 100644 --- a/src/bitfield/8byte.c +++ b/src/bitfield/8byte.c @@ -6,10 +6,6 @@ #define EIGHTBYTE_BIT (8 * sizeof(uint64_t)) -uint64_t bitmask(const uint8_t bit_count) { - return (((uint64_t)0x1) << bit_count) - 1; -} - uint8_t eightbyte_get_nibble(const uint64_t source, const uint8_t nibble_index, const bool data_is_big_endian) { return get_bit_field(source, NIBBLE_SIZE * nibble_index, NIBBLE_SIZE, diff --git a/src/bitfield/bitfield.c b/src/bitfield/bitfield.c index ae1be403..3b0c5fdd 100644 --- a/src/bitfield/bitfield.c +++ b/src/bitfield/bitfield.c @@ -3,6 +3,10 @@ #include <string.h> #include <stddef.h> +uint64_t bitmask(const uint8_t bit_count) { + return (((uint64_t)0x1) << bit_count) - 1; +} + uint8_t get_nibble(const uint8_t source[], const uint8_t source_length, const uint8_t nibble_index) { uint8_t byte_index = nibble_index / 2; diff --git a/src/bitfield/bitfield.h b/src/bitfield/bitfield.h index ef04d9ca..5dd976f0 100644 --- a/src/bitfield/bitfield.h +++ b/src/bitfield/bitfield.h @@ -138,8 +138,14 @@ bool copy_bytes_right_aligned(const uint8_t source[], const uint16_t source_leng bool set_nibble(const uint16_t nibble_index, const uint8_t value, uint8_t* destination, const uint16_t destination_length); +/* Private: + */ uint16_t bits_to_bytes(uint32_t bits); +/* Private: + */ +uint64_t bitmask(const uint8_t bit_count); + #ifdef __cplusplus } #endif diff --git a/src/canutil/read.c b/src/canutil/read.c index 5e882c3d..fddf75e3 100644 --- a/src/canutil/read.c +++ b/src/canutil/read.c @@ -1,4 +1,6 @@ +#include <canutil/read.h> #include <bitfield/bitfield.h> +#include <bitfield/8byte.h> float bitfield_parse_float(uint64_t data, uint8_t bit_offset, uint8_t bit_size, float factor, float offset) { diff --git a/src/canutil/write.c b/src/canutil/write.c index 583c2513..12c8fa28 100644 --- a/src/canutil/write.c +++ b/src/canutil/write.c @@ -1,5 +1,6 @@ -#include "write.h" +#include <canutil/write.h> #include <bitfield/bitfield.h> +#include <bitfield/8byte.h> uint64_t bitfield_encode_float(float value, uint8_t bit_offset, uint8_t bit_size, float factor, float offset) { diff --git a/tests/8byte_tests.c b/tests/8byte_tests.c index 572253ce..de5adfa7 100644 --- a/tests/8byte_tests.c +++ b/tests/8byte_tests.c @@ -4,9 +4,6 @@ START_TEST (test_large_bitmask) { - // yeah, this isn't a public method but I wanted to unit test it to track - // down a bug - extern uint64_t bitmask(int numBits); uint64_t result = bitmask(32); fail_if(result != 0xffffffff); } |