.. _module-pw_checksum: ----------- pw_checksum ----------- The ``pw_checksum`` module provides functions for calculating checksums. pw_checksum/crc16_ccitt.h ========================= .. cpp:namespace:: pw::checksum .. cpp:var:: constexpr uint16_t kCcittCrc16DefaultInitialValue = 0xFFFF The default initial value for the CRC16. .. cpp:function:: uint16_t CcittCrc16(span data, uint16_t initial_value = kCcittCrc16DefaultInitialValue) Calculates the CRC16 of the provided data using polynomial 0x1021, with a default initial value of :cpp:expr:`0xFFFF`. To incrementally calculate a CRC16, use the previous value as the initial value. .. code-block:: cpp uint16_t crc = CcittCrc16(my_data); crc = CcittCrc16(more_data, crc); pw_checksum/crc32.h =================== .. cpp:var:: constexpr uint32_t kCrc32InitialValue = 0xFFFFFFFF The initial value for the CRC32. .. cpp:function:: uint32_t Crc32(span data) Calculates the initial / one-time CRC32 of the provided data using polynomial 0x4C11DB7, with an initial value of :cpp:expr:`0xFFFFFFFF`. .. code-block:: cpp uint32_t crc = Crc32(my_data); .. cpp:function:: uint32_t Crc32(span data, uint32_t previous_result) Incrementally append calculation of a CRC32, need to pass in the previous result. .. code-block:: cpp uint32_t crc = Crc32(my_data); crc = Crc32(more_data, crc); Compatibility ============= * C * C++17 Dependencies ============ * ``pw_span``