foxBMS - Unit Tests  1.5.0
The foxBMS Unit Tests 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_unsupported-message.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_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_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...
 
uint8_t TEST_CANRX_GetHundredthOfSeconds (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
uint8_t TEST_CANRX_GetSeconds (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
uint8_t TEST_CANRX_GetMinutes (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
uint8_t TEST_CANRX_GetHours (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
uint8_t TEST_CANRX_GetWeekday (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
uint8_t TEST_CANRX_GetDay (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
uint8_t TEST_CANRX_GetMonth (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
uint8_t TEST_CANRX_GetYear (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
void TEST_CANRX_TriggerBmsSoftwareVersionMessage (void)
 
void TEST_CANRX_TriggerMcuUniqueDieIdMessage (void)
 
void TEST_CANRX_TriggerMcuLotNumberMessage (void)
 
void TEST_CANRX_TriggerMcuWaferInformationMessage (void)
 
void TEST_CANRX_TriggerTimeInfoMessage (void)
 
bool TEST_CANRX_CheckIfBmsSoftwareVersionIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
bool TEST_CANRX_CheckIfMcuUniqueDieIdIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
bool TEST_CANRX_CheckIfMcuLotNumberIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
bool TEST_CANRX_CheckIfMcuWaferInformationIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
bool TEST_CANRX_CheckIfSoftwareResetIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
bool TEST_CANRX_CheckIfFramInitializationIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
bool TEST_CANRX_CheckIfTimeInfoIsRequested (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
void TEST_CANRX_ProcessVersionInformationMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
void TEST_CANRX_ProcessRtcMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
void TEST_CANRX_ProcessSoftwareResetMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
void TEST_CANRX_ProcessFramInitializationMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 
void TEST_CANRX_ProcessTimeInfoMux (uint64_t messageData, CAN_ENDIANNESS_e endianness)
 

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-02-03 (date of last update)
Version
v1.5.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 119 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 118 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 115 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 114 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 109 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 108 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 113 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 112 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 121 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 120 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 111 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 110 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 117 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 116 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 123 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 122 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 139 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 138 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 147 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 146 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 131 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 130 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_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 478 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 625 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 532 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 505 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 559 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 605 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 675 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 703 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 420 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 390 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 340 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 373 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 433 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 356 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 403 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 446 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 655 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 459 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 645 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 665 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 586 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 498 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 552 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 525 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 579 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 695 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_CheckIfBmsSoftwareVersionIsRequested()

bool TEST_CANRX_CheckIfBmsSoftwareVersionIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 794 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_CheckIfFramInitializationIsRequested()

bool TEST_CANRX_CheckIfFramInitializationIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 809 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_CheckIfMcuLotNumberIsRequested()

bool TEST_CANRX_CheckIfMcuLotNumberIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 800 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_CheckIfMcuUniqueDieIdIsRequested()

bool TEST_CANRX_CheckIfMcuUniqueDieIdIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 797 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_CheckIfMcuWaferInformationIsRequested()

bool TEST_CANRX_CheckIfMcuWaferInformationIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 803 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_CheckIfSoftwareResetIsRequested()

bool TEST_CANRX_CheckIfSoftwareResetIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 806 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_CheckIfTimeInfoIsRequested()

bool TEST_CANRX_CheckIfTimeInfoIsRequested ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 812 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_GetDay()

uint8_t TEST_CANRX_GetDay ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 766 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_GetHours()

uint8_t TEST_CANRX_GetHours ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 760 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_GetHundredthOfSeconds()

uint8_t TEST_CANRX_GetHundredthOfSeconds ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 751 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_GetMinutes()

uint8_t TEST_CANRX_GetMinutes ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 757 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_GetMonth()

uint8_t TEST_CANRX_GetMonth ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 769 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_GetSeconds()

uint8_t TEST_CANRX_GetSeconds ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 754 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_GetWeekday()

uint8_t TEST_CANRX_GetWeekday ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 763 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_GetYear()

uint8_t TEST_CANRX_GetYear ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 772 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_ProcessFramInitializationMux()

void TEST_CANRX_ProcessFramInitializationMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 826 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_ProcessRtcMux()

void TEST_CANRX_ProcessRtcMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 820 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_ProcessSoftwareResetMux()

void TEST_CANRX_ProcessSoftwareResetMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 823 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_ProcessTimeInfoMux()

void TEST_CANRX_ProcessTimeInfoMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 829 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_ProcessVersionInformationMux()

void TEST_CANRX_ProcessVersionInformationMux ( uint64_t  messageData,
CAN_ENDIANNESS_e  endianness 
)

Definition at line 817 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_TriggerBmsSoftwareVersionMessage()

void TEST_CANRX_TriggerBmsSoftwareVersionMessage ( void  )

Definition at line 777 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_TriggerMcuLotNumberMessage()

void TEST_CANRX_TriggerMcuLotNumberMessage ( void  )

Definition at line 783 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_TriggerMcuUniqueDieIdMessage()

void TEST_CANRX_TriggerMcuUniqueDieIdMessage ( void  )

Definition at line 780 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_TriggerMcuWaferInformationMessage()

void TEST_CANRX_TriggerMcuWaferInformationMessage ( void  )

Definition at line 786 of file can_cbs_rx_debug.c.

Here is the call graph for this function:

◆ TEST_CANRX_TriggerTimeInfoMessage()

void TEST_CANRX_TriggerTimeInfoMessage ( void  )

Definition at line 789 of file can_cbs_rx_debug.c.

Here is the call graph for this function: