LCOV - code coverage report
Current view: top level - src/utils - CRC.cpp (source / functions) Hit Total Coverage
Test: lcov.info Lines: 2 20 10.0 %
Date: 2025-10-24 15:14:50 Functions: 1 2 50.0 %

          Line data    Source code
       1             : #include "CRC.h"
       2             : 
       3           1 : RadioLibCRC::RadioLibCRC() {
       4             : 
       5           1 : }
       6             : 
       7           0 : uint32_t RadioLibCRC::checksum(const uint8_t* buff, size_t len) {
       8           0 :   uint32_t crc = this->init;
       9           0 :   size_t pos = 0;
      10           0 :   for(size_t i = 0; i < 8*len; i++) {
      11           0 :     if(i % 8 == 0) {
      12           0 :       uint32_t in = buff[pos++];
      13           0 :       if(this->refIn) {
      14           0 :         in = rlb_reflect(in, 8);
      15             :       }
      16           0 :       crc ^= (in << (this->size - 8));
      17             :     }
      18             : 
      19           0 :     if(crc & ((uint32_t)1 << (this->size - 1))) {
      20           0 :       crc <<= (uint32_t)1;
      21           0 :       crc ^= this->poly;
      22             :     } else {
      23           0 :       crc <<= (uint32_t)1;
      24             :     }
      25             :   }
      26             : 
      27           0 :   crc ^= this->out;
      28           0 :   if(this->refOut) {
      29           0 :     crc = rlb_reflect(crc, this->size);
      30             :   }
      31           0 :   crc &= (uint32_t)0xFFFFFFFF >> (32 - this->size);
      32           0 :   return(crc);
      33             : }
      34             : 
      35             : RadioLibCRC RadioLibCRCInstance;

Generated by: LCOV version 1.14