foxBMS  1.6.0
The foxBMS Battery Management System API Documentation
can_cbs_rx_debug.c File Reference

CAN driver Rx callback implementation. More...

#include "can_cbs_rx.h"
#include "can_cbs_tx_debug-response.h"
#include "can_cbs_tx_debug-unsupported-multiplexer-values.h"
#include "can_cfg_rx-message-definitions.h"
#include "can_helper.h"
#include "fram.h"
#include "ftask.h"
#include "reset.h"
#include "rtc.h"
#include <stdbool.h>
#include <stdint.h>
Include dependency graph for can_cbs_rx_debug.c:

Go to the source code of this file.

Macros

#define CANRX_BIT   (1u)
 
#define CANRX_DEBUG_MESSAGE_MUX_START_BIT   (0x7u)
 
#define CANRX_DEBUG_MESSAGE_MUX_LENGTH   (8u)
 
#define CANRX_DEBUG_MESSAGE_MUX_VALUE_VERSION_INFORMATION   (0x00u)
 
#define CANRX_DEBUG_MESSAGE_MUX_VALUE_RTC   (0x01u)
 
#define CANRX_DEBUG_MESSAGE_MUX_VALUE_SOFTWARE_RESET   (0x02u)
 
#define CANRX_DEBUG_MESSAGE_MUX_VALUE_FRAM_INITIALIZATION   (0x03u)
 
#define CANRX_DEBUG_MESSAGE_MUX_VALUE_TIME_INFO   (0x04u)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_BMS_SOFTWARE_VERSION_START_BIT   (8u)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_BMS_SOFTWARE_VERSION_LENGTH   (CANRX_BIT)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_UNIQUE_DIE_ID_START_BIT   (9u)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_UNIQUE_DIE_ID_LENGTH   (CANRX_BIT)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_LOT_NUMBER_START_BIT   (10u)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_LOT_NUMBER_LENGTH   (CANRX_BIT)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_WAFER_INFORMATION_START_BIT   (11u)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_WAFER_INFORMATION_LENGTH   (CANRX_BIT)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_COMMIT_HASH_START_BIT   (12u)
 
#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_COMMIT_HASH_LENGTH   (CANRX_BIT)
 
#define CANRX_MUX_RTC_SIGNAL_HUNDREDTH_OF_SECONDS_START_BIT   (15u)
 
#define CANRX_MUX_RTC_SIGNAL_HUNDREDTH_OF_SECONDS_LENGTH   (7u)
 
#define CANRX_MUX_RTC_SIGNAL_SECONDS_START_BIT   (8u)
 
#define CANRX_MUX_RTC_SIGNAL_SECONDS_LENGTH   (6u)
 
#define CANRX_MUX_RTC_SIGNAL_MINUTES_START_BIT   (18u)
 
#define CANRX_MUX_RTC_SIGNAL_MINUTES_LENGTH   (6u)
 
#define CANRX_MUX_RTC_SIGNAL_HOURS_START_BIT   (28u)
 
#define CANRX_MUX_RTC_SIGNAL_HOURS_LENGTH   (5u)
 
#define CANRX_MUX_RTC_SIGNAL_WEEKDAY_START_BIT   (39u)
 
#define CANRX_MUX_RTC_SIGNAL_WEEKDAY_LENGTH   (3u)
 
#define CANRX_MUX_RTC_SIGNAL_DAY_START_BIT   (36u)
 
#define CANRX_MUX_RTC_SIGNAL_DAY_LENGTH   (5u)
 
#define CANRX_MUX_RTC_SIGNAL_MONTH_START_BIT   (47u)
 
#define CANRX_MUX_RTC_SIGNAL_MONTH_LENGTH   (4u)
 
#define CANRX_MUX_RTC_SIGNAL_YEAR_START_BIT   (43u)
 
#define CANRX_MUX_RTC_SIGNAL_YEAR_LENGTH   (7u)
 
#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_SOFTWARE_RESET_START_BIT   (39u)
 
#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_SOFTWARE_RESET_LENGTH   (CANRX_BIT)
 
#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_FRAM_INITIALIZATION_START_BIT   (27u)
 
#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_FRAM_INITIALIZATION_LENGTH   (CANRX_BIT)
 
#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_REQUEST_RTC_TIME_START_BIT   (8u)
 
#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_REQUEST_RTC_TIME_LENGTH   (CANRX_BIT)
 

Functions

static void CANRX_ProcessVersionInformationMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses CAN message to handle version related messages. More...
 
static void CANRX_ProcessRtcMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses CAN message to set the RTC clock. More...
 
static void CANRX_ProcessSoftwareResetMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses CAN message to handle software related requests, e.g., a software reset of the BMS. More...
 
static void CANRX_ProcessFramInitializationMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses CAN message related to FRAM initialization. More...
 
static void CANRX_ProcessTimeInfoMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses CAN message to handle time information requests. More...
 
static uint8_t CANRX_GetHundredthOfSeconds (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses the CAN message to retrieve the hundredth of seconds information. More...
 
static uint8_t CANRX_GetSeconds (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses the CAN message to retrieve the seconds information. More...
 
static uint8_t CANRX_GetMinutes (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses the CAN message to retrieve the minutes information. More...
 
static uint8_t CANRX_GetHours (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses the CAN message to retrieve the hours information. More...
 
static uint8_t CANRX_GetWeekday (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses the CAN message to retrieve the weekday information. More...
 
static uint8_t CANRX_GetDay (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses the CAN message to retrieve the day information. More...
 
static uint8_t CANRX_GetMonth (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses the CAN message to retrieve the month information. More...
 
static uint8_t CANRX_GetYear (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Parses the CAN message to retrieve the year information. More...
 
static bool CANRX_CheckIfBmsSoftwareVersionIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Check if the BMS software version information is requested. More...
 
static void CANRX_TriggerBmsSoftwareVersionMessage (void)
 Triggers sending of the BMS software version information message. More...
 
static bool CANRX_CheckIfMcuUniqueDieIdIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Check if the MCU die ID information is requested. More...
 
static void CANRX_TriggerMcuUniqueDieIdMessage (void)
 Triggers sending of the MCU die ID information message. More...
 
static bool CANRX_CheckIfMcuLotNumberIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Check if the MCU lot number information is requested. More...
 
static void CANRX_TriggerMcuLotNumberMessage (void)
 Triggers sending of the MCU lot number information message. More...
 
static bool CANRX_CheckIfMcuWaferInformationIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Check if the MCU wafer information is requested. More...
 
static void CANRX_TriggerMcuWaferInformationMessage (void)
 Triggers sending of the MCU wafer information message. More...
 
static bool CANRX_CheckIfCommitHashIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Check if the commit hash is requested. More...
 
static void CANRX_TriggerCommitHashMessage (void)
 Triggers sending of the commit hash message. More...
 
static bool CANRX_CheckIfSoftwareResetIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Check if a software reset is requested. More...
 
static bool CANRX_CheckIfFramInitializationIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Check if a FRAM initialization is requested. More...
 
static bool CANRX_CheckIfTimeInfoIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 Check if the RTC time information is requested. More...
 
static void CANRX_TriggerTimeInfoMessage (void)
 Triggers sending of the RTC time information message. More...
 
uint32_t CANRX_Debug (CAN_MESSAGE_PROPERTIES_s message, const uint8_t *const kpkCanData, const CAN_SHIM_s *const kpkCanShim)
 can rx callback function for debug messages More...
 

Detailed Description

CAN driver Rx 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
CANRX

CAN Rx callback for the debug message

Definition in file can_cbs_rx_debug.c.

Macro Definition Documentation

◆ CANRX_BIT

#define CANRX_BIT   (1u)

Definition at line 71 of file can_cbs_rx_debug.c.

◆ CANRX_DEBUG_MESSAGE_MUX_LENGTH

#define CANRX_DEBUG_MESSAGE_MUX_LENGTH   (8u)

multiplexer setup for the debug message

Definition at line 77 of file can_cbs_rx_debug.c.

◆ CANRX_DEBUG_MESSAGE_MUX_START_BIT

#define CANRX_DEBUG_MESSAGE_MUX_START_BIT   (0x7u)

multiplexer setup for the debug message

Definition at line 76 of file can_cbs_rx_debug.c.

◆ CANRX_DEBUG_MESSAGE_MUX_VALUE_FRAM_INITIALIZATION

#define CANRX_DEBUG_MESSAGE_MUX_VALUE_FRAM_INITIALIZATION   (0x03u)

supported multiplexer values

Definition at line 86 of file can_cbs_rx_debug.c.

◆ CANRX_DEBUG_MESSAGE_MUX_VALUE_RTC

#define CANRX_DEBUG_MESSAGE_MUX_VALUE_RTC   (0x01u)

supported multiplexer values

Definition at line 84 of file can_cbs_rx_debug.c.

◆ CANRX_DEBUG_MESSAGE_MUX_VALUE_SOFTWARE_RESET

#define CANRX_DEBUG_MESSAGE_MUX_VALUE_SOFTWARE_RESET   (0x02u)

supported multiplexer values

Definition at line 85 of file can_cbs_rx_debug.c.

◆ CANRX_DEBUG_MESSAGE_MUX_VALUE_TIME_INFO

#define CANRX_DEBUG_MESSAGE_MUX_VALUE_TIME_INFO   (0x04u)

supported multiplexer values

Definition at line 87 of file can_cbs_rx_debug.c.

◆ CANRX_DEBUG_MESSAGE_MUX_VALUE_VERSION_INFORMATION

#define CANRX_DEBUG_MESSAGE_MUX_VALUE_VERSION_INFORMATION   (0x00u)

supported multiplexer values

Definition at line 83 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_DAY_LENGTH

#define CANRX_MUX_RTC_SIGNAL_DAY_LENGTH   (5u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 121 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_DAY_START_BIT

#define CANRX_MUX_RTC_SIGNAL_DAY_START_BIT   (36u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 120 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_HOURS_LENGTH

#define CANRX_MUX_RTC_SIGNAL_HOURS_LENGTH   (5u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 117 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_HOURS_START_BIT

#define CANRX_MUX_RTC_SIGNAL_HOURS_START_BIT   (28u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 116 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_HUNDREDTH_OF_SECONDS_LENGTH

#define CANRX_MUX_RTC_SIGNAL_HUNDREDTH_OF_SECONDS_LENGTH   (7u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 111 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_HUNDREDTH_OF_SECONDS_START_BIT

#define CANRX_MUX_RTC_SIGNAL_HUNDREDTH_OF_SECONDS_START_BIT   (15u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 110 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_MINUTES_LENGTH

#define CANRX_MUX_RTC_SIGNAL_MINUTES_LENGTH   (6u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 115 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_MINUTES_START_BIT

#define CANRX_MUX_RTC_SIGNAL_MINUTES_START_BIT   (18u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 114 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_MONTH_LENGTH

#define CANRX_MUX_RTC_SIGNAL_MONTH_LENGTH   (4u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 123 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_MONTH_START_BIT

#define CANRX_MUX_RTC_SIGNAL_MONTH_START_BIT   (47u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 122 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_SECONDS_LENGTH

#define CANRX_MUX_RTC_SIGNAL_SECONDS_LENGTH   (6u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 113 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_SECONDS_START_BIT

#define CANRX_MUX_RTC_SIGNAL_SECONDS_START_BIT   (8u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 112 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_WEEKDAY_LENGTH

#define CANRX_MUX_RTC_SIGNAL_WEEKDAY_LENGTH   (3u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 119 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_WEEKDAY_START_BIT

#define CANRX_MUX_RTC_SIGNAL_WEEKDAY_START_BIT   (39u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 118 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_YEAR_LENGTH

#define CANRX_MUX_RTC_SIGNAL_YEAR_LENGTH   (7u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 125 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_RTC_SIGNAL_YEAR_START_BIT

#define CANRX_MUX_RTC_SIGNAL_YEAR_START_BIT   (43u)

configuration of the RTC signals for multiplexer 'RTC' in the 'Debug' message

Definition at line 124 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_FRAM_INITIALIZATION_LENGTH

#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_FRAM_INITIALIZATION_LENGTH   (CANRX_BIT)

configuration of the FRAM initialization signals for multiplexer 'InitializeFram' in the 'Debug' message

Definition at line 141 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_FRAM_INITIALIZATION_START_BIT

#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_FRAM_INITIALIZATION_START_BIT   (27u)

configuration of the FRAM initialization signals for multiplexer 'InitializeFram' in the 'Debug' message

Definition at line 140 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_REQUEST_RTC_TIME_LENGTH

#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_REQUEST_RTC_TIME_LENGTH   (CANRX_BIT)

configuration of the time info signals for multiplexer 'TimeInfo' in the 'Debug' message

Definition at line 149 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_REQUEST_RTC_TIME_START_BIT

#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_REQUEST_RTC_TIME_START_BIT   (8u)

configuration of the time info signals for multiplexer 'TimeInfo' in the 'Debug' message

Definition at line 148 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_SOFTWARE_RESET_LENGTH

#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_SOFTWARE_RESET_LENGTH   (CANRX_BIT)

configuration of the software reset signals for multiplexer 'SoftwareReset' in the 'Debug' message

Definition at line 133 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_SOFTWARE_RESET_START_BIT

#define CANRX_MUX_SOFTWARE_SIGNAL_TRIGGER_SOFTWARE_RESET_START_BIT   (39u)

configuration of the software reset signals for multiplexer 'SoftwareReset' in the 'Debug' message

Definition at line 132 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_BMS_SOFTWARE_VERSION_LENGTH

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_BMS_SOFTWARE_VERSION_LENGTH   (CANRX_BIT)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 95 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_BMS_SOFTWARE_VERSION_START_BIT

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_BMS_SOFTWARE_VERSION_START_BIT   (8u)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 94 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_COMMIT_HASH_LENGTH

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_COMMIT_HASH_LENGTH   (CANRX_BIT)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 103 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_COMMIT_HASH_START_BIT

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_COMMIT_HASH_START_BIT   (12u)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 102 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_LOT_NUMBER_LENGTH

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_LOT_NUMBER_LENGTH   (CANRX_BIT)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 99 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_LOT_NUMBER_START_BIT

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_LOT_NUMBER_START_BIT   (10u)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 98 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_UNIQUE_DIE_ID_LENGTH

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_UNIQUE_DIE_ID_LENGTH   (CANRX_BIT)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 97 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_UNIQUE_DIE_ID_START_BIT

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_UNIQUE_DIE_ID_START_BIT   (9u)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 96 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_WAFER_INFORMATION_LENGTH

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_WAFER_INFORMATION_LENGTH   (CANRX_BIT)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 101 of file can_cbs_rx_debug.c.

◆ CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_WAFER_INFORMATION_START_BIT

#define CANRX_MUX_VERSION_INFO_SIGNAL_GET_MCU_WAFER_INFORMATION_START_BIT   (11u)

configuration of the version information signals for multiplexer 'VersionInformation' in the 'Debug message

Definition at line 100 of file can_cbs_rx_debug.c.

Function Documentation

◆ CANRX_CheckIfBmsSoftwareVersionIsRequested()

static bool CANRX_CheckIfBmsSoftwareVersionIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Check if the BMS software version information is requested.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
true if the information is requested, false otherwise

Definition at line 493 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_CheckIfCommitHashIsRequested()

static bool CANRX_CheckIfCommitHashIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Check if the commit hash is requested.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
true if the information is requested, false otherwise

Definition at line 600 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_CheckIfFramInitializationIsRequested()

static bool CANRX_CheckIfFramInitializationIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Check if a FRAM initialization is requested.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
true if software reset is requested, false otherwise

Definition at line 669 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_CheckIfMcuLotNumberIsRequested()

static bool CANRX_CheckIfMcuLotNumberIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Check if the MCU lot number information is requested.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
true if the information is requested, false otherwise

Definition at line 547 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_CheckIfMcuUniqueDieIdIsRequested()

static bool CANRX_CheckIfMcuUniqueDieIdIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Check if the MCU die ID information is requested.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
true if the information is requested, false otherwise

Definition at line 520 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_CheckIfMcuWaferInformationIsRequested()

static bool CANRX_CheckIfMcuWaferInformationIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Check if the MCU wafer information is requested.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
true if the information is requested, false otherwise

Definition at line 574 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_CheckIfSoftwareResetIsRequested()

static bool CANRX_CheckIfSoftwareResetIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Check if a software reset is requested.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
true if software reset is requested, false otherwise

Definition at line 649 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_CheckIfTimeInfoIsRequested()

static bool CANRX_CheckIfTimeInfoIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Check if the RTC time information is requested.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
true if the information is requested, false otherwise

Definition at line 719 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_Debug()

uint32_t CANRX_Debug ( CAN_MESSAGE_PROPERTIES_s  message,
const uint8_t *const  kpkCanData,
const CAN_SHIM_s *const  kpkCanShim 
)

can rx callback function for debug messages

Parameters
[in]messagecontains the message ID, DLC and endianness
[in]kpkCanDatapayload of can frame
[in]kpkCanShimshim to the database entries

Definition at line 747 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_GetDay()

static uint8_t CANRX_GetDay ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses the CAN message to retrieve the day information.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
Decoded Day information

Definition at line 435 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_GetHours()

static uint8_t CANRX_GetHours ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses the CAN message to retrieve the hours information.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
Decoded hours information

Definition at line 405 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_GetHundredthOfSeconds()

static uint8_t CANRX_GetHundredthOfSeconds ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses the CAN message to retrieve the hundredth of seconds information.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
Decoded hundredth of seconds information

Definition at line 355 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_GetMinutes()

static uint8_t CANRX_GetMinutes ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses the CAN message to retrieve the minutes information.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
Decoded minutes information

Definition at line 388 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_GetMonth()

static uint8_t CANRX_GetMonth ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses the CAN message to retrieve the month information.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
Decoded month information

Definition at line 448 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_GetSeconds()

static uint8_t CANRX_GetSeconds ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses the CAN message to retrieve the seconds information.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
Decoded seconds information

Definition at line 371 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_GetWeekday()

static uint8_t CANRX_GetWeekday ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses the CAN message to retrieve the weekday information.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
Decoded weekday information

Definition at line 418 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_GetYear()

static uint8_t CANRX_GetYear ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses the CAN message to retrieve the year information.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message
Returns
Decoded year information

Definition at line 461 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_ProcessFramInitializationMux()

static void CANRX_ProcessFramInitializationMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses CAN message related to FRAM initialization.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message

Definition at line 699 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_ProcessRtcMux()

static void CANRX_ProcessRtcMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses CAN message to set the RTC clock.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message

Definition at line 474 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_ProcessSoftwareResetMux()

static void CANRX_ProcessSoftwareResetMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses CAN message to handle software related requests, e.g., a software reset of the BMS.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message

Definition at line 689 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_ProcessTimeInfoMux()

static void CANRX_ProcessTimeInfoMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses CAN message to handle time information requests.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message

Definition at line 709 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_ProcessVersionInformationMux()

static void CANRX_ProcessVersionInformationMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)
static

Parses CAN message to handle version related messages.

Parameters
messageDatamessage data of the CAN message
endiannessendianness of the message

Definition at line 627 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_TriggerBmsSoftwareVersionMessage()

static void CANRX_TriggerBmsSoftwareVersionMessage ( void  )
static

Triggers sending of the BMS software version information message.

Definition at line 513 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_TriggerCommitHashMessage()

static void CANRX_TriggerCommitHashMessage ( void  )
static

Triggers sending of the commit hash message.

Definition at line 594 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_TriggerMcuLotNumberMessage()

static void CANRX_TriggerMcuLotNumberMessage ( void  )
static

Triggers sending of the MCU lot number information message.

Definition at line 567 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_TriggerMcuUniqueDieIdMessage()

static void CANRX_TriggerMcuUniqueDieIdMessage ( void  )
static

Triggers sending of the MCU die ID information message.

Definition at line 540 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_TriggerMcuWaferInformationMessage()

static void CANRX_TriggerMcuWaferInformationMessage ( void  )
static

Triggers sending of the MCU wafer information message.

Definition at line 620 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ CANRX_TriggerTimeInfoMessage()

static void CANRX_TriggerTimeInfoMessage ( void  )
static

Triggers sending of the RTC time information message.

Definition at line 739 of file can_cbs_rx_debug.c.

Here is the call graph for this function: