pw_kvs: Implement CRC16 checksum for KVS
- Create CRC16 implementation of pw::kvs::ChecksumAlgorithm.
- Add tests for the ChecksumAlgorithm class.
Change-Id: I3d7268e49c4eec06d61e113602ce24c05a3b0fa0
diff --git a/pw_kvs/BUILD b/pw_kvs/BUILD
index 5433285..69a13ec 100644
--- a/pw_kvs/BUILD
+++ b/pw_kvs/BUILD
@@ -33,6 +33,7 @@
],
hdrs = [
"public/pw_kvs/checksum.h",
+ "public/pw_kvs/crc16_checksum.h",
"public/pw_kvs/flash_memory.h",
"public/pw_kvs/in_memory_fake_flash.h",
"public/pw_kvs/key_value_store.h",
@@ -45,10 +46,33 @@
],
)
+pw_cc_library(
+ name = "crc16",
+ hdrs = [
+ "public/pw_kvs/crc16_checksum.h",
+ ],
+ deps = [
+ ":pw_kvs",
+ "//pw_checksum",
+ ],
+)
+
+pw_cc_test(
+ name = "checksum_test",
+ srcs = ["checksum_test.cc"],
+ deps = [
+ ":crc16",
+ ":pw_kvs",
+ "//pw_checksum",
+ "//pw_log",
+ ],
+)
+
pw_cc_test(
name = "key_value_store_test",
srcs = ["key_value_store_test.cc"],
deps = [
+ ":crc16",
":pw_kvs",
"//pw_checksum",
"//pw_log",