<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ral-registers/tests, branch v0.2</title>
<subtitle>MMIO abstraction using a macro-based API
</subtitle>
<id>https://git.mciantyre.dev/ral-registers/atom?h=v0.2</id>
<link rel='self' href='https://git.mciantyre.dev/ral-registers/atom?h=v0.2'/>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/ral-registers/'/>
<updated>2025-09-28T14:32:16+00:00</updated>
<entry>
<title>Prototype a v0.2</title>
<updated>2025-09-28T14:32:16+00:00</updated>
<author>
<name>Ian McIntyre</name>
<email>me@mciantyre.dev</email>
</author>
<published>2025-04-12T22:37:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/ral-registers/commit/?id=495fbc58b6f4d2e751b16883a2c5cee3c598fd79'/>
<id>urn:sha1:495fbc58b6f4d2e751b16883a2c5cee3c598fd79</id>
<content type='text'>
Needs to be documented. The gist: remove references to MMIO, and add
support for nested structures. Drop the reset_reg! macro.
</content>
</entry>
<entry>
<title>Allow trailing commas at register macros</title>
<updated>2023-06-18T15:10:38+00:00</updated>
<author>
<name>Finomnis</name>
<email>finomnis@gmail.com</email>
</author>
<published>2023-06-18T15:10:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/ral-registers/commit/?id=d49fb1ec06bcd89fee1fe20cb20ab82da91ce434'/>
<id>urn:sha1:d49fb1ec06bcd89fee1fe20cb20ab82da91ce434</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Expand macros testing for register scalars, arrays</title>
<updated>2022-12-07T14:42:54+00:00</updated>
<author>
<name>Ian McIntyre</name>
<email>ianpmcintyre@gmail.com</email>
</author>
<published>2022-11-03T15:44:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/ral-registers/commit/?id=1290bae4efb487e2b51ae6176a7211d84cbb447e'/>
<id>urn:sha1:1290bae4efb487e2b51ae6176a7211d84cbb447e</id>
<content type='text'>
The parent commit extends the macros to support both scalar and array
register access. This commit extends the macro test suite to test both
scalar and array register access.

It also tests that you can use things that deref to a register block,
including normal references, deref smart pointers, and raw pointers. The
tests cases carry over the shadowed variable tests.
</content>
</entry>
<entry>
<title>Add macro support for register arrays</title>
<updated>2022-12-07T14:42:54+00:00</updated>
<author>
<name>Ian McIntyre</name>
<email>ianpmcintyre@gmail.com</email>
</author>
<published>2022-09-22T17:49:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/ral-registers/commit/?id=a5850ab6d6c508fc3351fd86646bcf3fb1b69103'/>
<id>urn:sha1:a5850ab6d6c508fc3351fd86646bcf3fb1b69103</id>
<content type='text'>
I'm experimenting with a RAL code generator that collapses contiguous
register arrays. The generated code would resemble

    pub struct RegisterBlock {
        pub MY_ARRAY: [RWRegister&lt;u32&gt;; 3],
    }

and an individual register would be addressed like

    ral::read_reg!(ral::my_mod, my_inst, MY_ARRAY[1]);

This commit extends the four macros so that we can specify an array
offset. We simply need to match zero or more `[N]` patterns, where `N`
is some expression that produces an array offset. The included test case
shows that the approach should support multi-dimensional arrays.
</content>
</entry>
<entry>
<title>Begin testing read, write, modify macros</title>
<updated>2021-09-29T16:37:19+00:00</updated>
<author>
<name>Ian McIntyre</name>
<email>ianpmcintyre@gmail.com</email>
</author>
<published>2021-09-20T01:34:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.mciantyre.dev/ral-registers/commit/?id=1fe7f52c68cb590fe341294977c599d971b936a7'/>
<id>urn:sha1:1fe7f52c68cb590fe341294977c599d971b936a7</id>
<content type='text'>
Ported from the imxrt-ral core test suite.  Demonstrate that there are
no "unused variable" warnings in tests by denying warnings for select
tests. These tests show that #2 is resolved.
</content>
</entry>
</feed>
