From 788316cd30e348a6ff060eb29139bd5b484d8de9 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Wed, 27 Dec 2023 14:54:23 -0500 Subject: [PATCH 01/37] feat: added 8bit j1850 crc parameters --- include/etl/private/crc_parameters.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/etl/private/crc_parameters.h b/include/etl/private/crc_parameters.h index 72cd1ef56..705684c06 100644 --- a/include/etl/private/crc_parameters.h +++ b/include/etl/private/crc_parameters.h @@ -79,6 +79,8 @@ namespace etl typedef crc_parameters crc8_itu_parameters; typedef crc_parameters crc8_maxim_parameters; typedef crc_parameters crc8_wcdma_parameters; + typedef crc_parameters crc8_j1850_parameters; + typedef crc_parameters crc8_j1850_zero_parameters; // 16 bit. typedef crc_parameters crc16_parameters; From a0d94feba0cb41906e4cc9275ec58e575d92675f Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Wed, 27 Dec 2023 15:02:15 -0500 Subject: [PATCH 02/37] feat: add crc8 j1850 header --- include/etl/crc8_j1850.h | 79 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 include/etl/crc8_j1850.h diff --git a/include/etl/crc8_j1850.h b/include/etl/crc8_j1850.h new file mode 100644 index 000000000..3e59a75c4 --- /dev/null +++ b/include/etl/crc8_j1850.h @@ -0,0 +1,79 @@ +///\file + +/****************************************************************************** +The MIT License(MIT) + +Embedded Template Library. +https://github.com/ETLCPP/etl +https://www.etlcpp.com + +Copyright(c) 2021 John Wellbelove + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files(the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +******************************************************************************/ + +#ifndef ETL_CRC8_CDMA2000_INCLUDED +#define ETL_CRC8_CDMA2000_INCLUDED + +#include "platform.h" +#include "private/crc_implementation.h" + +///\defgroup SAE J1850 8 bit CRC calculation +///\ingroup crc + +namespace etl +{ +#if ETL_USING_CPP11 && !defined(ETL_CRC_FORCE_CPP03_IMPLEMENTATION) + template + using crc8_j1850_t = etl::crc_type; +#else + template + class crc8_j1850_t : public etl::crc_type + { + public: + + //************************************************************************* + /// Default constructor. + //************************************************************************* + crc8_j1850_t() + { + this->reset(); + } + + //************************************************************************* + /// Constructor from range. + /// \param begin Start of the range. + /// \param end End of the range. + //************************************************************************* + template + crc8_j1850_t(TIterator begin, const TIterator end) + { + this->reset(); + this->add(begin, end); + } + }; +#endif + + typedef etl::crc8_j1850_t<256U> crc8_j1850_t256; + typedef etl::crc8_j1850_t<16U> crc8_j1850_t16; + typedef etl::crc8_j1850_t<4U> crc8_j1850_t4; + typedef crc8_j1850_t256 crc8_j1850; +} + +#endif From 881e8de8fe0bb377541b4a32774e45b7a9c8480b Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Wed, 27 Dec 2023 15:06:06 -0500 Subject: [PATCH 03/37] feat: add crc j1850 zero header --- include/etl/crc8_j1850_zero.h | 79 +++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 include/etl/crc8_j1850_zero.h diff --git a/include/etl/crc8_j1850_zero.h b/include/etl/crc8_j1850_zero.h new file mode 100644 index 000000000..1c9823b31 --- /dev/null +++ b/include/etl/crc8_j1850_zero.h @@ -0,0 +1,79 @@ +///\file + +/****************************************************************************** +The MIT License(MIT) + +Embedded Template Library. +https://github.com/ETLCPP/etl +https://www.etlcpp.com + +Copyright(c) 2021 John Wellbelove + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files(the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +******************************************************************************/ + +#ifndef ETL_CRC8_CDMA2000_INCLUDED +#define ETL_CRC8_CDMA2000_INCLUDED + +#include "platform.h" +#include "private/crc_implementation.h" + +///\defgroup SAE J1850 Zero 8 bit CRC calculation +///\ingroup crc + +namespace etl +{ +#if ETL_USING_CPP11 && !defined(ETL_CRC_FORCE_CPP03_IMPLEMENTATION) + template + using crc8_j1850_zero_t = etl::crc_type; +#else + template + class crc8_j1850_zero_t : public etl::crc_type + { + public: + + //************************************************************************* + /// Default constructor. + //************************************************************************* + crc8_j1850_zero_t() + { + this->reset(); + } + + //************************************************************************* + /// Constructor from range. + /// \param begin Start of the range. + /// \param end End of the range. + //************************************************************************* + template + crc8_j1850_zero_t(TIterator begin, const TIterator end) + { + this->reset(); + this->add(begin, end); + } + }; +#endif + + typedef etl::crc8_j1850_zero_t<256U> crc8_j1850_zero_t256; + typedef etl::crc8_j1850_zero_t<16U> crc8_j1850_zero_t16; + typedef etl::crc8_j1850_zero_t<4U> crc8_j1850_zero_t4; + typedef crc8_j1850_zero_t256 crc8_j1850_zero; +} + +#endif From 824a0ee14a50595a57fef706006ae8573d10bb52 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Wed, 27 Dec 2023 15:08:00 -0500 Subject: [PATCH 04/37] feat: add the crc j1850 headers to crc.h --- include/etl/crc.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/etl/crc.h b/include/etl/crc.h index eab6d7bc2..78ceb5526 100644 --- a/include/etl/crc.h +++ b/include/etl/crc.h @@ -40,6 +40,8 @@ SOFTWARE. #include "crc8_ebu.h" #include "crc8_icode.h" #include "crc8_itu.h" +#include "crc8_j1850_zero.h" +#include "crc8_j1850.h" #include "crc8_maxim.h" #include "crc8_rohc.h" #include "crc8_wcdma.h" From 552ff5e6b08ebfc63e57139e6de53e1157d09ad1 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Thu, 28 Dec 2023 11:30:26 -0500 Subject: [PATCH 05/37] test: j1850 4 constructor --- test/test_crc8_j1850.cpp | 263 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 test/test_crc8_j1850.cpp diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp new file mode 100644 index 000000000..6b61c8218 --- /dev/null +++ b/test/test_crc8_j1850.cpp @@ -0,0 +1,263 @@ +/****************************************************************************** +The MIT License(MIT) + +Embedded Template Library. +https://github.com/ETLCPP/etl +https://www.etlcpp.com + +Copyright(c) 2021 John Wellbelove + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files(the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +******************************************************************************/ + +#include "unit_test_framework.h" + +#include +#include +#include +#include + +#include "etl/crc8_j1850.h" + +//***************************************************************************** +// The results for these tests were created from http://www.sunshine2k.de/coding/javascript/crc/crc_js.html +//***************************************************************************** + +namespace +{ + SUITE(test_crc_crc8_j1850) + { + //************************************************************************* + // Table size 4 + //************************************************************************* + TEST(test_crc8_j1850_4_constructor) + { + std::string data("123456789"); + + uint8_t crc = etl::crc8_j1850_t4(data.begin(), data.end()); + + CHECK_EQUAL(0x4BU, int(crc)); + } + + //************************************************************************* + // TEST(test_crc8_cdma2000_4_add_values) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000_t4 crc_calculator; + + // for (size_t i = 0UL; i < data.size(); ++i) + // { + // crc_calculator.add(data[i]); + // } + + // uint8_t crc = crc_calculator; + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_4_add_range) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000_t4 crc_calculator; + + // crc_calculator.add(data.begin(), data.end()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_4_add_range_via_iterator) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000_t4 crc_calculator; + + // std::copy(data.begin(), data.end(), crc_calculator.input()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_4_add_range_endian) + // { + // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + // std::vector data2 = { 0x04030201UL, 0x08070605UL }; + // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + + // uint8_t crc1 = etl::crc8_cdma2000_t4(data1.begin(), data1.end()); + // uint8_t crc2 = etl::crc8_cdma2000_t4((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + // CHECK_EQUAL(int(crc1), int(crc2)); + + // uint8_t crc3 = etl::crc8_cdma2000_t4(data3.rbegin(), data3.rend()); + // CHECK_EQUAL(int(crc1), int(crc3)); + // } + + // //************************************************************************* + // // Table size 16 + // //************************************************************************* + // TEST(test_crc8_cdma2000_16_constructor) + // { + // std::string data("123456789"); + + // uint8_t crc = etl::crc8_cdma2000_t16(data.begin(), data.end()); + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_16_add_values) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000_t16 crc_calculator; + + // for (size_t i = 0UL; i < data.size(); ++i) + // { + // crc_calculator.add(data[i]); + // } + + // uint8_t crc = crc_calculator; + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_16_add_range) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000_t16 crc_calculator; + + // crc_calculator.add(data.begin(), data.end()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_16_add_range_via_iterator) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000_t16 crc_calculator; + + // std::copy(data.begin(), data.end(), crc_calculator.input()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_16_add_range_endian) + // { + // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + // std::vector data2 = { 0x04030201UL, 0x08070605UL }; + // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + + // uint8_t crc1 = etl::crc8_cdma2000_t16(data1.begin(), data1.end()); + // uint8_t crc2 = etl::crc8_cdma2000_t16((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + // CHECK_EQUAL(int(crc1), int(crc2)); + + // uint8_t crc3 = etl::crc8_cdma2000_t16(data3.rbegin(), data3.rend()); + // CHECK_EQUAL(int(crc1), int(crc3)); + // } + + // //************************************************************************* + // // Table size 256 + // //************************************************************************* + // TEST(test_crc8_cdma2000_256_constructor) + // { + // std::string data("123456789"); + + // uint8_t crc = etl::crc8_cdma2000(data.begin(), data.end()); + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_256_add_values) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000 crc_calculator; + + // for (size_t i = 0UL; i < data.size(); ++i) + // { + // crc_calculator.add(data[i]); + // } + + // uint8_t crc = crc_calculator; + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_256_add_range) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000 crc_calculator; + + // crc_calculator.add(data.begin(), data.end()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_256_add_range_via_iterator) + // { + // std::string data("123456789"); + + // etl::crc8_cdma2000 crc_calculator; + + // std::copy(data.begin(), data.end(), crc_calculator.input()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0xDAU, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_cdma2000_256_add_range_endian) + // { + // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + // std::vector data2 = { 0x04030201UL, 0x08070605UL }; + // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + + // uint8_t crc1 = etl::crc8_cdma2000(data1.begin(), data1.end()); + // uint8_t crc2 = etl::crc8_cdma2000((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + // CHECK_EQUAL(int(crc1), int(crc2)); + + // uint8_t crc3 = etl::crc8_cdma2000(data3.rbegin(), data3.rend()); + // CHECK_EQUAL(int(crc1), int(crc3)); + // } + }; +} + From 91d3b930f50bde88e1bd3f60cf0ef307de3fff34 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Thu, 28 Dec 2023 11:30:44 -0500 Subject: [PATCH 06/37] build: crc8 j1850 tests --- test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 4869a7c89..b20511809 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -98,6 +98,7 @@ add_executable(etl_tests test_crc8_ebu.cpp test_crc8_icode.cpp test_crc8_itu.cpp + test_crc8_j1850.cpp test_crc8_maxim.cpp test_crc8_rohc.cpp test_crc8_wcdma.cpp From 9b305f8c77259a1899f7d1157af849dd43e4c2ac Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Thu, 28 Dec 2023 11:33:47 -0500 Subject: [PATCH 07/37] test: crc8 j1850 4 add values --- test/test_crc8_j1850.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index 6b61c8218..9641d6210 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -56,21 +56,21 @@ namespace } //************************************************************************* - // TEST(test_crc8_cdma2000_4_add_values) - // { - // std::string data("123456789"); + TEST(test_crc8_j1850_4_add_values) + { + std::string data("123456789"); - // etl::crc8_cdma2000_t4 crc_calculator; + etl::crc8_j1850_t4 crc_calculator; - // for (size_t i = 0UL; i < data.size(); ++i) - // { - // crc_calculator.add(data[i]); - // } + for (size_t i = 0UL; i < data.size(); ++i) + { + crc_calculator.add(data[i]); + } - // uint8_t crc = crc_calculator; + uint8_t crc = crc_calculator; - // CHECK_EQUAL(0xDAU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_cdma2000_4_add_range) From ae47220e685df9dc681bb3d67abe987ce86416b3 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Thu, 28 Dec 2023 11:34:58 -0500 Subject: [PATCH 08/37] test: crc8 j1850 4 add range --- test/test_crc8_j1850.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index 9641d6210..f12287af8 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -72,19 +72,19 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_cdma2000_4_add_range) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_4_add_range) + { + std::string data("123456789"); - // etl::crc8_cdma2000_t4 crc_calculator; + etl::crc8_j1850_t4 crc_calculator; - // crc_calculator.add(data.begin(), data.end()); + crc_calculator.add(data.begin(), data.end()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0xDAU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_cdma2000_4_add_range_via_iterator) From ca01629565707b757d58a3bc86b87f1880b26f1b Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Thu, 28 Dec 2023 11:36:14 -0500 Subject: [PATCH 09/37] test: crc8 j1850 4 add range via iterator --- test/test_crc8_j1850.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index f12287af8..221c5606a 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -86,19 +86,19 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_cdma2000_4_add_range_via_iterator) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j18_50_4_add_range_via_iterator) + { + std::string data("123456789"); - // etl::crc8_cdma2000_t4 crc_calculator; + etl::crc8_j1850_t4 crc_calculator; - // std::copy(data.begin(), data.end(), crc_calculator.input()); + std::copy(data.begin(), data.end(), crc_calculator.input()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0xDAU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_cdma2000_4_add_range_endian) From 50f75a47d95e1068b766d4ca0263561cdaca61d3 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:31:29 -0500 Subject: [PATCH 10/37] test: crc8 j1850 4 add range endian --- test/test_crc8_j1850.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index 221c5606a..586f5e106 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -100,20 +100,20 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_cdma2000_4_add_range_endian) - // { - // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; - // std::vector data2 = { 0x04030201UL, 0x08070605UL }; - // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + //************************************************************************* + TEST(test_crc8_j1850_4_add_range_endian) + { + std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + std::vector data2 = { 0x04030201UL, 0x08070605UL }; + std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; - // uint8_t crc1 = etl::crc8_cdma2000_t4(data1.begin(), data1.end()); - // uint8_t crc2 = etl::crc8_cdma2000_t4((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); - // CHECK_EQUAL(int(crc1), int(crc2)); + uint8_t crc1 = etl::crc8_j1850_t4(data1.begin(), data1.end()); + uint8_t crc2 = etl::crc8_j1850_t4((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + CHECK_EQUAL(int(crc1), int(crc2)); - // uint8_t crc3 = etl::crc8_cdma2000_t4(data3.rbegin(), data3.rend()); - // CHECK_EQUAL(int(crc1), int(crc3)); - // } + uint8_t crc3 = etl::crc8_j1850_t4(data3.rbegin(), data3.rend()); + CHECK_EQUAL(int(crc1), int(crc3)); + } // //************************************************************************* // // Table size 16 From ac7f816612d38a593ba1bbb4d33b50ebe026590e Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:32:27 -0500 Subject: [PATCH 11/37] test: crc8 j1850 16 constructor --- test/test_crc8_j1850.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index 586f5e106..3641bec72 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -115,17 +115,17 @@ namespace CHECK_EQUAL(int(crc1), int(crc3)); } - // //************************************************************************* - // // Table size 16 - // //************************************************************************* - // TEST(test_crc8_cdma2000_16_constructor) - // { - // std::string data("123456789"); + //************************************************************************* + // Table size 16 + //************************************************************************* + TEST(test_crc8_j1850_16_constructor) + { + std::string data("123456789"); - // uint8_t crc = etl::crc8_cdma2000_t16(data.begin(), data.end()); + uint8_t crc = etl::crc8_j1850_t16(data.begin(), data.end()); - // CHECK_EQUAL(0xDAU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_cdma2000_16_add_values) From eae468d8f8f455c2cc249976711b53be78792c59 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:33:39 -0500 Subject: [PATCH 12/37] test: crc8 j1850 16 add values --- test/test_crc8_j1850.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index 3641bec72..ecdc3832b 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -127,22 +127,22 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_cdma2000_16_add_values) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_16_add_values) + { + std::string data("123456789"); - // etl::crc8_cdma2000_t16 crc_calculator; + etl::crc8_j1850_t16 crc_calculator; - // for (size_t i = 0UL; i < data.size(); ++i) - // { - // crc_calculator.add(data[i]); - // } + for (size_t i = 0UL; i < data.size(); ++i) + { + crc_calculator.add(data[i]); + } - // uint8_t crc = crc_calculator; + uint8_t crc = crc_calculator; - // CHECK_EQUAL(0xDAU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_cdma2000_16_add_range) From 759b1709307d4bf0b1a6b06916cca9e5327a94a8 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:34:33 -0500 Subject: [PATCH 13/37] test: crc8 j1850 16 add range --- test/test_crc8_j1850.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index ecdc3832b..d6935e14a 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -144,19 +144,19 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_cdma2000_16_add_range) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_16_add_range) + { + std::string data("123456789"); - // etl::crc8_cdma2000_t16 crc_calculator; + etl::crc8_j1850_t16 crc_calculator; - // crc_calculator.add(data.begin(), data.end()); + crc_calculator.add(data.begin(), data.end()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0xDAU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_cdma2000_16_add_range_via_iterator) From fc71f3a16588e3a715df8755461d8f2d0cfb21d4 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:35:38 -0500 Subject: [PATCH 14/37] test: crc8 j1850 16 add range via iterator --- test/test_crc8_j1850.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index d6935e14a..8e1ef763c 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -158,19 +158,19 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_cdma2000_16_add_range_via_iterator) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_16_add_range_via_iterator) + { + std::string data("123456789"); - // etl::crc8_cdma2000_t16 crc_calculator; + etl::crc8_j1850_t16 crc_calculator; - // std::copy(data.begin(), data.end(), crc_calculator.input()); + std::copy(data.begin(), data.end(), crc_calculator.input()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0xDAU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_cdma2000_16_add_range_endian) From cd3a95be2755771693e55cdd36197b4881de545a Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:36:50 -0500 Subject: [PATCH 15/37] test: crc8 j1850 16 add range endian --- test/test_crc8_j1850.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index 8e1ef763c..ec727a8c3 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -172,20 +172,20 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_cdma2000_16_add_range_endian) - // { - // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; - // std::vector data2 = { 0x04030201UL, 0x08070605UL }; - // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + //************************************************************************* + TEST(test_crc8_j1850_16_add_range_endian) + { + std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + std::vector data2 = { 0x04030201UL, 0x08070605UL }; + std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; - // uint8_t crc1 = etl::crc8_cdma2000_t16(data1.begin(), data1.end()); - // uint8_t crc2 = etl::crc8_cdma2000_t16((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); - // CHECK_EQUAL(int(crc1), int(crc2)); + uint8_t crc1 = etl::crc8_j1850_t16(data1.begin(), data1.end()); + uint8_t crc2 = etl::crc8_j1850_t16((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + CHECK_EQUAL(int(crc1), int(crc2)); - // uint8_t crc3 = etl::crc8_cdma2000_t16(data3.rbegin(), data3.rend()); - // CHECK_EQUAL(int(crc1), int(crc3)); - // } + uint8_t crc3 = etl::crc8_j1850_t16(data3.rbegin(), data3.rend()); + CHECK_EQUAL(int(crc1), int(crc3)); + } // //************************************************************************* // // Table size 256 From d07ca74ed2a4333f9e737286eba20586cec1e6d7 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:38:02 -0500 Subject: [PATCH 16/37] test: crc8 j1850 156 constructor --- test/test_crc8_j1850.cpp | 44 ++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index ec727a8c3..de924f149 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -187,24 +187,24 @@ namespace CHECK_EQUAL(int(crc1), int(crc3)); } - // //************************************************************************* - // // Table size 256 - // //************************************************************************* - // TEST(test_crc8_cdma2000_256_constructor) - // { - // std::string data("123456789"); + //************************************************************************* + // Table size 256 + //************************************************************************* + TEST(test_crc8_j1850_256_constructor) + { + std::string data("123456789"); - // uint8_t crc = etl::crc8_cdma2000(data.begin(), data.end()); + uint8_t crc = etl::crc8_j1850(data.begin(), data.end()); - // CHECK_EQUAL(0xDAU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* - // TEST(test_crc8_cdma2000_256_add_values) + // TEST(test_crc8_j1850_256_add_values) // { // std::string data("123456789"); - // etl::crc8_cdma2000 crc_calculator; + // etl::crc8_j1850 crc_calculator; // for (size_t i = 0UL; i < data.size(); ++i) // { @@ -213,49 +213,49 @@ namespace // uint8_t crc = crc_calculator; - // CHECK_EQUAL(0xDAU, int(crc)); + // CHECK_EQUAL(0x4BU, int(crc)); // } // //************************************************************************* - // TEST(test_crc8_cdma2000_256_add_range) + // TEST(test_crc8_j1850_256_add_range) // { // std::string data("123456789"); - // etl::crc8_cdma2000 crc_calculator; + // etl::crc8_j1850 crc_calculator; // crc_calculator.add(data.begin(), data.end()); // uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0xDAU, int(crc)); + // CHECK_EQUAL(0x4BU, int(crc)); // } // //************************************************************************* - // TEST(test_crc8_cdma2000_256_add_range_via_iterator) + // TEST(test_crc8_j1850_256_add_range_via_iterator) // { // std::string data("123456789"); - // etl::crc8_cdma2000 crc_calculator; + // etl::crc8_j1850 crc_calculator; // std::copy(data.begin(), data.end(), crc_calculator.input()); // uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0xDAU, int(crc)); + // CHECK_EQUAL(0x4BU, int(crc)); // } // //************************************************************************* - // TEST(test_crc8_cdma2000_256_add_range_endian) + // TEST(test_crc8_j1850_256_add_range_endian) // { // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; // std::vector data2 = { 0x04030201UL, 0x08070605UL }; // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; - // uint8_t crc1 = etl::crc8_cdma2000(data1.begin(), data1.end()); - // uint8_t crc2 = etl::crc8_cdma2000((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + // uint8_t crc1 = etl::crc8_j1850(data1.begin(), data1.end()); + // uint8_t crc2 = etl::crc8_j1850((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); // CHECK_EQUAL(int(crc1), int(crc2)); - // uint8_t crc3 = etl::crc8_cdma2000(data3.rbegin(), data3.rend()); + // uint8_t crc3 = etl::crc8_j1850(data3.rbegin(), data3.rend()); // CHECK_EQUAL(int(crc1), int(crc3)); // } }; From d29e93979de659339cad93b9ab7e26a3aaef876d Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:38:35 -0500 Subject: [PATCH 17/37] test: crc8 j1850 256 add values --- test/test_crc8_j1850.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index de924f149..448800ea6 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -199,22 +199,22 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_256_add_values) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_256_add_values) + { + std::string data("123456789"); - // etl::crc8_j1850 crc_calculator; + etl::crc8_j1850 crc_calculator; - // for (size_t i = 0UL; i < data.size(); ++i) - // { - // crc_calculator.add(data[i]); - // } + for (size_t i = 0UL; i < data.size(); ++i) + { + crc_calculator.add(data[i]); + } - // uint8_t crc = crc_calculator; + uint8_t crc = crc_calculator; - // CHECK_EQUAL(0x4BU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_256_add_range) From d4d193e27e3b400f4c7c10be23872571c9fd1d12 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:39:02 -0500 Subject: [PATCH 18/37] test: crc8 j1850 256 add range --- test/test_crc8_j1850.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index 448800ea6..f51ae0167 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -216,19 +216,19 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_256_add_range) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_256_add_range) + { + std::string data("123456789"); - // etl::crc8_j1850 crc_calculator; + etl::crc8_j1850 crc_calculator; - // crc_calculator.add(data.begin(), data.end()); + crc_calculator.add(data.begin(), data.end()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0x4BU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_256_add_range_via_iterator) From 64b21f99ffab39d1f9552812b2506ad1bc8b4247 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:39:49 -0500 Subject: [PATCH 19/37] test: crc8 j1850 add range via iterator --- test/test_crc8_j1850.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index f51ae0167..c31ee86a6 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -230,19 +230,19 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_256_add_range_via_iterator) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_256_add_range_via_iterator) + { + std::string data("123456789"); - // etl::crc8_j1850 crc_calculator; + etl::crc8_j1850 crc_calculator; - // std::copy(data.begin(), data.end(), crc_calculator.input()); + std::copy(data.begin(), data.end(), crc_calculator.input()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0x4BU, int(crc)); - // } + CHECK_EQUAL(0x4BU, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_256_add_range_endian) From 0e0d41bf5d1012db105189d07b9f885e8dfa935d Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:40:22 -0500 Subject: [PATCH 20/37] test: crc8 j1850 256 add range endian --- test/test_crc8_j1850.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/test/test_crc8_j1850.cpp b/test/test_crc8_j1850.cpp index c31ee86a6..1b50b14a5 100644 --- a/test/test_crc8_j1850.cpp +++ b/test/test_crc8_j1850.cpp @@ -244,20 +244,20 @@ namespace CHECK_EQUAL(0x4BU, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_256_add_range_endian) - // { - // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; - // std::vector data2 = { 0x04030201UL, 0x08070605UL }; - // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; - - // uint8_t crc1 = etl::crc8_j1850(data1.begin(), data1.end()); - // uint8_t crc2 = etl::crc8_j1850((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); - // CHECK_EQUAL(int(crc1), int(crc2)); - - // uint8_t crc3 = etl::crc8_j1850(data3.rbegin(), data3.rend()); - // CHECK_EQUAL(int(crc1), int(crc3)); - // } + //************************************************************************* + TEST(test_crc8_j1850_256_add_range_endian) + { + std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + std::vector data2 = { 0x04030201UL, 0x08070605UL }; + std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + + uint8_t crc1 = etl::crc8_j1850(data1.begin(), data1.end()); + uint8_t crc2 = etl::crc8_j1850((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + CHECK_EQUAL(int(crc1), int(crc2)); + + uint8_t crc3 = etl::crc8_j1850(data3.rbegin(), data3.rend()); + CHECK_EQUAL(int(crc1), int(crc3)); + } }; } From 9c1adbe0e6cffc85bf6e7eabe05254e307ff99fb Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:44:27 -0500 Subject: [PATCH 21/37] test: initial commit of crc j1850 zero tests --- test/test_crc8_j1850_zero.cpp | 263 ++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 test/test_crc8_j1850_zero.cpp diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp new file mode 100644 index 000000000..d33024272 --- /dev/null +++ b/test/test_crc8_j1850_zero.cpp @@ -0,0 +1,263 @@ +/****************************************************************************** +The MIT License(MIT) + +Embedded Template Library. +https://github.com/ETLCPP/etl +https://www.etlcpp.com + +Copyright(c) 2021 John Wellbelove + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files(the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +******************************************************************************/ + +#include "unit_test_framework.h" + +#include +#include +#include +#include + +#include "etl/crc8_j1850_zero.h" + +//***************************************************************************** +// The results for these tests were created from http://www.sunshine2k.de/coding/javascript/crc/crc_js.html +//***************************************************************************** + +namespace +{ + SUITE(test_crc_crc8_j1850_zero) + { + //************************************************************************* + // Table size 4 + //************************************************************************* + TEST(test_crc8_j1850_zero_4_constructor) + { + std::string data("123456789"); + + uint8_t crc = etl::crc8_j1850_zero_t4(data.begin(), data.end()); + + CHECK_EQUAL(0x37U, int(crc)); + } + + //************************************************************************* + // TEST(test_crc8_j1850_zero_4_add_values) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero_t4 crc_calculator; + + // for (size_t i = 0UL; i < data.size(); ++i) + // { + // crc_calculator.add(data[i]); + // } + + // uint8_t crc = crc_calculator; + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_4_add_range) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero_t4 crc_calculator; + + // crc_calculator.add(data.begin(), data.end()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j18_50_4_add_range_via_iterator) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero_t4 crc_calculator; + + // std::copy(data.begin(), data.end(), crc_calculator.input()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_4_add_range_endian) + // { + // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + // std::vector data2 = { 0x04030201UL, 0x08070605UL }; + // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + + // uint8_t crc1 = etl::crc8_j1850_zero_t4(data1.begin(), data1.end()); + // uint8_t crc2 = etl::crc8_j1850_zero_t4((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + // CHECK_EQUAL(int(crc1), int(crc2)); + + // uint8_t crc3 = etl::crc8_j1850_zero_t4(data3.rbegin(), data3.rend()); + // CHECK_EQUAL(int(crc1), int(crc3)); + // } + + // //************************************************************************* + // // Table size 16 + // //************************************************************************* + // TEST(test_crc8_j1850_zero_16_constructor) + // { + // std::string data("123456789"); + + // uint8_t crc = etl::crc8_j1850_zero_t16(data.begin(), data.end()); + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_16_add_values) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero_t16 crc_calculator; + + // for (size_t i = 0UL; i < data.size(); ++i) + // { + // crc_calculator.add(data[i]); + // } + + // uint8_t crc = crc_calculator; + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_16_add_range) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero_t16 crc_calculator; + + // crc_calculator.add(data.begin(), data.end()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_16_add_range_via_iterator) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero_t16 crc_calculator; + + // std::copy(data.begin(), data.end(), crc_calculator.input()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_16_add_range_endian) + // { + // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + // std::vector data2 = { 0x04030201UL, 0x08070605UL }; + // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + + // uint8_t crc1 = etl::crc8_j1850_zero_t16(data1.begin(), data1.end()); + // uint8_t crc2 = etl::crc8_j1850_zero_t16((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + // CHECK_EQUAL(int(crc1), int(crc2)); + + // uint8_t crc3 = etl::crc8_j1850_zero_t16(data3.rbegin(), data3.rend()); + // CHECK_EQUAL(int(crc1), int(crc3)); + // } + + // //************************************************************************* + // // Table size 256 + // //************************************************************************* + // TEST(test_crc8_j1850_zero_256_constructor) + // { + // std::string data("123456789"); + + // uint8_t crc = etl::crc8_j1850_zero(data.begin(), data.end()); + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_256_add_values) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero crc_calculator; + + // for (size_t i = 0UL; i < data.size(); ++i) + // { + // crc_calculator.add(data[i]); + // } + + // uint8_t crc = crc_calculator; + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_256_add_range) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero crc_calculator; + + // crc_calculator.add(data.begin(), data.end()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_256_add_range_via_iterator) + // { + // std::string data("123456789"); + + // etl::crc8_j1850_zero crc_calculator; + + // std::copy(data.begin(), data.end(), crc_calculator.input()); + + // uint8_t crc = crc_calculator.value(); + + // CHECK_EQUAL(0x37U, int(crc)); + // } + + // //************************************************************************* + // TEST(test_crc8_j1850_zero_256_add_range_endian) + // { + // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + // std::vector data2 = { 0x04030201UL, 0x08070605UL }; + // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + + // uint8_t crc1 = etl::crc8_j1850_zero(data1.begin(), data1.end()); + // uint8_t crc2 = etl::crc8_j1850_zero((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + // CHECK_EQUAL(int(crc1), int(crc2)); + + // uint8_t crc3 = etl::crc8_j1850_zero(data3.rbegin(), data3.rend()); + // CHECK_EQUAL(int(crc1), int(crc3)); + // } + }; +} + From 742e5e77a02490f418b7e0cebb312837d2bd7d9f Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:44:40 -0500 Subject: [PATCH 22/37] build: crc8 j1850 zero tests --- test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b20511809..e8afb2692 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -98,6 +98,7 @@ add_executable(etl_tests test_crc8_ebu.cpp test_crc8_icode.cpp test_crc8_itu.cpp + test_crc8_j1850_zero.cpp test_crc8_j1850.cpp test_crc8_maxim.cpp test_crc8_rohc.cpp From 77c922a5fcbb89279b748c2a5bb8b423ef92de1d Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:45:13 -0500 Subject: [PATCH 23/37] test: crc8 j1850 zero 4 add values --- test/test_crc8_j1850_zero.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index d33024272..fc121beb0 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -56,21 +56,21 @@ namespace } //************************************************************************* - // TEST(test_crc8_j1850_zero_4_add_values) - // { - // std::string data("123456789"); + TEST(test_crc8_j1850_zero_4_add_values) + { + std::string data("123456789"); - // etl::crc8_j1850_zero_t4 crc_calculator; + etl::crc8_j1850_zero_t4 crc_calculator; - // for (size_t i = 0UL; i < data.size(); ++i) - // { - // crc_calculator.add(data[i]); - // } + for (size_t i = 0UL; i < data.size(); ++i) + { + crc_calculator.add(data[i]); + } - // uint8_t crc = crc_calculator; + uint8_t crc = crc_calculator; - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_4_add_range) From e4f34dffd808a6549f9c19810a90fa875f0049ca Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:45:44 -0500 Subject: [PATCH 24/37] test: crc8 j1850 zero 4 add range --- test/test_crc8_j1850_zero.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index fc121beb0..9f7f0f811 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -72,19 +72,19 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_4_add_range) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_zero_4_add_range) + { + std::string data("123456789"); - // etl::crc8_j1850_zero_t4 crc_calculator; + etl::crc8_j1850_zero_t4 crc_calculator; - // crc_calculator.add(data.begin(), data.end()); + crc_calculator.add(data.begin(), data.end()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j18_50_4_add_range_via_iterator) From 9cd9ea7b4d2f5722b46f1756ee97768d990fae0e Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:46:54 -0500 Subject: [PATCH 25/37] test: crc8 j1850 zero 4 add range via iterator --- test/test_crc8_j1850_zero.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index 9f7f0f811..11d948617 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -86,19 +86,19 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j18_50_4_add_range_via_iterator) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_zero_4_add_range_via_iterator) + { + std::string data("123456789"); - // etl::crc8_j1850_zero_t4 crc_calculator; + etl::crc8_j1850_zero_t4 crc_calculator; - // std::copy(data.begin(), data.end(), crc_calculator.input()); + std::copy(data.begin(), data.end(), crc_calculator.input()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_4_add_range_endian) From 66cc42279ba3d6ffa473849c688395e4fb3c34b5 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:47:21 -0500 Subject: [PATCH 26/37] test: crc8 j1850 zero 4 add range endian --- test/test_crc8_j1850_zero.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index 11d948617..004eb4a10 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -100,20 +100,20 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_4_add_range_endian) - // { - // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; - // std::vector data2 = { 0x04030201UL, 0x08070605UL }; - // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + //************************************************************************* + TEST(test_crc8_j1850_zero_4_add_range_endian) + { + std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + std::vector data2 = { 0x04030201UL, 0x08070605UL }; + std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; - // uint8_t crc1 = etl::crc8_j1850_zero_t4(data1.begin(), data1.end()); - // uint8_t crc2 = etl::crc8_j1850_zero_t4((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); - // CHECK_EQUAL(int(crc1), int(crc2)); + uint8_t crc1 = etl::crc8_j1850_zero_t4(data1.begin(), data1.end()); + uint8_t crc2 = etl::crc8_j1850_zero_t4((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + CHECK_EQUAL(int(crc1), int(crc2)); - // uint8_t crc3 = etl::crc8_j1850_zero_t4(data3.rbegin(), data3.rend()); - // CHECK_EQUAL(int(crc1), int(crc3)); - // } + uint8_t crc3 = etl::crc8_j1850_zero_t4(data3.rbegin(), data3.rend()); + CHECK_EQUAL(int(crc1), int(crc3)); + } // //************************************************************************* // // Table size 16 From 01c7c7556b5fa79b163e7b382c47a546a0880ade Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:47:53 -0500 Subject: [PATCH 27/37] test: crc8 j1850 zero 16 constructor --- test/test_crc8_j1850_zero.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index 004eb4a10..04b638a74 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -115,17 +115,17 @@ namespace CHECK_EQUAL(int(crc1), int(crc3)); } - // //************************************************************************* - // // Table size 16 - // //************************************************************************* - // TEST(test_crc8_j1850_zero_16_constructor) - // { - // std::string data("123456789"); + //************************************************************************* + // Table size 16 + //************************************************************************* + TEST(test_crc8_j1850_zero_16_constructor) + { + std::string data("123456789"); - // uint8_t crc = etl::crc8_j1850_zero_t16(data.begin(), data.end()); + uint8_t crc = etl::crc8_j1850_zero_t16(data.begin(), data.end()); - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_16_add_values) From 25ceb47c8e04e71fc19272558cf0211c10f153e2 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:48:15 -0500 Subject: [PATCH 28/37] test: crc8 j1850 zero 16 add values --- test/test_crc8_j1850_zero.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index 04b638a74..b3a24565c 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -127,22 +127,22 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_16_add_values) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_zero_16_add_values) + { + std::string data("123456789"); - // etl::crc8_j1850_zero_t16 crc_calculator; + etl::crc8_j1850_zero_t16 crc_calculator; - // for (size_t i = 0UL; i < data.size(); ++i) - // { - // crc_calculator.add(data[i]); - // } + for (size_t i = 0UL; i < data.size(); ++i) + { + crc_calculator.add(data[i]); + } - // uint8_t crc = crc_calculator; + uint8_t crc = crc_calculator; - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_16_add_range) From 239a5a6542f631d912afbc107cafefd8a65ce500 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:48:37 -0500 Subject: [PATCH 29/37] test: crc8 j1850 zero 16 add range --- test/test_crc8_j1850_zero.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index b3a24565c..f8fc45f4e 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -144,19 +144,19 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_16_add_range) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_zero_16_add_range) + { + std::string data("123456789"); - // etl::crc8_j1850_zero_t16 crc_calculator; + etl::crc8_j1850_zero_t16 crc_calculator; - // crc_calculator.add(data.begin(), data.end()); + crc_calculator.add(data.begin(), data.end()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_16_add_range_via_iterator) From c1799f578a7a6761bf463ab49bb021a9cd8bb25f Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:48:56 -0500 Subject: [PATCH 30/37] test: crc8 j1850 zero 16 add range via iterator --- test/test_crc8_j1850_zero.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index f8fc45f4e..b7f25a712 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -158,19 +158,19 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_16_add_range_via_iterator) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_zero_16_add_range_via_iterator) + { + std::string data("123456789"); - // etl::crc8_j1850_zero_t16 crc_calculator; + etl::crc8_j1850_zero_t16 crc_calculator; - // std::copy(data.begin(), data.end(), crc_calculator.input()); + std::copy(data.begin(), data.end(), crc_calculator.input()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_16_add_range_endian) From a38d6fb5e4ea735cffcb60ee8fc8c09fd32ba657 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:49:15 -0500 Subject: [PATCH 31/37] test: crc8 j1850 zero 16 add range endian --- test/test_crc8_j1850_zero.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index b7f25a712..5c2a07692 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -172,20 +172,20 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_16_add_range_endian) - // { - // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; - // std::vector data2 = { 0x04030201UL, 0x08070605UL }; - // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + //************************************************************************* + TEST(test_crc8_j1850_zero_16_add_range_endian) + { + std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + std::vector data2 = { 0x04030201UL, 0x08070605UL }; + std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; - // uint8_t crc1 = etl::crc8_j1850_zero_t16(data1.begin(), data1.end()); - // uint8_t crc2 = etl::crc8_j1850_zero_t16((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); - // CHECK_EQUAL(int(crc1), int(crc2)); + uint8_t crc1 = etl::crc8_j1850_zero_t16(data1.begin(), data1.end()); + uint8_t crc2 = etl::crc8_j1850_zero_t16((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + CHECK_EQUAL(int(crc1), int(crc2)); - // uint8_t crc3 = etl::crc8_j1850_zero_t16(data3.rbegin(), data3.rend()); - // CHECK_EQUAL(int(crc1), int(crc3)); - // } + uint8_t crc3 = etl::crc8_j1850_zero_t16(data3.rbegin(), data3.rend()); + CHECK_EQUAL(int(crc1), int(crc3)); + } // //************************************************************************* // // Table size 256 From baab62973f25928c7f71054a221f7f5bd41f76c3 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:49:37 -0500 Subject: [PATCH 32/37] test: crc8 j1850 zero 256 constructor --- test/test_crc8_j1850_zero.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index 5c2a07692..70266c7a2 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -187,17 +187,17 @@ namespace CHECK_EQUAL(int(crc1), int(crc3)); } - // //************************************************************************* - // // Table size 256 - // //************************************************************************* - // TEST(test_crc8_j1850_zero_256_constructor) - // { - // std::string data("123456789"); + //************************************************************************* + // Table size 256 + //************************************************************************* + TEST(test_crc8_j1850_zero_256_constructor) + { + std::string data("123456789"); - // uint8_t crc = etl::crc8_j1850_zero(data.begin(), data.end()); + uint8_t crc = etl::crc8_j1850_zero(data.begin(), data.end()); - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_256_add_values) From 8679ade70f1d6e8a048cac50bcca1b27c372c91c Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:49:57 -0500 Subject: [PATCH 33/37] test: crc8 j1850 zero 256 add values --- test/test_crc8_j1850_zero.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index 70266c7a2..e37a5c92b 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -199,22 +199,22 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_256_add_values) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_zero_256_add_values) + { + std::string data("123456789"); - // etl::crc8_j1850_zero crc_calculator; + etl::crc8_j1850_zero crc_calculator; - // for (size_t i = 0UL; i < data.size(); ++i) - // { - // crc_calculator.add(data[i]); - // } + for (size_t i = 0UL; i < data.size(); ++i) + { + crc_calculator.add(data[i]); + } - // uint8_t crc = crc_calculator; + uint8_t crc = crc_calculator; - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_256_add_range) From 6c9540549eee66c3464a504374df273f8e955a32 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:50:24 -0500 Subject: [PATCH 34/37] test: crc8 j1850 zero 256 add range --- test/test_crc8_j1850_zero.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index e37a5c92b..522c49098 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -216,19 +216,19 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_256_add_range) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_zero_256_add_range) + { + std::string data("123456789"); - // etl::crc8_j1850_zero crc_calculator; + etl::crc8_j1850_zero crc_calculator; - // crc_calculator.add(data.begin(), data.end()); + crc_calculator.add(data.begin(), data.end()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_256_add_range_via_iterator) From 6bf94d9bec8ce53a0ef22b1fbae0660ba9838ada Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:50:46 -0500 Subject: [PATCH 35/37] test: crc8 j1850 zero 256 add range via iterator --- test/test_crc8_j1850_zero.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index 522c49098..b66365462 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -230,19 +230,19 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_256_add_range_via_iterator) - // { - // std::string data("123456789"); + //************************************************************************* + TEST(test_crc8_j1850_zero_256_add_range_via_iterator) + { + std::string data("123456789"); - // etl::crc8_j1850_zero crc_calculator; + etl::crc8_j1850_zero crc_calculator; - // std::copy(data.begin(), data.end(), crc_calculator.input()); + std::copy(data.begin(), data.end(), crc_calculator.input()); - // uint8_t crc = crc_calculator.value(); + uint8_t crc = crc_calculator.value(); - // CHECK_EQUAL(0x37U, int(crc)); - // } + CHECK_EQUAL(0x37U, int(crc)); + } // //************************************************************************* // TEST(test_crc8_j1850_zero_256_add_range_endian) From 91750639f7614d59fb1c6ab46fd6fdb08f8e2eb3 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 11:51:08 -0500 Subject: [PATCH 36/37] test: crc8 j1850 zero 256 add range endian --- test/test_crc8_j1850_zero.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/test/test_crc8_j1850_zero.cpp b/test/test_crc8_j1850_zero.cpp index b66365462..3ab0bae36 100644 --- a/test/test_crc8_j1850_zero.cpp +++ b/test/test_crc8_j1850_zero.cpp @@ -244,20 +244,20 @@ namespace CHECK_EQUAL(0x37U, int(crc)); } - // //************************************************************************* - // TEST(test_crc8_j1850_zero_256_add_range_endian) - // { - // std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; - // std::vector data2 = { 0x04030201UL, 0x08070605UL }; - // std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; - - // uint8_t crc1 = etl::crc8_j1850_zero(data1.begin(), data1.end()); - // uint8_t crc2 = etl::crc8_j1850_zero((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); - // CHECK_EQUAL(int(crc1), int(crc2)); - - // uint8_t crc3 = etl::crc8_j1850_zero(data3.rbegin(), data3.rend()); - // CHECK_EQUAL(int(crc1), int(crc3)); - // } + //************************************************************************* + TEST(test_crc8_j1850_zero_256_add_range_endian) + { + std::vector data1 = { 0x01U, 0x02U, 0x03U, 0x04U, 0x05U, 0x06U, 0x07U, 0x08U }; + std::vector data2 = { 0x04030201UL, 0x08070605UL }; + std::vector data3 = { 0x08U, 0x07U, 0x06U, 0x05U, 0x04U, 0x03U, 0x02U, 0x01U }; + + uint8_t crc1 = etl::crc8_j1850_zero(data1.begin(), data1.end()); + uint8_t crc2 = etl::crc8_j1850_zero((uint8_t*)&data2[0], (uint8_t*)(&data2[0] + data2.size())); + CHECK_EQUAL(int(crc1), int(crc2)); + + uint8_t crc3 = etl::crc8_j1850_zero(data3.rbegin(), data3.rend()); + CHECK_EQUAL(int(crc1), int(crc3)); + } }; } From 41f8fb7534265af6e55c4ef18b338faa4b064687 Mon Sep 17 00:00:00 2001 From: Drew Rife Date: Fri, 29 Dec 2023 12:03:51 -0500 Subject: [PATCH 37/37] fix: header include guards --- include/etl/crc8_j1850.h | 4 ++-- include/etl/crc8_j1850_zero.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/etl/crc8_j1850.h b/include/etl/crc8_j1850.h index 3e59a75c4..723a29528 100644 --- a/include/etl/crc8_j1850.h +++ b/include/etl/crc8_j1850.h @@ -28,8 +28,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ******************************************************************************/ -#ifndef ETL_CRC8_CDMA2000_INCLUDED -#define ETL_CRC8_CDMA2000_INCLUDED +#ifndef ETL_CRC8_J1850_INCLUDED +#define ETL_CRC8_J1850_INCLUDED #include "platform.h" #include "private/crc_implementation.h" diff --git a/include/etl/crc8_j1850_zero.h b/include/etl/crc8_j1850_zero.h index 1c9823b31..04bd7b556 100644 --- a/include/etl/crc8_j1850_zero.h +++ b/include/etl/crc8_j1850_zero.h @@ -28,8 +28,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ******************************************************************************/ -#ifndef ETL_CRC8_CDMA2000_INCLUDED -#define ETL_CRC8_CDMA2000_INCLUDED +#ifndef ETL_CRC8_J1850_ZERO_INCLUDED +#define ETL_CRC8_J1850_ZERO_INCLUDED #include "platform.h" #include "private/crc_implementation.h"