![]() |
foxBMS
1.6.0
The foxBMS Battery Management System API Documentation
|
Headers for the PEC computations. More...
#include <stdbool.h>
#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | ADI_PEC_BYTE_SIZE (8u) |
#define | ADI_PEC_ONE_BYTE_MASK (0xFFu) |
#define | ADI_PEC_PRECOMPUTED_TABLE_SIZE (256u) |
#define | ADI_PEC15_POLYNOMIAL_SIZE (15u) |
#define | ADI_PEC15_SEED (0x10u) |
#define | ADI_PEC15_MASK (0x7FFFu) |
#define | ADI_PEC10_POLYNOMIAL (0x48Fu) |
#define | ADI_PEC10_POLYNOMIAL_SIZE (10u) |
#define | ADI_PEC10_SEED (0x10u) |
#define | ADI_PEC10_MASK (0x3FFu) |
#define | ADI_PEC10_MSB_MASK (0x200u) |
#define | ADI_PEC10_COMMAND_COUNTER_SIZE_IN_BITS (6u) |
#define | ADI_PEC10_COMMAND_COUNTER_MASK (0xFCu) |
Functions | |
uint16_t | ADI_Pec15 (uint8_t length, uint8_t *data) |
calculates the PEC15 More... | |
uint16_t | ADI_Pec10 (uint8_t length, uint8_t *data, bool receive) |
calculates the PEC10 K More... | |
Headers for the PEC computations.
SPDX-License-Identifier: BSD-3-Clause
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
We kindly request you to use one or more of the following phrases to refer to foxBMS in your hardware, software, documentation or advertising materials:
The CRC polynomials used are defined in the data sheets of the ICs.
Definition in file adi_ades183x_pec.h.
#define ADI_PEC10_COMMAND_COUNTER_MASK (0xFCu) |
Defines for the PEC computation
Definition at line 82 of file adi_ades183x_pec.h.
#define ADI_PEC10_COMMAND_COUNTER_SIZE_IN_BITS (6u) |
Defines for the PEC computation
Definition at line 81 of file adi_ades183x_pec.h.
#define ADI_PEC10_MASK (0x3FFu) |
Defines for the PEC computation
Definition at line 79 of file adi_ades183x_pec.h.
#define ADI_PEC10_MSB_MASK (0x200u) |
Defines for the PEC computation
Definition at line 80 of file adi_ades183x_pec.h.
#define ADI_PEC10_POLYNOMIAL (0x48Fu) |
Defines for the PEC computation
Definition at line 76 of file adi_ades183x_pec.h.
#define ADI_PEC10_POLYNOMIAL_SIZE (10u) |
Defines for the PEC computation
Definition at line 77 of file adi_ades183x_pec.h.
#define ADI_PEC10_SEED (0x10u) |
Defines for the PEC computation
Definition at line 78 of file adi_ades183x_pec.h.
#define ADI_PEC15_MASK (0x7FFFu) |
Defines for the PEC computation
Definition at line 74 of file adi_ades183x_pec.h.
#define ADI_PEC15_POLYNOMIAL_SIZE (15u) |
Defines for the PEC computation
Definition at line 72 of file adi_ades183x_pec.h.
#define ADI_PEC15_SEED (0x10u) |
Defines for the PEC computation
Definition at line 73 of file adi_ades183x_pec.h.
#define ADI_PEC_BYTE_SIZE (8u) |
Defines for the PEC computation
Definition at line 68 of file adi_ades183x_pec.h.
#define ADI_PEC_ONE_BYTE_MASK (0xFFu) |
Defines for the PEC computation
Definition at line 69 of file adi_ades183x_pec.h.
#define ADI_PEC_PRECOMPUTED_TABLE_SIZE (256u) |
Defines for the PEC computation
Definition at line 70 of file adi_ades183x_pec.h.
uint16_t ADI_Pec10 | ( | uint8_t | length, |
uint8_t * | data, | ||
bool | receive | ||
) |
calculates the PEC10 K
length | Number of bytes that will be used to calculate a PEC |
data | Array of data that will be used to calculate a PEC |
receive | true if data was received, false if data is to be sent |
Definition at line 120 of file adi_ades183x_pec.c.
uint16_t ADI_Pec15 | ( | uint8_t | length, |
uint8_t * | data | ||
) |
calculates the PEC15
length | Number of bytes that will be used to calculate a PEC |
data | Array of data that will be used to calculate a PEC |
Definition at line 78 of file adi_ades183x_pec.c.