mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
Anna Bridge
Date:
Fri Jun 22 16:45:37 2018 +0100
Revision:
186:707f6e361f3e
Parent:
184:08ed48f1de7f
Child:
187:0387e8f68319
mbed-dev library. Release version 162

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 184:08ed48f1de7f 1 /* mbed Microcontroller Library
AnnaBridge 184:08ed48f1de7f 2 * Copyright (c) 2018 ARM Limited
AnnaBridge 184:08ed48f1de7f 3 *
AnnaBridge 184:08ed48f1de7f 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 184:08ed48f1de7f 5 * you may not use this file except in compliance with the License.
AnnaBridge 184:08ed48f1de7f 6 * You may obtain a copy of the License at
AnnaBridge 184:08ed48f1de7f 7 *
AnnaBridge 184:08ed48f1de7f 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 184:08ed48f1de7f 9 *
AnnaBridge 184:08ed48f1de7f 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 184:08ed48f1de7f 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 184:08ed48f1de7f 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 184:08ed48f1de7f 13 * See the License for the specific language governing permissions and
AnnaBridge 184:08ed48f1de7f 14 * limitations under the License.
AnnaBridge 184:08ed48f1de7f 15 */
AnnaBridge 184:08ed48f1de7f 16
AnnaBridge 184:08ed48f1de7f 17 #include <stddef.h>
AnnaBridge 184:08ed48f1de7f 18 #include "drivers/TableCRC.h"
AnnaBridge 184:08ed48f1de7f 19 #include "drivers/MbedCRC.h"
AnnaBridge 184:08ed48f1de7f 20
AnnaBridge 184:08ed48f1de7f 21 namespace mbed {
AnnaBridge 184:08ed48f1de7f 22 /** \addtogroup drivers */
AnnaBridge 184:08ed48f1de7f 23 /** @{*/
AnnaBridge 184:08ed48f1de7f 24
AnnaBridge 184:08ed48f1de7f 25 /* Default values for different types of polynomials
AnnaBridge 184:08ed48f1de7f 26 */
AnnaBridge 184:08ed48f1de7f 27 template<>
AnnaBridge 184:08ed48f1de7f 28 MbedCRC<POLY_32BIT_ANSI, 32>::MbedCRC(uint32_t initial_xor, uint32_t final_xor, bool reflect_data, bool reflect_remainder):
AnnaBridge 184:08ed48f1de7f 29 _initial_value(initial_xor), _final_xor(final_xor), _reflect_data(reflect_data), _reflect_remainder(reflect_remainder),
AnnaBridge 184:08ed48f1de7f 30 _crc_table((uint32_t *)Table_CRC_32bit_ANSI)
AnnaBridge 184:08ed48f1de7f 31 {
AnnaBridge 184:08ed48f1de7f 32 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 33 }
AnnaBridge 184:08ed48f1de7f 34
AnnaBridge 184:08ed48f1de7f 35 template<>
AnnaBridge 184:08ed48f1de7f 36 MbedCRC<POLY_8BIT_CCITT, 8>::MbedCRC(uint32_t initial_xor, uint32_t final_xor, bool reflect_data, bool reflect_remainder):
AnnaBridge 184:08ed48f1de7f 37 _initial_value(initial_xor), _final_xor(final_xor), _reflect_data(reflect_data), _reflect_remainder(reflect_remainder),
AnnaBridge 184:08ed48f1de7f 38 _crc_table((uint32_t *)Table_CRC_8bit_CCITT)
AnnaBridge 184:08ed48f1de7f 39 {
AnnaBridge 184:08ed48f1de7f 40 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 41 }
AnnaBridge 184:08ed48f1de7f 42
AnnaBridge 184:08ed48f1de7f 43 template<>
AnnaBridge 184:08ed48f1de7f 44 MbedCRC<POLY_7BIT_SD, 7>::MbedCRC(uint32_t initial_xor, uint32_t final_xor, bool reflect_data, bool reflect_remainder):
AnnaBridge 184:08ed48f1de7f 45 _initial_value(initial_xor), _final_xor(final_xor), _reflect_data(reflect_data), _reflect_remainder(reflect_remainder),
AnnaBridge 184:08ed48f1de7f 46 _crc_table((uint32_t *)Table_CRC_7Bit_SD)
AnnaBridge 184:08ed48f1de7f 47 {
AnnaBridge 184:08ed48f1de7f 48 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 49 }
AnnaBridge 184:08ed48f1de7f 50
AnnaBridge 184:08ed48f1de7f 51 template<>
AnnaBridge 184:08ed48f1de7f 52 MbedCRC<POLY_16BIT_CCITT, 16>::MbedCRC(uint32_t initial_xor, uint32_t final_xor, bool reflect_data, bool reflect_remainder):
AnnaBridge 184:08ed48f1de7f 53 _initial_value(initial_xor), _final_xor(final_xor), _reflect_data(reflect_data), _reflect_remainder(reflect_remainder),
AnnaBridge 184:08ed48f1de7f 54 _crc_table((uint32_t *)Table_CRC_16bit_CCITT)
AnnaBridge 184:08ed48f1de7f 55 {
Anna Bridge 186:707f6e361f3e 56 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 57 }
AnnaBridge 184:08ed48f1de7f 58
AnnaBridge 184:08ed48f1de7f 59 template<>
AnnaBridge 184:08ed48f1de7f 60 MbedCRC<POLY_16BIT_IBM, 16>::MbedCRC(uint32_t initial_xor, uint32_t final_xor, bool reflect_data, bool reflect_remainder):
AnnaBridge 184:08ed48f1de7f 61 _initial_value(initial_xor), _final_xor(final_xor), _reflect_data(reflect_data), _reflect_remainder(reflect_remainder),
AnnaBridge 184:08ed48f1de7f 62 _crc_table((uint32_t *)Table_CRC_16bit_IBM)
AnnaBridge 184:08ed48f1de7f 63 {
AnnaBridge 184:08ed48f1de7f 64 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 65 }
AnnaBridge 184:08ed48f1de7f 66
AnnaBridge 184:08ed48f1de7f 67 template<>
AnnaBridge 184:08ed48f1de7f 68 MbedCRC<POLY_32BIT_ANSI, 32>::MbedCRC():
AnnaBridge 184:08ed48f1de7f 69 _initial_value(~(0x0)), _final_xor(~(0x0)), _reflect_data(true), _reflect_remainder(true),
AnnaBridge 184:08ed48f1de7f 70 _crc_table((uint32_t *)Table_CRC_32bit_ANSI)
AnnaBridge 184:08ed48f1de7f 71 {
AnnaBridge 184:08ed48f1de7f 72 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 73 }
AnnaBridge 184:08ed48f1de7f 74
AnnaBridge 184:08ed48f1de7f 75 template<>
AnnaBridge 184:08ed48f1de7f 76 MbedCRC<POLY_16BIT_IBM, 16>::MbedCRC():
AnnaBridge 184:08ed48f1de7f 77 _initial_value(0), _final_xor(0), _reflect_data(true), _reflect_remainder(true),
AnnaBridge 184:08ed48f1de7f 78 _crc_table((uint32_t *)Table_CRC_16bit_IBM)
AnnaBridge 184:08ed48f1de7f 79 {
AnnaBridge 184:08ed48f1de7f 80 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 81 }
AnnaBridge 184:08ed48f1de7f 82
AnnaBridge 184:08ed48f1de7f 83 template<>
AnnaBridge 184:08ed48f1de7f 84 MbedCRC<POLY_16BIT_CCITT, 16>::MbedCRC():
AnnaBridge 184:08ed48f1de7f 85 _initial_value(~(0x0)), _final_xor(0), _reflect_data(false), _reflect_remainder(false),
AnnaBridge 184:08ed48f1de7f 86 _crc_table((uint32_t *)Table_CRC_16bit_CCITT)
AnnaBridge 184:08ed48f1de7f 87 {
AnnaBridge 184:08ed48f1de7f 88 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 89 }
AnnaBridge 184:08ed48f1de7f 90
AnnaBridge 184:08ed48f1de7f 91 template<>
AnnaBridge 184:08ed48f1de7f 92 MbedCRC<POLY_7BIT_SD, 7>::MbedCRC():
AnnaBridge 184:08ed48f1de7f 93 _initial_value(0), _final_xor(0), _reflect_data(false), _reflect_remainder(false),
AnnaBridge 184:08ed48f1de7f 94 _crc_table((uint32_t *)Table_CRC_7Bit_SD)
AnnaBridge 184:08ed48f1de7f 95 {
AnnaBridge 184:08ed48f1de7f 96 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 97 }
AnnaBridge 184:08ed48f1de7f 98
AnnaBridge 184:08ed48f1de7f 99 template<>
AnnaBridge 184:08ed48f1de7f 100 MbedCRC<POLY_8BIT_CCITT, 8>::MbedCRC():
AnnaBridge 184:08ed48f1de7f 101 _initial_value(0), _final_xor(0), _reflect_data(false), _reflect_remainder(false),
AnnaBridge 184:08ed48f1de7f 102 _crc_table((uint32_t *)Table_CRC_8bit_CCITT)
AnnaBridge 184:08ed48f1de7f 103 {
AnnaBridge 184:08ed48f1de7f 104 mbed_crc_ctor();
AnnaBridge 184:08ed48f1de7f 105 }
AnnaBridge 184:08ed48f1de7f 106
AnnaBridge 184:08ed48f1de7f 107 /** @}*/
AnnaBridge 184:08ed48f1de7f 108 } // namespace mbed
AnnaBridge 184:08ed48f1de7f 109