foxBMS  1.6.0
The foxBMS Battery Management System API Documentation
can_cbs_tx_cell-temperatures.c File Reference

CAN driver Tx callback implementation. More...

#include "can_cbs_tx.h"
#include "can_cfg_tx-message-definitions.h"
#include "can_helper.h"
#include "foxmath.h"
#include <math.h>
#include <stdint.h>
Include dependency graph for can_cbs_tx_cell-temperatures.c:

Go to the source code of this file.

Functions

static void CANTX_TemperatureSetData (uint8_t muxId, uint64_t *pMessage, CAN_SIGNAL_TYPE_s cellTemperatureSignal, CAN_SIGNAL_TYPE_s cellTemperatureInvalidFlagSignal, CAN_ENDIANNESS_e endianness, const CAN_SHIM_s *const kpkCanShim)
 Helper function for CANTX_CellTemperatures() More...
 
uint32_t CANTX_CellTemperatures (CAN_MESSAGE_PROPERTIES_s message, uint8_t *pCanData, uint8_t *pMuxId, const CAN_SHIM_s *const kpkCanShim)
 can tx callback function for cell temperatures More...
 

Variables

static const CAN_SIGNAL_TYPE_s cantx_cellTemperatureMultiplexer = {7u, 8u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell0TemperatureInvalidFlag = {8u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell1TemperatureInvalidFlag = {9u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell2TemperatureInvalidFlag = {10u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell3TemperatureInvalidFlag = {11u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell4TemperatureInvalidFlag = {12u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell5TemperatureInvalidFlag = {13u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell0Temperature_degC = {23u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell1Temperature_degC = {31u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell2Temperature_degC = {39u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell3Temperature_degC = {47u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell4Temperature_degC = {55u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cantx_cell5Temperature_degC = {63u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 

Detailed Description

CAN driver Tx callback implementation.

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
2021-04-20 (date of creation)
Updated
2023-10-12 (date of last update)
Version
v1.6.0
Prefix
CANTX

CAN Tx callback for cell temperatures

Definition in file can_cbs_tx_cell-temperatures.c.

Function Documentation

◆ CANTX_CellTemperatures()

uint32_t CANTX_CellTemperatures ( CAN_MESSAGE_PROPERTIES_s  message,
uint8_t *  pCanData,
uint8_t *  pMuxId,
const CAN_SHIM_s *const  kpkCanShim 
)

can tx callback function for cell temperatures

Parameters
[in]messagecontains the message ID, DLC and endianness
[in]pCanDatapayload of can frame
[in]pMuxIdmultiplexer for multiplexed CAN messages
[in]kpkCanShimshim to the database entries

Definition at line 172 of file can_cbs_tx_cell-temperatures.c.

Here is the call graph for this function:

◆ CANTX_TemperatureSetData()

static void CANTX_TemperatureSetData ( uint8_t  muxId,
uint64_t *  pMessage,
CAN_SIGNAL_TYPE_s  cellTemperatureSignal,
CAN_SIGNAL_TYPE_s  cellTemperatureInvalidFlagSignal,
CAN_ENDIANNESS_e  endianness,
const CAN_SHIM_s *const  kpkCanShim 
)
static

Helper function for CANTX_CellTemperatures()

Used in the CANTX_CellTemperatures() callback to set invalid flag data and temperature data in the CAN frame.

Parameters
[in]muxIdmultiplexer value
[in]pMessagepointer to CAN frame data
[in]cellTemperatureSignalsignal characteristics for temperature data
[in]cellTemperatureInvalidFlagSignalsignal characteristics for invalid flag data
[in]endiannessbig or little endianness of data
[in]kpkCanShimshim to the database entries

Definition at line 115 of file can_cbs_tx_cell-temperatures.c.

Here is the call graph for this function:

Variable Documentation

◆ cantx_cell0Temperature_degC

const CAN_SIGNAL_TYPE_s cantx_cell0Temperature_degC = {23u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
static

Definition at line 80 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell0TemperatureInvalidFlag

const CAN_SIGNAL_TYPE_s cantx_cell0TemperatureInvalidFlag = {8u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
static

Definition at line 74 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell1Temperature_degC

const CAN_SIGNAL_TYPE_s cantx_cell1Temperature_degC = {31u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
static

Definition at line 81 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell1TemperatureInvalidFlag

const CAN_SIGNAL_TYPE_s cantx_cell1TemperatureInvalidFlag = {9u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
static

Definition at line 75 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell2Temperature_degC

const CAN_SIGNAL_TYPE_s cantx_cell2Temperature_degC = {39u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
static

Definition at line 82 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell2TemperatureInvalidFlag

const CAN_SIGNAL_TYPE_s cantx_cell2TemperatureInvalidFlag = {10u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
static

Definition at line 76 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell3Temperature_degC

const CAN_SIGNAL_TYPE_s cantx_cell3Temperature_degC = {47u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
static

Definition at line 83 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell3TemperatureInvalidFlag

const CAN_SIGNAL_TYPE_s cantx_cell3TemperatureInvalidFlag = {11u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
static

Definition at line 77 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell4Temperature_degC

const CAN_SIGNAL_TYPE_s cantx_cell4Temperature_degC = {55u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
static

Definition at line 84 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell4TemperatureInvalidFlag

const CAN_SIGNAL_TYPE_s cantx_cell4TemperatureInvalidFlag = {12u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
static

Definition at line 78 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell5Temperature_degC

const CAN_SIGNAL_TYPE_s cantx_cell5Temperature_degC = {63u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
static

Definition at line 85 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cell5TemperatureInvalidFlag

const CAN_SIGNAL_TYPE_s cantx_cell5TemperatureInvalidFlag = {13u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
static

Definition at line 79 of file can_cbs_tx_cell-temperatures.c.

◆ cantx_cellTemperatureMultiplexer

const CAN_SIGNAL_TYPE_s cantx_cellTemperatureMultiplexer = {7u, 8u, 1.0f, 0.0f, 0.0f, 1.0f}
static

CAN signals used in this message Parameters: bit start, bit length, factor, offset, minimum value, maximum value

Definition at line 73 of file can_cbs_tx_cell-temperatures.c.