LCOV - code coverage report
Current view: top level - util - pn9.c (source / functions) Hit Total Coverage
Test: test-37de7e7-dirty-coverage.info Lines: 16 16 100.0 %
Date: 2019-04-16 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /**
       2             :  * @ingroup pn9
       3             :  *
       4             :  * @file pn9.c
       5             :  *
       6             :  * @{
       7             :  */
       8             : 
       9             : #include "../firmware.h"
      10             : 
      11           9 : void Util_pn9(uint8_t *buffer, uint32_t preroll, uint32_t length)
      12             : {
      13             :   /* Uses CC1120 PN9 Sequence */
      14             :   uint16_t state;
      15             :   uint16_t j;
      16             : 
      17           9 :   if(length == 0)
      18           1 :     return;
      19             : 
      20           8 :   state = 0x01FF;
      21             : 
      22           8 :   if(preroll == 0)
      23             :   {
      24           6 :     *buffer++ ^= 0xFF;
      25           6 :     length--;
      26             :   }
      27             :   else
      28             :   {
      29         548 :     while(preroll--)
      30             :     {
      31        4896 :       for(j=0; j<8; j++)
      32             :       {
      33        4352 :         state = (uint16_t)((state >> 1) + ((((state & 0x01) ^ (state >> 5)) & 0x01) << 8));
      34             :       }
      35             :     }
      36           2 :     *buffer++ ^= (uint8_t)state;
      37           2 :     length--;
      38             :   }
      39             : 
      40        2440 :   while(length--)
      41             :   {
      42       21816 :     for(j=0; j<8; j++)
      43             :     {
      44       19392 :       state = (uint16_t)((state >> 1) + ((((state & 0x01) ^ (state >> 5)) & 0x01) << 8));
      45             :     }
      46             : 
      47        2424 :     *buffer++ ^= (uint8_t)state;
      48             :   }
      49             : }
      50             : 
      51             : /**
      52             :  * @}
      53             :  */

Generated by: LCOV version 1.10