foxBMS  1.2.0
The foxBMS Battery Management System API Documentation
can_cbs_tx_temperature.c File Reference

CAN driver Tx callback implementation. More...

#include "can_cbs.h"
#include "can_helper.h"
#include "foxmath.h"
Include dependency graph for can_cbs_tx_temperature.c:

Go to the source code of this file.

Functions

static void CAN_TxTemperatureSetData (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 CAN_TxCellTemperature() More...
 
uint32_t CAN_TxCellTemperature (uint32_t id, uint8_t dlc, CAN_ENDIANNESS_e endianness, 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 cellTemperatureMultiplexer = {7u, 8u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cell0TemperatureInvalidFlag = {8u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cell1TemperatureInvalidFlag = {9u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cell2TemperatureInvalidFlag = {10u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cell3TemperatureInvalidFlag = {11u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cell4TemperatureInvalidFlag = {12u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cell5TemperatureInvalidFlag = {13u, 1u, 1.0f, 0.0f, 0.0f, 1.0f}
 
static const CAN_SIGNAL_TYPE_s cell0Temperature_degC = {23u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cell1Temperature_degC = {31u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cell2Temperature_degC = {39u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cell3Temperature_degC = {47u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s cell4Temperature_degC = {55u, 8u, 1.0f, 0.0f, -128.0f, 127.0f}
 
static const CAN_SIGNAL_TYPE_s 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
2021-06-09 (date of last update)
Prefix
CAN

CAN Tx callback for cell temperatures

Definition in file can_cbs_tx_temperature.c.

Function Documentation

◆ CAN_TxCellTemperature()

uint32_t CAN_TxCellTemperature ( uint32_t  id,
uint8_t  dlc,
CAN_ENDIANNESS_e  endianness,
uint8_t *  pCanData,
uint8_t *  pMuxId,
const CAN_SHIM_s *const  kpkCanShim 
)

can tx callback function for cell temperatures

Parameters
[in]idCAN ID
[in]dlcCAN Data Length Code
[in]endiannessbig or little endian
[in]pCanDatapayload of can frame
[in]pMuxIdmultiplexer for multiplexed CAN messages
[in]kpkCanShimshim to the database entries

Definition at line 169 of file can_cbs_tx_temperature.c.

Here is the call graph for this function:

◆ CAN_TxTemperatureSetData()

static void CAN_TxTemperatureSetData ( 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 CAN_TxCellTemperature()

Used in the CAN_TxCellTemperature() 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 110 of file can_cbs_tx_temperature.c.

Here is the call graph for this function:

Variable Documentation

◆ cell0Temperature_degC

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

Definition at line 75 of file can_cbs_tx_temperature.c.

◆ cell0TemperatureInvalidFlag

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

Definition at line 69 of file can_cbs_tx_temperature.c.

◆ cell1Temperature_degC

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

Definition at line 76 of file can_cbs_tx_temperature.c.

◆ cell1TemperatureInvalidFlag

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

Definition at line 70 of file can_cbs_tx_temperature.c.

◆ cell2Temperature_degC

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

Definition at line 77 of file can_cbs_tx_temperature.c.

◆ cell2TemperatureInvalidFlag

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

Definition at line 71 of file can_cbs_tx_temperature.c.

◆ cell3Temperature_degC

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

Definition at line 78 of file can_cbs_tx_temperature.c.

◆ cell3TemperatureInvalidFlag

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

Definition at line 72 of file can_cbs_tx_temperature.c.

◆ cell4Temperature_degC

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

Definition at line 79 of file can_cbs_tx_temperature.c.

◆ cell4TemperatureInvalidFlag

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

Definition at line 73 of file can_cbs_tx_temperature.c.

◆ cell5Temperature_degC

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

Definition at line 80 of file can_cbs_tx_temperature.c.

◆ cell5TemperatureInvalidFlag

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

Definition at line 74 of file can_cbs_tx_temperature.c.

◆ cellTemperatureMultiplexer

const CAN_SIGNAL_TYPE_s 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 68 of file can_cbs_tx_temperature.c.