aboutsummaryrefslogtreecommitdiff
path: root/02-usart/tests
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2020-11-18 22:46:11 -0700
committerJosh Rahm <joshuarahm@gmail.com>2020-11-18 22:46:11 -0700
commit75f8523f3a70558788186f8f2d7ca5a6f9f71194 (patch)
treeccadcf76b602c91d840eb287d8d6fb423c8f19e8 /02-usart/tests
parentc1405b06d98b9b227fa7ff53c158f31d745eb505 (diff)
downloadstm32l4-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.c15
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;