diff --git a/CanSpamTransmitter.c b/CanSpamTransmitter.c index 2182ddb..a20687f 100644 --- a/CanSpamTransmitter.c +++ b/CanSpamTransmitter.c @@ -38,6 +38,7 @@ static void sendEventToCan(tCanSpamTransmitter *env) { static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { +#if (CCU_Stat1_SEND == 1) if (env->time_CCU_Stat1_CYC < env->timeMs) { env->time_CCU_Stat1_CYC = env->timeMs + CCU_Stat1_CYC; @@ -45,7 +46,10 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_Stat1_CYC; } +#endif + +#if (CCU_Stat2_SEND == 1) if (env->time_CCU_Stat2_CYC < env->timeMs) { env->time_CCU_Stat2_CYC = env->timeMs + CCU_Stat2_CYC; @@ -53,7 +57,9 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_Stat2_CYC; } +#endif +#if (CCU_Stat3_SEND == 1) if (env->time_CCU_Stat3_CYC < env->timeMs) { env->time_CCU_Stat3_CYC = env->timeMs + CCU_Stat3_CYC; @@ -61,7 +67,9 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_Stat3_CYC; } +#endif +#if (CCU_Errors_SEND == 1) if (env->time_CCU_Errors_CYC < env->timeMs) { env->time_CCU_Errors_CYC = env->timeMs + CCU_Errors_CYC; @@ -71,8 +79,10 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_Errors_CYC; } +#endif +#if (CCU_Requests_SEND == 1) if (env->time_CCU_Requests < env->timeMs) { env->time_CCU_Requests = env->timeMs + CCU_Requests_CYC; @@ -81,10 +91,12 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_Requests; } +#endif // начало--------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------ // начало--------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------ // начало--------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------ +#if (CCU_HVC_Req_Msg_SEND == 1) if (env->time_CCU_HVC_Req_Msg < env->timeMs) { env->time_CCU_HVC_Req_Msg = env->timeMs + CCU_HVC_Req_Msg_CYC; @@ -93,6 +105,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_HVC_Req_Msg; } +#endif // конец ---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------ // конец ---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------ // конец ---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------ @@ -100,6 +113,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { // начало РЕЗЕРВ--------------------------------------0x315 CCU_VCU_Msg1--------------------------------------------------- // начало РЕЗЕРВ--------------------------------------0x315 CCU_VCU_Msg1--------------------------------------------------- // начало РЕЗЕРВ--------------------------------------0x315 CCU_VCU_Msg1--------------------------------------------------- +#if (CCU_VCU_Msg1_SEND == 1) if (env->time_CCU_VCU_Msg1 < env->timeMs) { env->time_CCU_VCU_Msg1 = env->timeMs + CCU_VCU_Msg1_CYC; @@ -108,6 +122,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_VCU_Msg1; } +#endif // конец РЕЗЕРВ---------------------------------------0x315 CCU_VCU_Msg1--------------------------------------------------- // конец РЕЗЕРВ---------------------------------------0x315 CCU_VCU_Msg1--------------------------------------------------- // конец РЕЗЕРВ---------------------------------------0x315 CCU_VCU_Msg1--------------------------------------------------- @@ -115,6 +130,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { // начало РЕЗЕРВ--------------------------------------0x316 CCU_VCU_Msg2--------------------------------------------------- // начало РЕЗЕРВ--------------------------------------0x316 CCU_VCU_Msg2--------------------------------------------------- // начало РЕЗЕРВ--------------------------------------0x316 CCU_VCU_Msg2--------------------------------------------------- +#if (CCU_VCU_Msg2_SEND == 1) if (env->time_CCU_VCU_Msg2 < env->timeMs) { env->time_CCU_VCU_Msg2 = env->timeMs + CCU_VCU_Msg2_CYC; @@ -123,6 +139,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_VCU_Msg2; } +#endif // конец РЕЗЕРВ---------------------------------------0x316 CCU_VCU_Msg2--------------------------------------------------- // конец РЕЗЕРВ---------------------------------------0x316 CCU_VCU_Msg2--------------------------------------------------- // конец РЕЗЕРВ---------------------------------------0x316 CCU_VCU_Msg2--------------------------------------------------- @@ -130,6 +147,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { // начало--------------------------------------0x380 CCU_Msg1------------------------------------------------------- // начало--------------------------------------0x380 CCU_Msg1------------------------------------------------------- // начало--------------------------------------0x380 CCU_Msg1------------------------------------------------------- +#if (CCU_Msg1_SEND == 1) if (env->time_CCU_Msg1 < env->timeMs) { env->time_CCU_Msg1 = env->timeMs + CCU_Msg1_CYC; @@ -137,6 +155,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_Msg1; } +#endif // начало--------------------------------------0x380 CCU_Msg1------------------------------------------------------- // начало--------------------------------------0x380 CCU_Msg1------------------------------------------------------- // начало--------------------------------------0x380 CCU_Msg1------------------------------------------------------- @@ -144,6 +163,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { // начало--------------------------------------0x501 CCU_Msg3------------------------------------------------------- // начало--------------------------------------0x501 CCU_Msg3------------------------------------------------------- // начало--------------------------------------0x501 CCU_Msg3------------------------------------------------------- +#if (CCU_Msg3_SEND == 1) if (env->time_CCU_Msg3 < env->timeMs) { env->time_CCU_Msg3 = env->timeMs + CCU_Msg3_CYC; @@ -151,6 +171,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_Msg3; } +#endif // конец--------------------------------------0x501 CCU_Msg3------------------------------------------------------- // конец--------------------------------------0x501 CCU_Msg3------------------------------------------------------- // конец--------------------------------------0x501 CCU_Msg3------------------------------------------------------- @@ -158,6 +179,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { // начало РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl ------------------------------------------------------- // начало РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl ------------------------------------------------------- // начало РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl ------------------------------------------------------- +#if (CU_AC_Ctrl_SEND == 1) if (env->time_CCU_AC_Ctrl < env->timeMs) { env->time_CCU_AC_Ctrl = env->timeMs + CCU_AC_Ctrl_CYC; @@ -166,6 +188,7 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { return event_CCU_AC_Ctrl; } +#endif // конец РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl ------------------------------------------------------- // конец РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl ------------------------------------------------------- // конец РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl ------------------------------------------------------- @@ -174,26 +197,26 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) { } void set_CCU_Errors(tCanSpamTransmitter *env, CCU_Errors_t *CCU_Errors) { - if (osMutexAcquire(env->access, 1000) == osOK) { + if (osMutexAcquire(env->access, 5000) == osOK) { memcpy(&ccu_candb_tx.CCU_Errors, CCU_Errors, sizeof(CCU_Errors_t)); osMutexRelease(env->access); } else { - LoggerInfoStatic(LOGGER, LOG_SIGN, "Access error set_CCU_Errors"); + LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error set_CCU_Errors"); } } void set_CCU_Mute(tCanSpamTransmitter *env, bool mute) { - if (osMutexAcquire(env->access, 1000) == osOK) { + if (osMutexAcquire(env->access, 5000) == osOK) { env->isMute = mute; osMutexRelease(env->access); } else { - LoggerInfoStatic(LOGGER, LOG_SIGN, "Access error set_CCU_Mute"); + LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error set_CCU_Mute"); } } static _Noreturn void CanSpamTransmitter_Thread(tCanSpamTransmitter *env) { for (;;) { - if (osMutexAcquire(env->access, 1000) == osOK) { + if (osMutexAcquire(env->access, 5000) == osOK) { if (env->isMute == false) { @@ -206,9 +229,10 @@ static _Noreturn void CanSpamTransmitter_Thread(tCanSpamTransmitter *env) { } osMutexRelease(env->access); - SystemDelayMs(1); - + } else { + LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error CanSpamTransmitter_Thread"); } + SystemDelayMs(1); } } diff --git a/CanSpamTransmitter.h b/CanSpamTransmitter.h index a44beb9..d2112eb 100644 --- a/CanSpamTransmitter.h +++ b/CanSpamTransmitter.h @@ -10,6 +10,19 @@ #include "ccu_candb-binutil.h" #include "LoggerInterface.h" +#define CCU_Stat1_SEND 1 +#define CCU_Stat2_SEND 1 +#define CCU_Stat3_SEND 1 +#define CCU_Errors_SEND 1 +#define CCU_Requests_SEND 1 +#define CCU_HVC_Req_Msg_SEND 1 +#define CCU_VCU_Msg1_SEND 1 +#define CCU_VCU_Msg2_SEND 1 +#define CCU_Msg1_SEND 1 +#define CCU_Msg3_SEND 1 +#define CU_AC_Ctrl_SEND 1 + + typedef enum { event_CCU_none = 0x00, event_CCU_Stat1_CYC = 0x01,