diff --git a/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.c b/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.c index 7e9d102..ae63502 100644 --- a/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.c +++ b/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.c @@ -135,9 +135,13 @@ void CanSpamReceiver_Init(tCanSpamReceiver *env, env->ccu_candb_rx_BCM_VEH_STATE = osMessageQueueNew(1, sizeof(rtDW.CCUCAN_BCM_VEH_STATE_model), NULL); env->ccu_candb_rx_EMS_HVC_Req_Msg = osMessageQueueNew(1, sizeof(rtDW.CCUCAN_EMS_HVC_REQ_MSG_MODEL), NULL); env->ccu_candb_rx_HVC_Err_Status_Msg = osMessageQueueNew(1, sizeof(rtDW.HVC_ERR_STATUS_MSG_MODEL), NULL); + env->ccu_candb_rx_BCM_EEM = osMessageQueueNew(1, sizeof(rtDW.CCUCAN_BCM_EEM_model), NULL); + env->ccu_candb_rx_EMS_Veh_02 = osMessageQueueNew(1, sizeof(rtDW.CCUCAN_EMS_Veh_02_model), NULL); + + env->ccu_candb_rx_DMFR_Msg1 = osMessageQueueNew(1, sizeof(rtDW.CCUCAN_DMFR_Msg1_model), NULL); + env->ccu_candb_rx_DMFL_Msg1 = osMessageQueueNew(1, sizeof(rtDW.CCUCAN_DMFL_Msg1_model), NULL); + env->ccu_candb_rx_DW_STATE = osMessageQueueNew(1, sizeof(rtDW.CCUCAN_DW_STATE_model), NULL); -//cfif env->ccu_candb_rx_BCM_EEM = osMessageQueueNew(1, sizeof(rtDW.), NULL); -//cfif env->ccu_candb_rx_EMS_Veh_02 = osMessageQueueNew(1, sizeof(rtDW.), NULL); env->thread.stack = tCanSpamReceiver_stack; InitThreadAtr(&env->thread.attr, "CanSpamRec", &env->thread.controlBlock, sizeof(env->thread.controlBlock), @@ -185,15 +189,15 @@ static void set_CanSpamReceiver(tCanSpamReceiver *env, uint32_t recid) { } -//cfif countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_BCM_EEM); + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_BCM_EEM); if ((countQueue_ccu_candb_rx) && (recid == BCM_EEM_CANID)) { -//cfif status = osMessageQueuePut(env->ccu_candb_rx_BCM_EEM, &ccu_candb_rx.BCM_EEM, 0, 0U); + status = osMessageQueuePut(env->ccu_candb_rx_BCM_EEM, &ccu_candb_rx.BCM_EEM, 0, 0U); return; } - //cfif countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_EMS_Veh_02); + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_EMS_Veh_02); if ((countQueue_ccu_candb_rx) && (recid == EMS_Veh_02_CANID)) { -//cfif status = osMessageQueuePut(env->ccu_candb_rx_EMS_Veh_02, &ccu_candb_rx.EMS_Veh_02, 0, 0U); + status = osMessageQueuePut(env->ccu_candb_rx_EMS_Veh_02, &ccu_candb_rx.EMS_Veh_02, 0, 0U); return; } @@ -264,6 +268,35 @@ static void set_CanSpamReceiver(tCanSpamReceiver *env, uint32_t recid) { return; } + + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_DMFR_Msg1); + if ((countQueue_ccu_candb_rx) && (recid == DMFR_Msg1_CANID)) { + status = osMessageQueuePut(env->ccu_candb_rx_DMFR_Msg1, &ccu_candb_rx.DMFR_Msg1, 0, 0U); + return; + } + + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_DMFL_Msg1); + if ((countQueue_ccu_candb_rx) && (recid == DMFL_Msg1_CANID)) { + status = osMessageQueuePut(env->ccu_candb_rx_DMFL_Msg1, &ccu_candb_rx.DMFL_Msg1, 0, 0U); + return; + } + + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_DW_STATE); + if ((countQueue_ccu_candb_rx) && (recid == DW_STATE_CANID)) { + status = osMessageQueuePut(env->ccu_candb_rx_DW_STATE, &ccu_candb_rx.DW_STATE, 0, 0U); + return; + } + + + + + + + + + + + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_LOCAL_HVAC_VIN); if ((countQueue_ccu_candb_rx) && (recid == VEH_VIN_CANID)) { @@ -395,6 +428,7 @@ void get_CanSpamReceiver(tCanSpamReceiver *env, char *VIN, ccu_candb_error_missi uint32_t countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_error_missing_rx); if (countQueue_ccu_candb_rx == 0) { status = osMessageQueueGet(env->ccu_candb_error_missing_rx, CAN_ERROR_MISSING, 0, 0U); + memcpy(&rtDW.CCUCAN_ccu_candb_error_missing_rx_model, CAN_ERROR_MISSING, sizeof(rtDW.CCUCAN_ccu_candb_error_missing_rx_model)); } countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_time_missing_rx); @@ -429,11 +463,11 @@ void get_CanSpamReceiver(tCanSpamReceiver *env, char *VIN, ccu_candb_error_missi } if (CAN_ERROR_MISSING->BCM_EEM) { -//cfif memset(&rtDW.TM_CP_model, 0, sizeof(rtDW.TM_CP_model)); + memset(&rtDW.CCUCAN_BCM_EEM_model, 0, sizeof(rtDW.CCUCAN_BCM_EEM_model)); } if (CAN_ERROR_MISSING->EMS_Veh_02) { -//cfif memset(&rtDW.TM_CP_model, 0, sizeof(rtDW.TM_CP_model)); + memset(&rtDW.CCUCAN_EMS_Veh_02_model, 0, sizeof(rtDW.CCUCAN_EMS_Veh_02_model)); } if (CAN_ERROR_MISSING->BCM_Powertrain) { @@ -464,7 +498,17 @@ void get_CanSpamReceiver(tCanSpamReceiver *env, char *VIN, ccu_candb_error_missi memset(&rtDW.HVC_ERR_STATUS_MSG_MODEL, 0, sizeof(rtDW.HVC_ERR_STATUS_MSG_MODEL)); } + if (CAN_ERROR_MISSING->DMFR_Msg1) { + memset(&rtDW.CCUCAN_DMFR_Msg1_model, 0, sizeof(rtDW.CCUCAN_DMFR_Msg1_model)); + } + if (CAN_ERROR_MISSING->DMFL_Msg1) { + memset(&rtDW.CCUCAN_DMFL_Msg1_model, 0, sizeof(rtDW.CCUCAN_DMFL_Msg1_model)); + } + + if (CAN_ERROR_MISSING->DW_STATE) { + memset(&rtDW.CCUCAN_DW_STATE_model, 0, sizeof(rtDW.CCUCAN_DW_STATE_model)); + } @@ -476,12 +520,12 @@ void get_CanSpamReceiver(tCanSpamReceiver *env, char *VIN, ccu_candb_error_missi countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_BCM_EEM); if (countQueue_ccu_candb_rx == 0) { -//cfif status = osMessageQueueGet(env->ccu_candb_rx_BCM_EEM, &rtDW., 0, 0U); + status = osMessageQueueGet(env->ccu_candb_rx_BCM_EEM, &rtDW.CCUCAN_BCM_EEM_model, 0, 0U); } countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_EMS_Veh_02); if (countQueue_ccu_candb_rx == 0) { -//cfif status = osMessageQueueGet(env->ccu_candb_rx_EMS_Veh_02, &rtDW., 0, 0U); + status = osMessageQueueGet(env->ccu_candb_rx_EMS_Veh_02, &rtDW.CCUCAN_EMS_Veh_02_model, 0, 0U); } countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_BCM_Powertrain); @@ -519,6 +563,24 @@ void get_CanSpamReceiver(tCanSpamReceiver *env, char *VIN, ccu_candb_error_missi status = osMessageQueueGet(env->ccu_candb_rx_HVC_Err_Status_Msg, &rtDW.HVC_ERR_STATUS_MSG_MODEL, 0, 0U); } + + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_DMFR_Msg1); + if (countQueue_ccu_candb_rx == 0) { + status = osMessageQueueGet(env->ccu_candb_rx_DMFR_Msg1, &rtDW.CCUCAN_DMFR_Msg1_model, 0, 0U); + } + + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_DMFL_Msg1); + if (countQueue_ccu_candb_rx == 0) { + status = osMessageQueueGet(env->ccu_candb_rx_DMFL_Msg1, &rtDW.CCUCAN_DMFL_Msg1_model, 0, 0U); + } + + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_DW_STATE); + if (countQueue_ccu_candb_rx == 0) { + status = osMessageQueueGet(env->ccu_candb_rx_DW_STATE, &rtDW.CCUCAN_DW_STATE_model, 0, 0U); + } + + + countQueue_ccu_candb_rx = osMessageQueueGetSpace(env->ccu_candb_rx_LOCAL_HVAC_VIN); if (countQueue_ccu_candb_rx == 0) { status = osMessageQueueGet(env->ccu_candb_rx_LOCAL_HVAC_VIN, VIN, 0, 0U); diff --git a/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.h b/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.h index 6dca1e3..4b333e2 100644 --- a/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.h +++ b/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.h @@ -76,10 +76,14 @@ typedef struct { osMessageQueueId_t ccu_candb_rx_BCM_VEH_STATE; osMessageQueueId_t ccu_candb_rx_EMS_HVC_Req_Msg; osMessageQueueId_t ccu_candb_rx_HVC_Err_Status_Msg; - osMessageQueueId_t ccu_candb_rx_BCM_EEM; osMessageQueueId_t ccu_candb_rx_EMS_Veh_02; + osMessageQueueId_t ccu_candb_rx_DMFR_Msg1; + osMessageQueueId_t ccu_candb_rx_DMFL_Msg1; + osMessageQueueId_t ccu_candb_rx_DW_STATE; + + tLoggerInterface *logger; struct {