Implementation of CRC16 using polynomial 0x8005 = X^16 + X^15 + X^2 + 1

Dependents:   Manchester_Transmitter Manchester_Receiver ManchesterUART_Transmitter ManchesterUART_Receiver

Fork of CRC16 by Emilie Laverge

Revision:
3:3f5622979e77
Parent:
2:a01521fb2fe1
--- a/CRC16.h	Mon May 22 09:32:41 2017 +0000
+++ b/CRC16.h	Sun Sep 03 08:28:01 2017 +0000
@@ -1,6 +1,8 @@
 /*
  * This is a fork of the CRC16 library COPYRIGHT(c) Emilie Laverge
  * published at [https://developer.mbed.org/users/EmLa/code/CRC16/]
+ * using the polynomial 0x8005: X^16 + X^15 + X^2 + 1.
+ * Default initial CRC value = 0x0000
  *
  * Modified by Zoltan Hudak
  */
@@ -14,8 +16,8 @@
     static const unsigned int   SHIFTER;
     static const unsigned short TABLE[];
 public:
-    CRC16(void) { };
-    ~CRC16(void){ };
-    unsigned short  calc(char input[], int length);
+    CRC16(void){};
+    ~CRC16(void){};
+    unsigned short calc(char input[], int length, unsigned short crc = 0x0000);
 };
 #endif // CRC16_H