Struct stm32_hal2::crc::Config [−][src]
pub struct Config { /* fields omitted */ }
Expand description
CRC unit configuration.
Implementations
impl Config
[src]
impl Config
[src]pub const fn new() -> Self
[src]
pub const fn new() -> Self
[src]Creates the Config struct with the default configuration of the STM32H7 CRC unit:
0x04C1_1DB7
polynomial0xFFFF_FFFF
initial value- Bits not reflected
0
output XOR
This configuration is the MPEG-2 CRC.
pub const fn polynomial(self, poly: Polynomial) -> Self
[src]
pub const fn polynomial(self, poly: Polynomial) -> Self
[src]Set the polynomial.
pub const fn initial_value(self, initial: u32) -> Self
[src]
pub const fn initial_value(self, initial: u32) -> Self
[src]Set the initial value of the CRC. The CRC unit will only use the needed
bits to match the polynomial; the default initial value 0xFFFF_FFFF
will actually write 0x7F
in the case of a 7-bit CRC, for example.
pub const fn reverse_input(self, reverse: Option<BitReversal>) -> Self
[src]
pub const fn reverse_input(self, reverse: Option<BitReversal>) -> Self
[src]Set how to reverse the bits of the input. None
means no reversal.
pub const fn reverse_output(self, reverse: bool) -> Self
[src]
pub const fn reverse_output(self, reverse: bool) -> Self
[src]Set whether to reverse the bits of the output.
pub fn reflect(self, reflect: bool) -> Self
[src]
pub fn reflect(self, reflect: bool) -> Self
[src]Set whether to reflect the CRC. When enabled, reflection is
BitReversal::Byte
and output reversal enabled. This is simply
a convenience function as many CRC algorithms call for this.
pub const fn output_xor(self, output_xor: u32) -> Self
[src]
pub const fn output_xor(self, output_xor: u32) -> Self
[src]Set the value to XOR the output with. Automatically masked to the proper size.