libyggdrasil  v1.0.0
bsp::asg_coproc::drv::Hash< BaseAddress > Struct Template Reference

CRC abstraction for Asgard. More...

#include <hash.hpp>

Public Member Functions

 Hash ()=delete
 
 Hash (const Hash &)=delete
 
auto operator= (const Hash &)=delete
 

Static Public Member Functions

static bool init ()
 Init function. More...
 
static bool deinit ()
 Deinit function. More...
 
static u8 getCRC8 (const auto &data, u8 initValue=0x00, u8 polynomial=0xD5) noexcept
 Hardware accelerated CRC8 caluclation. More...
 
static u16 getCRC16 (const auto &data, u16 initValue=0x00, u16 polynomial=0x8005) noexcept
 Hardware accelerated CRC16 caluclation. More...
 
static u32 getCRC32 (const auto &data, u32 initValue=0x00, u32 polynomial=0x04C11DB7) noexcept
 Hardware accelerated CRC32 caluclation. More...
 

Detailed Description

template<addr_t BaseAddress>
struct bsp::asg_coproc::drv::Hash< BaseAddress >

CRC abstraction for Asgard.

Template Parameters
BaseAddressCRC Peripheral base address

Constructor & Destructor Documentation

◆ Hash() [1/2]

template<addr_t BaseAddress>
bsp::asg_coproc::drv::Hash< BaseAddress >::Hash ( )
delete

◆ Hash() [2/2]

template<addr_t BaseAddress>
bsp::asg_coproc::drv::Hash< BaseAddress >::Hash ( const Hash< BaseAddress > &  )
delete

Member Function Documentation

◆ deinit()

template<addr_t BaseAddress>
static bool bsp::asg_coproc::drv::Hash< BaseAddress >::deinit ( )
inlinestatic

Deinit function.

Returns
Success

◆ getCRC16()

template<addr_t BaseAddress>
static u16 bsp::asg_coproc::drv::Hash< BaseAddress >::getCRC16 ( const auto &  data,
u16  initValue = 0x00,
u16  polynomial = 0x8005 
)
inlinestaticnoexcept

Hardware accelerated CRC16 caluclation.

Parameters
dataData to calculate CRC of
initValueStart value
polynomialUsed polynomial

◆ getCRC32()

template<addr_t BaseAddress>
static u32 bsp::asg_coproc::drv::Hash< BaseAddress >::getCRC32 ( const auto &  data,
u32  initValue = 0x00,
u32  polynomial = 0x04C11DB7 
)
inlinestaticnoexcept

Hardware accelerated CRC32 caluclation.

Parameters
dataData to calculate CRC of
initValueStart value
polynomialUsed polynomial

◆ getCRC8()

template<addr_t BaseAddress>
static u8 bsp::asg_coproc::drv::Hash< BaseAddress >::getCRC8 ( const auto &  data,
u8  initValue = 0x00,
u8  polynomial = 0xD5 
)
inlinestaticnoexcept

Hardware accelerated CRC8 caluclation.

Parameters
dataData to calculate CRC of
initValueStart value
polynomialUsed polynomial

◆ init()

template<addr_t BaseAddress>
static bool bsp::asg_coproc::drv::Hash< BaseAddress >::init ( )
inlinestatic

Init function.

Returns
Success

◆ operator=()

template<addr_t BaseAddress>
auto bsp::asg_coproc::drv::Hash< BaseAddress >::operator= ( const Hash< BaseAddress > &  )
delete

The documentation for this struct was generated from the following file: