From 4ea1ab24ddb6c260a2a8258ee2a7c20c475651b1 Mon Sep 17 00:00:00 2001
From: darya
Date: Tue, 23 Jun 2026 13:41:46 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?=
=?UTF-8?q?=D0=BD=D0=B8=D0=B5=2023.06.2026?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CanSpamDebugTransmitter.c | 50 +++++++++++++++++++++++++--------------
CanSpamDebugTransmitter.h | 1 +
2 files changed, 33 insertions(+), 18 deletions(-)
diff --git a/CanSpamDebugTransmitter.c b/CanSpamDebugTransmitter.c
index 584e6c4..5cd58ee 100644
--- a/CanSpamDebugTransmitter.c
+++ b/CanSpamDebugTransmitter.c
@@ -45,7 +45,7 @@ static void sendEventToCan(tCanSpamDebugTransmitter *env) {
env->canFrame.standard_id = env->can_id;
}
- env->ioCanFrame->transmit(env->ioCanFrame->env, (uint8_t *) &env->canFrame.data, env->canFrame.dlc,
+ env->ioCanFrame->transmit(env->ioCanFrame->env, (uint8_t * ) & env->canFrame.data, env->canFrame.dlc,
env->can_id, env->canFrame.id_type, 100);
}
@@ -428,9 +428,11 @@ void set_CanDebugSpamTransmitter(tCanSpamDebugTransmitter *env) {
memcpy(&ccu_candb_dbg_tx.dbg_Act2, &rtY.dbgCAN_dbg_Act2_model, sizeof(ccu_candb_dbg_tx.dbg_Act2));
memcpy(&ccu_candb_dbg_tx.dbg_Sen_Duct, &rtY.dbgCAN_dbg_Sen_Duct_model, sizeof(ccu_candb_dbg_tx.dbg_Sen_Duct));
memcpy(&ccu_candb_dbg_tx.dbg_Sen_Eva, &rtY.dbgCAN_dbg_Sen_Eva_model, sizeof(ccu_candb_dbg_tx.dbg_Sen_Eva));
- memcpy(&ccu_candb_dbg_tx.dbg_Logic_Blower, &rtY.dbgCAN_dbg_Logic_Blower_model, sizeof(ccu_candb_dbg_tx.dbg_Logic_Blower));
+ memcpy(&ccu_candb_dbg_tx.dbg_Logic_Blower, &rtY.dbgCAN_dbg_Logic_Blower_model,
+ sizeof(ccu_candb_dbg_tx.dbg_Logic_Blower));
memcpy(&ccu_candb_dbg_tx.dbg_Sen_Amb, &rtY.dbgCAN_dbg_Sen_Amb_model, sizeof(ccu_candb_dbg_tx.dbg_Sen_Amb));
- memcpy(&ccu_candb_dbg_tx.dbg_Sen_Incar, &rtY.dbgCAN_dbg_Sen_Incar_model, sizeof(ccu_candb_dbg_tx.dbg_Sen_Incar));
+ memcpy(&ccu_candb_dbg_tx.dbg_Sen_Incar, &rtY.dbgCAN_dbg_Sen_Incar_model,
+ sizeof(ccu_candb_dbg_tx.dbg_Sen_Incar));
memcpy(&ccu_candb_dbg_tx.dbg_Sen_0, &rtY.dbgCAN_dbg_Sen_0_model, sizeof(ccu_candb_dbg_tx.dbg_Sen_0));
memcpy(&ccu_candb_dbg_tx.dbg_Logic_Ac, &rtY.dbg_Logic_Ac_model, sizeof(ccu_candb_dbg_tx.dbg_Logic_Ac));
@@ -442,30 +444,42 @@ void set_CanDebugSpamTransmitter(tCanSpamDebugTransmitter *env) {
}
}
+void set_CCU_Mute(tCanSpamDebugTransmitter *env, bool mute) {
+ if (osMutexAcquire(env->access, 5000) == osOK) {
+ env->isMute = mute;
+ osMutexRelease(env->access);
+ } else {
+ LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error set_CCU_Mute");
+ }
+}
static _Noreturn void CanSpamDebugTransmitter_Thread(tCanSpamDebugTransmitter *env) {
for (;;) {
SystemDelayMs(50);
- if (osMutexAcquire(env->access, 5000) == osOK) {
+ if (env->isMute == false) {
- env->timeMs += 50;
+ if (osMutexAcquire(env->access, 5000) == osOK) {
- while (isEventTransmitter(env) != event_dbg_none) {
- sendEventToCan(env);
+ env->timeMs += 50;
+
+ while (isEventTransmitter(env) != event_dbg_none) {
+ sendEventToCan(env);
+ }
+
+
+ osMutexRelease(env->access);
+
+ } else {
+ LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error CanSpamDebugTransmitter_Thread");
}
- osMutexRelease(env->access);
- } else {
- LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error CanSpamDebugTransmitter_Thread");
}
-
}
-}
-void CanSpamDebugTransmitter_StartThread(tCanSpamDebugTransmitter *env) {
- if (!env->thread.id) {
- env->thread.id = osThreadNew((osThreadFunc_t) (CanSpamDebugTransmitter_Thread), (void *) (env),
- &env->thread.attr);
- }
-}
\ No newline at end of file
+ void CanSpamDebugTransmitter_StartThread(tCanSpamDebugTransmitter *env) {
+ if (!env->thread.id) {
+ env->thread.id = osThreadNew((osThreadFunc_t) (CanSpamDebugTransmitter_Thread), (void *) (env),
+ &env->thread.attr);
+ }
+ }
\ No newline at end of file
diff --git a/CanSpamDebugTransmitter.h b/CanSpamDebugTransmitter.h
index a1e07a3..3c6c7fa 100644
--- a/CanSpamDebugTransmitter.h
+++ b/CanSpamDebugTransmitter.h
@@ -111,6 +111,7 @@ typedef struct {
osMutexId_t access;
can_rx_message_type canFrame;
osMutexId_t modelTaskAccess;
+ bool isMute;
tCanSpamDebugReceiver *canSpamDebugReceiver;