diff --git a/include/nuttx/crc8.h b/include/nuttx/crc8.h index 98c5e2d6dc2..81c7e957596 100644 --- a/include/nuttx/crc8.h +++ b/include/nuttx/crc8.h @@ -118,6 +118,12 @@ uint8_t crc8rohcpart(FAR const uint8_t *src, size_t len, uint8_t crc8val); uint8_t crc8rohc(FAR const uint8_t *src, size_t len); +/**************************************************************************** + * Name: crc8rohcincr + ****************************************************************************/ + +uint8_t crc8rohcincr(uint8_t data_byte, uint8_t crc8val); + #undef EXTERN #ifdef __cplusplus } diff --git a/libs/libc/misc/lib_crc8rohc.c b/libs/libc/misc/lib_crc8rohc.c index 890cece4566..274c6e43d57 100644 --- a/libs/libc/misc/lib_crc8rohc.c +++ b/libs/libc/misc/lib_crc8rohc.c @@ -88,3 +88,12 @@ uint8_t crc8rohc(FAR const uint8_t *src, size_t len) { return crc8rohcpart(src, len, 0xff); } + +/**************************************************************************** + * Name: crc8rohcincr + ****************************************************************************/ + +uint8_t crc8rohcincr(uint8_t data_byte, uint8_t crc8val) +{ + return g_crc8_tab[crc8val ^ data_byte]; +}