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

Test for the Maxim 1785x driver. More...

#include "unity.h"
#include "Mockafe_plausibility.h"
#include "Mockdatabase.h"
#include "Mockdiag.h"
#include "Mockfassert.h"
#include "Mockmxm_17841b.h"
#include "Mockmxm_41b_register_map.h"
#include "Mockmxm_battery_management.h"
#include "Mockmxm_cfg.h"
#include "Mockmxm_crc8.h"
#include "Mockmxm_registry.h"
#include "Mockos.h"
#include "Mocktsi.h"
#include "database_cfg.h"
#include "mxm_1785x.h"
#include "mxm_1785x_tools.h"
#include "test_assert_helper.h"
#include <stdbool.h>
#include <stdint.h>
Include dependency graph for test_mxm_1785x.c:

Go to the source code of this file.

Functions

void MXM_StateMachineOperation (MXM_MONITORING_INSTANCE_s *pState)
 State-Machine implementation for operation state. More...
 
MXM_MODEL_ID_e MXM_GetModelIdOfDaisyChain (void)
 returns the model ID of the daisy chain More...
 
void setUp (void)
 
void tearDown (void)
 
void testMXM_ParseVoltageReadallTest (void)
 
void testMXM_ConstructBalancingBufferTest (void)
 
void testTEST_MXM_ParseVoltageReadallNullPointer (void)
 
void testMXM_ParseVoltageReadallTestNullPointer (void)
 
void testMXM_ParseVoltagesIntoDBNullPointer (void)
 
void testMXM_MonGetVoltagesNullPointer (void)
 
void testMXM_HandleStateWriteallNullPointer (void)
 
void testMXM_HandleStateWriteallInvalidRequestStatus (void)
 
void testMXM_HandleStateWriteallEntry (void)
 
void testMXM_HandleStateWriteallUnprocessed (void)
 
void testMXM_HandleStateWriteallError (void)
 
void testMXM_HandleStateWriteallProcessed (void)
 
void testMXM_HandleStateReadallNullPointer (void)
 
void testMXM_HandleStateReadallInvalidRequestStatus (void)
 
void testMXM_HandleStateReadallUnsent (void)
 
void testMXM_HandleStateReadallUnprocessed (void)
 
void testMXM_HandleStateReadallError (void)
 
void testMXM_HandleStateReadallProcessed (void)
 
void testMXM_ProcessOpenWireNullPointer (void)
 
void testMXM_ProcessOpenWire1SatelliteAlternatingPattern (void)
 
void testMXM_StateMachineNullPointer (void)
 

Variables

static DATA_BLOCK_OPEN_WIRE_s mxm_tableOpenWire = {.header.uniqueId = DATA_BLOCK_ID_OPEN_WIRE_BASE}
 
static MXM_MONITORING_INSTANCE_s mxm_instance
 
const bool mxm_allowSkippingPostInitSelfCheck = true
 
static MXM_MODEL_ID_e modelForTest = MXM_MODEL_ID_MAX17852
 

Detailed Description

Test for the Maxim 1785x driver.

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
2020-07-02 (date of creation)
Updated
2023-10-12 (date of last update)
Version
v1.6.0
Prefix
MXM

def

Definition in file test_mxm_1785x.c.

Function Documentation

◆ MXM_GetModelIdOfDaisyChain()

MXM_MODEL_ID_e MXM_GetModelIdOfDaisyChain ( void  )

returns the model ID of the daisy chain

dummy implementation for the model id

Definition at line 142 of file test_mxm_1785x.c.

◆ MXM_StateMachineOperation()

void MXM_StateMachineOperation ( MXM_MONITORING_INSTANCE_s pState)

State-Machine implementation for operation state.

dummy implementation for the Operation state machine

Mapping of voltage registers

This array maps registers of the monitoring IC onto cell-numbers. The register values are defined in the MXM_REG_NAME_e enum. For now the length of this array is MXM_VOLTAGE_READ_ARRAY_LENGTH as it is enabled for the measurement of all cells, two AUX-voltages and one block voltage. This has to be adapted once this driver is enabled for general operation.

Definition at line 135 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ setUp()

void setUp ( void  )

Definition at line 147 of file test_mxm_1785x.c.

◆ tearDown()

void tearDown ( void  )

Definition at line 160 of file test_mxm_1785x.c.

◆ testMXM_ConstructBalancingBufferTest()

void testMXM_ConstructBalancingBufferTest ( void  )

This test aims to provoke the assertion that checks if the battery system fits the internal configuration

Definition at line 169 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateReadallError()

void testMXM_HandleStateReadallError ( void  )

Definition at line 276 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateReadallInvalidRequestStatus()

void testMXM_HandleStateReadallInvalidRequestStatus ( void  )

Definition at line 246 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateReadallNullPointer()

void testMXM_HandleStateReadallNullPointer ( void  )

Definition at line 242 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateReadallProcessed()

void testMXM_HandleStateReadallProcessed ( void  )

Definition at line 285 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateReadallUnprocessed()

void testMXM_HandleStateReadallUnprocessed ( void  )

Definition at line 269 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateReadallUnsent()

void testMXM_HandleStateReadallUnsent ( void  )

Definition at line 252 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateWriteallEntry()

void testMXM_HandleStateWriteallEntry ( void  )

Definition at line 212 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateWriteallError()

void testMXM_HandleStateWriteallError ( void  )

Definition at line 228 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateWriteallInvalidRequestStatus()

void testMXM_HandleStateWriteallInvalidRequestStatus ( void  )

Definition at line 206 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateWriteallNullPointer()

void testMXM_HandleStateWriteallNullPointer ( void  )

Definition at line 202 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateWriteallProcessed()

void testMXM_HandleStateWriteallProcessed ( void  )

Definition at line 235 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_HandleStateWriteallUnprocessed()

void testMXM_HandleStateWriteallUnprocessed ( void  )

Definition at line 223 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_MonGetVoltagesNullPointer()

void testMXM_MonGetVoltagesNullPointer ( void  )

Definition at line 198 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_ParseVoltageReadallTest()

void testMXM_ParseVoltageReadallTest ( void  )

Definition at line 164 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_ParseVoltageReadallTestNullPointer()

void testMXM_ParseVoltageReadallTestNullPointer ( void  )

Definition at line 190 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_ParseVoltagesIntoDBNullPointer()

void testMXM_ParseVoltagesIntoDBNullPointer ( void  )

Definition at line 194 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_ProcessOpenWire1SatelliteAlternatingPattern()

void testMXM_ProcessOpenWire1SatelliteAlternatingPattern ( void  )

Definition at line 301 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_ProcessOpenWireNullPointer()

void testMXM_ProcessOpenWireNullPointer ( void  )

Definition at line 297 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testMXM_StateMachineNullPointer()

void testMXM_StateMachineNullPointer ( void  )

Definition at line 327 of file test_mxm_1785x.c.

Here is the call graph for this function:

◆ testTEST_MXM_ParseVoltageReadallNullPointer()

void testTEST_MXM_ParseVoltageReadallNullPointer ( void  )

Definition at line 181 of file test_mxm_1785x.c.

Here is the call graph for this function:

Variable Documentation

◆ modelForTest

MXM_MODEL_ID_e modelForTest = MXM_MODEL_ID_MAX17852
static

local variable that allows to change the reported model id on a per test basis

Definition at line 139 of file test_mxm_1785x.c.

◆ mxm_allowSkippingPostInitSelfCheck

const bool mxm_allowSkippingPostInitSelfCheck = true

if this flag is set, the post init self check will pass on even if the satellite numbers are not correct

Definition at line 132 of file test_mxm_1785x.c.

◆ mxm_instance

MXM_MONITORING_INSTANCE_s mxm_instance
static

Definition at line 96 of file test_mxm_1785x.c.

◆ mxm_tableOpenWire

DATA_BLOCK_OPEN_WIRE_s mxm_tableOpenWire = {.header.uniqueId = DATA_BLOCK_ID_OPEN_WIRE_BASE}
static

Definition at line 94 of file test_mxm_1785x.c.