code: def _crc8(self, buffer):
          
  
          polynomial = 0x31;
          crc = 0xFF;
    
          index = 0
          for index in range(0, len(buffer)):
              crc ^= buffer[index]
              for i in range(8, 0, -1):
                  if crc & 0x80:
                      crc = (crc << 1) ^ polynomial
                  else:
                      crc = (crc << 1)
          return crc & 0xFF
docs: Polynomial 0x31 (x8 + x5 +x4 +1)