]>
description | Functional memory-mapped register access in modern C++ |
owner | Clyne Sullivan |
last change | Wed, 5 Feb 2025 20:53:00 +0000 (15:53 -0500) |
funreg provides a functional approach to interacting with registers. The library includes support for memory-mapped registers; however, other types of registers can be supported through creating a simple access interface.
A unique feature of this library is its ability to handle multiple register operations with a single function call; these operations will be merged together so that the register is only read and written once.
Registers may also be organized into groups. These groups can similarly receive a list of operations, which will be directed the to the appropriate registers for the same single-read-single-write process.
For example, LEDs can be controlled by a microcontroller with a single call:
cpp
LEDS::modify<LED1::set, LED2::clear, LED3::set>();
...no matter if the LEDs use different registers, or if any of them are controlled by an external circuit rather than a built-in IO peripheral.
See GUIDE.md
for a walk-through of the available functionality.
RTC
group to work with all real-time clock registers at once)6 months ago | master | shortlog | log | tree |
3 years ago | error-checking | shortlog | log | tree |