no-OS
Macros | Functions
crc16.h File Reference

Header file of CRC-16 computation. More...

#include <stdint.h>
#include <stddef.h>
Include dependency graph for crc16.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CRC16_TABLE_SIZE   256
 
#define DECLARE_CRC16_TABLE(_table)   static uint16_t _table[CRC16_TABLE_SIZE]
 

Functions

void crc16_populate_msb (uint16_t *table, const uint16_t polynomial)
 
uint16_t crc16 (const uint16_t *table, const uint8_t *pdata, size_t nbytes, uint16_t crc)
 

Detailed Description

Header file of CRC-16 computation.

Author
Darius Berghe (dariu.nosp@m.s.be.nosp@m.rghe@.nosp@m.anal.nosp@m.og.co.nosp@m.m)

Copyright 2020(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Macro Definition Documentation

◆ CRC16_TABLE_SIZE

#define CRC16_TABLE_SIZE   256

◆ DECLARE_CRC16_TABLE

#define DECLARE_CRC16_TABLE (   _table)    static uint16_t _table[CRC16_TABLE_SIZE]

Function Documentation

◆ crc16()

uint16_t crc16 ( const uint16_t *  table,
const uint8_t *  pdata,
size_t  nbytes,
uint16_t  crc 
)
Here is the caller graph for this function:

◆ crc16_populate_msb()

void crc16_populate_msb ( uint16_t *  table,
const uint16_t  polynomial 
)
Here is the caller graph for this function: