foxBMS - Unit Tests  1.6.0
The foxBMS Unit Tests API Documentation
test_adi_ades1830_voltages.c File Reference

Test of some module. More...

#include "unity.h"
#include "Mockadi_ades183x_cfg.h"
#include "Mockos.h"
#include "Mockspi.h"
#include "adi_ades183x_buffers.h"
#include "adi_ades183x_commands.h"
#include "adi_ades183x_commands_voltages.h"
#include "adi_ades183x_defs.h"
#include "adi_ades183x_helpers.h"
#include "adi_ades183x_pec.h"
#include "adi_ades183x_voltages.h"
#include "spi_cfg-helper.h"
#include "test_assert_helper.h"
#include <stdbool.h>
#include <stdint.h>
Include dependency graph for test_adi_ades1830_voltages.c:

Go to the source code of this file.

Functions

void setUp (void)
 
void tearDown (void)
 
void testADI_CopyCommandBytesCellVoltageRegister (void)
 
void testADI_CopyCommandBytesAverageCellVoltageRegisters (void)
 
void testADI_CopyCommandBytesFilteredCellVoltageRegisters (void)
 
void testADI_CopyCommandBytesRedundantCellVoltageRegisters (void)
 
void testADI_ReadAndStoreVoltages (void)
 
void testADI_SaveRxToCellVoltageBuffer (void)
 
void testADI_GetStoredVoltageIndex (void)
 
void testADI_GetVoltages (void)
 

Variables

static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
 
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageAverageTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
 
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageFilteredTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
 
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageRedundantTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
 
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageOpenWireEvenTable
 
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageOpenWireOddTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
 
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageAverageOpenWireTable
 
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageRedundantOpenWireTable
 
static ADI_ERROR_TABLE_s adi_errorTable = {0}
 
static uint16_t adi_bufferRxPecTest [ADI_N_BYTES_FOR_DATA_TRANSMISSION] = {0}
 
static uint16_t adi_bufferTxPecTest [ADI_N_BYTES_FOR_DATA_TRANSMISSION] = {0}
 
ADI_STATE_s adi_stateBase
 
ADI_COMMAND_READ_REGISTERS_s commandBytes
 
const uint8_t adi_voltageInputsUsed [ADI_MAX_SUPPORTED_CELLS]
 
static spiDAT1_t spi_kAdiDataConfig [BS_NR_OF_STRINGS]
 
SPI_INTERFACE_CONFIG_s spi_adiInterface [BS_NR_OF_STRINGS]
 

Detailed Description

Test of some module.

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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

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:

  • ″This product uses parts of foxBMS®″
  • ″This product includes parts of foxBMS®″
  • ″This product is derived from foxBMS®″
Author
foxBMS Team
Date
2022-12-07 (date of creation)
Updated
2023-10-12 (date of last update)
Version
v1.6.0
Prefix
TEST

Definition in file test_adi_ades1830_voltages.c.

Function Documentation

◆ setUp()

void setUp ( void  )

Definition at line 180 of file test_adi_ades1830_voltages.c.

◆ tearDown()

void tearDown ( void  )

Definition at line 183 of file test_adi_ades1830_voltages.c.

◆ testADI_CopyCommandBytesAverageCellVoltageRegisters()

void testADI_CopyCommandBytesAverageCellVoltageRegisters ( void  )

Definition at line 202 of file test_adi_ades1830_voltages.c.

Here is the call graph for this function:

◆ testADI_CopyCommandBytesCellVoltageRegister()

void testADI_CopyCommandBytesCellVoltageRegister ( void  )

Definition at line 189 of file test_adi_ades1830_voltages.c.

Here is the call graph for this function:

◆ testADI_CopyCommandBytesFilteredCellVoltageRegisters()

void testADI_CopyCommandBytesFilteredCellVoltageRegisters ( void  )

Definition at line 215 of file test_adi_ades1830_voltages.c.

Here is the call graph for this function:

◆ testADI_CopyCommandBytesRedundantCellVoltageRegisters()

void testADI_CopyCommandBytesRedundantCellVoltageRegisters ( void  )

Definition at line 228 of file test_adi_ades1830_voltages.c.

Here is the call graph for this function:

◆ testADI_GetStoredVoltageIndex()

void testADI_GetStoredVoltageIndex ( void  )

Definition at line 526 of file test_adi_ades1830_voltages.c.

Here is the call graph for this function:

◆ testADI_GetVoltages()

void testADI_GetVoltages ( void  )

Definition at line 536 of file test_adi_ades1830_voltages.c.

Here is the call graph for this function:

◆ testADI_ReadAndStoreVoltages()

void testADI_ReadAndStoreVoltages ( void  )

Definition at line 241 of file test_adi_ades1830_voltages.c.

Here is the call graph for this function:

◆ testADI_SaveRxToCellVoltageBuffer()

void testADI_SaveRxToCellVoltageBuffer ( void  )

Definition at line 333 of file test_adi_ades1830_voltages.c.

Here is the call graph for this function:

Variable Documentation

◆ adi_bufferRxPecTest

uint16_t adi_bufferRxPecTest[ADI_N_BYTES_FOR_DATA_TRANSMISSION] = {0}
static

Definition at line 110 of file test_adi_ades1830_voltages.c.

◆ adi_bufferTxPecTest

uint16_t adi_bufferTxPecTest[ADI_N_BYTES_FOR_DATA_TRANSMISSION] = {0}
static

Definition at line 111 of file test_adi_ades1830_voltages.c.

◆ adi_cellVoltageAverageOpenWireTable

DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageAverageOpenWireTable
static
Initial value:
= {
.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
@ DATA_BLOCK_ID_CELL_VOLTAGE_BASE
Definition: database_cfg.h:90

Definition at line 105 of file test_adi_ades1830_voltages.c.

◆ adi_cellVoltageAverageTable

DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageAverageTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
static

Definition at line 99 of file test_adi_ades1830_voltages.c.

◆ adi_cellVoltageFilteredTable

DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageFilteredTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
static

Definition at line 100 of file test_adi_ades1830_voltages.c.

◆ adi_cellVoltageOpenWireEvenTable

DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageOpenWireEvenTable
static
Initial value:
= {
.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}

Definition at line 102 of file test_adi_ades1830_voltages.c.

◆ adi_cellVoltageOpenWireOddTable

DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageOpenWireOddTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
static

Definition at line 104 of file test_adi_ades1830_voltages.c.

◆ adi_cellVoltageRedundantOpenWireTable

DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageRedundantOpenWireTable
static
Initial value:
= {
.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}

Definition at line 107 of file test_adi_ades1830_voltages.c.

◆ adi_cellVoltageRedundantTable

DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageRedundantTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
static

Definition at line 101 of file test_adi_ades1830_voltages.c.

◆ adi_cellVoltageTable

DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageTable = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE}
static

Definition at line 98 of file test_adi_ades1830_voltages.c.

◆ adi_errorTable

ADI_ERROR_TABLE_s adi_errorTable = {0}
static

init in ADI_ResetErrorTable-function

Definition at line 109 of file test_adi_ades1830_voltages.c.

◆ adi_stateBase

ADI_STATE_s adi_stateBase
Initial value:
= {
.data.txBuffer = adi_bufferTxPecTest,
.data.rxBuffer = adi_bufferRxPecTest,
.data.cellVoltage = &adi_cellVoltageTable,
.data.cellVoltageAverage = &adi_cellVoltageAverageTable,
.data.cellVoltageFiltered = &adi_cellVoltageFilteredTable,
.data.cellVoltageRedundant = &adi_cellVoltageRedundantTable,
.data.cellVoltageOpenWireEven = &adi_cellVoltageOpenWireEvenTable,
.data.cellVoltageOpenWireOdd = &adi_cellVoltageOpenWireOddTable,
.data.cellVoltageAverageOpenWire = &adi_cellVoltageAverageOpenWireTable,
.data.cellVoltageRedundantOpenWire = &adi_cellVoltageRedundantOpenWireTable,
.data.errorTable = &adi_errorTable,
}
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageAverageTable
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageAverageOpenWireTable
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageOpenWireEvenTable
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageFilteredTable
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageOpenWireOddTable
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageTable
static uint16_t adi_bufferRxPecTest[ADI_N_BYTES_FOR_DATA_TRANSMISSION]
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageRedundantOpenWireTable
static DATA_BLOCK_CELL_VOLTAGE_s adi_cellVoltageRedundantTable
static uint16_t adi_bufferTxPecTest[ADI_N_BYTES_FOR_DATA_TRANSMISSION]
static ADI_ERROR_TABLE_s adi_errorTable

Contains the internal state of the adi driver.

Definition at line 113 of file test_adi_ades1830_voltages.c.

◆ adi_voltageInputsUsed

const uint8_t adi_voltageInputsUsed[ADI_MAX_SUPPORTED_CELLS]
Initial value:
= {
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
}

Lookup table to indicate which voltage inputs are used

Definition at line 137 of file test_adi_ades1830_voltages.c.

◆ commandBytes

Initial value:
= {
.registerA = {0},
.registerB = {0},
.registerC = {0},
.registerD = {0},
.registerE = {0},
.registerF = {0},
}

Definition at line 127 of file test_adi_ades1830_voltages.c.

◆ spi_adiInterface

Initial value:
= {
{
.pConfig = &spi_kAdiDataConfig[0u],
.pNode = spiREG1,
.pGioPort = &(spiREG1->PC3),
.csPin = 2u,
},
}
@ SPI_CHIP_SELECT_HARDWARE
Definition: spi_cfg.h:117
static spiDAT1_t spi_kAdiDataConfig[BS_NR_OF_STRINGS]

SPI interface configuration for ADI communication This is a list of structs because of multi string

Definition at line 169 of file test_adi_ades1830_voltages.c.

◆ spi_kAdiDataConfig

spiDAT1_t spi_kAdiDataConfig[BS_NR_OF_STRINGS]
static
Initial value:
= {
{
.CS_HOLD = TRUE,
.WDEL = FALSE,
.DFSEL = SPI_FMT_0,
}
#define SPI_HARDWARE_CHIP_SELECT_2_ACTIVE

SPI data configuration struct for ADI communication

Definition at line 157 of file test_adi_ades1830_voltages.c.