diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2020-11-18 22:46:11 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2020-11-18 22:46:11 -0700 |
commit | 75f8523f3a70558788186f8f2d7ca5a6f9f71194 (patch) | |
tree | ccadcf76b602c91d840eb287d8d6fb423c8f19e8 /02-usart/tests | |
parent | c1405b06d98b9b227fa7ff53c158f31d745eb505 (diff) | |
download | stm32l4-75f8523f3a70558788186f8f2d7ca5a6f9f71194.tar.gz stm32l4-75f8523f3a70558788186f8f2d7ca5a6f9f71194.tar.bz2 stm32l4-75f8523f3a70558788186f8f2d7ca5a6f9f71194.zip |
Change dma.h over to a regset() strategy.
Apparently people really don't like bitfields in practice,
so I have devised a compromise to retain some readability while
using bitmasks instead by writing a regset() macro.
Diffstat (limited to '02-usart/tests')
-rw-r--r-- | 02-usart/tests/test_dma.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/02-usart/tests/test_dma.c b/02-usart/tests/test_dma.c index ae34a69..27ec022 100644 --- a/02-usart/tests/test_dma.c +++ b/02-usart/tests/test_dma.c @@ -10,13 +10,24 @@ TEST(dma, smoke) dma_t* dma = &DMA1; memset(dma, sizeof(dma), 0); - dma->is_bf.tcif1 = 1; + regset(dma->is_r, dma_tcif1, 1); ASSERT_EQ(dma->is_r, 2); - dma->is_bf.htif7 = 1; + regset(dma->is_r, dma_htif7, 1); ASSERT_EQ(dma->is_r, 67108866); } +TEST(dma, cc_regset) +{ + dma_t* dma = &DMA1; + memset(dma, sizeof(dma), 0); + + dma_channel_config_t* channel_config = &dma->channel_config[2]; + regset(channel_config->cc_r, dma_cc_msize, DMA_SIZE_32_BITS); + + ASSERT_EQ(channel_config->cc_r, 1 << 11); +} + TEST(dma, correct_align) { dma_t dma; |