Open AndreySmirnov81 opened 2 years ago
I like the idea.
But I don't think we need to use it in bit
or read methods as it give us nothing except compilation deceleration.
Also for bit-banging it is useful only for 1-bitwise writable fields. So the question is do we need constants for all fields or only for such ones.
cc @rust-embedded/tools Any thoughts about the idea. Could offset constants be useful somewhere else? Free constant or associated on writer?
I have the same problem an would need this. In c i usually liked to build my register initialization values from macros which used the values provided by the CMSIS peripherals files. and use this to setup a register with one compile time calculated value.
To be able to manipulation of peripheral registers through bit-banding, the values of the offset of the modifiable bit fields in the registers are required.
For example, there are functions for bit-banding here: https://docs.rs/stm32f1xx-hal/0.9.0/stm32f1xx_hal/bb/index.html
Implementation variant:
Example of an implementation variant (stm32f1):
Usage example: