From f5d21b947bda3478530cdaa662407f95802a3925 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Tue, 11 Sep 2012 11:31:49 -0700 Subject: [PATCH] Changes to bit band API to make it more type-sane. --- firmware/common/bitband.c | 12 ++++++------ firmware/common/bitband.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/firmware/common/bitband.c b/firmware/common/bitband.c index 82ba5383..f55e806c 100644 --- a/firmware/common/bitband.c +++ b/firmware/common/bitband.c @@ -21,25 +21,25 @@ #include "bitband.h" -volatile uint_fast8_t* peripheral_bitband_address(volatile void* const address, const uint_fast8_t bit_number) { +volatile uint32_t* peripheral_bitband_address(volatile void* const address, const uint_fast8_t bit_number) { const uint32_t bit_band_base = 0x42000000; const uint32_t byte_offset = (uint32_t)address - 0x40000000; const uint32_t bit_word_offset = (byte_offset * 32) + (bit_number * 4); const uint32_t bit_word_address = bit_band_base + bit_word_offset; - return (volatile uint_fast8_t*)bit_word_address; + return (volatile uint32_t*)bit_word_address; } void peripheral_bitband_set(volatile void* const peripheral_address, const uint_fast8_t bit_number) { - volatile uint_fast8_t* const bitband_address = peripheral_bitband_address(peripheral_address, bit_number); + volatile uint32_t* const bitband_address = peripheral_bitband_address(peripheral_address, bit_number); *bitband_address = 1; } void peripheral_bitband_clear(volatile void* const peripheral_address, const uint_fast8_t bit_number) { - volatile uint_fast8_t* const bitband_address = peripheral_bitband_address(peripheral_address, bit_number); + volatile uint32_t* const bitband_address = peripheral_bitband_address(peripheral_address, bit_number); *bitband_address = 0; } -uint_fast8_t peripheral_bitband_get(volatile void* const peripheral_address, const uint_fast8_t bit_number) { - volatile uint_fast8_t* const bitband_address = peripheral_bitband_address(peripheral_address, bit_number); +uint32_t peripheral_bitband_get(volatile void* const peripheral_address, const uint_fast8_t bit_number) { + volatile uint32_t* const bitband_address = peripheral_bitband_address(peripheral_address, bit_number); return *bitband_address; } diff --git a/firmware/common/bitband.h b/firmware/common/bitband.h index 20407b5d..d62b4759 100644 --- a/firmware/common/bitband.h +++ b/firmware/common/bitband.h @@ -24,9 +24,9 @@ #include -volatile uint_fast8_t* peripheral_bitband_address(volatile void* const address, const uint_fast8_t bit_number); +volatile uint32_t* peripheral_bitband_address(volatile void* const address, const uint_fast8_t bit_number); void peripheral_bitband_set(volatile void* const peripheral_address, const uint_fast8_t bit_number); void peripheral_bitband_clear(volatile void* const peripheral_address, const uint_fast8_t bit_number); -uint_fast8_t peripheral_bitband_get(volatile void* const peripheral_address, const uint_fast8_t bit_number); +uint32_t peripheral_bitband_get(volatile void* const peripheral_address, const uint_fast8_t bit_number); #endif//__BITBAND_H__