Обновление
This commit is contained in:
parent
ba8cc5663e
commit
377bd4c7a2
|
|
@ -6,6 +6,8 @@
|
|||
#include "StatusData.h"
|
||||
#include "StatusError.h"
|
||||
|
||||
#define LOG_SIGN "DIAGNOSTIC"
|
||||
#define LOGGER env->logger
|
||||
|
||||
void Diagnostic_Init(tDiagnostic *env, tLoggerInterface *logger) {
|
||||
|
||||
|
|
@ -29,7 +31,7 @@ static uint32_t diagnostic_ClearDiagnosticInformation_14(tDiagnostic *env, void
|
|||
|
||||
for (uint8_t i = 0; i < COUNT_DTC_CODE_ERROR; ++i) {
|
||||
// Тест DTC не был выполнен в текущем цикле работы
|
||||
dtc_state_error[i] = UDS_dtc_mask_testNotCompletedThisOperationCycle;
|
||||
// dtc_state_error[i] = UDS_dtc_mask_testNotCompletedThisOperationCycle;
|
||||
// Тест DTC не был выполнен с момента последней очистки
|
||||
dtc_state_error[i] |= UDS_dtc_mask_testNotCompletedSinceLastClear;
|
||||
}
|
||||
|
|
@ -344,6 +346,15 @@ uint32_t SetGetDiagnosticData(tDiagnostic *env, eDiagnosticType diagnosticType,
|
|||
return ret;
|
||||
}
|
||||
|
||||
void setNoBitsDTC(tDiagnostic *env, bool noBitsDTC) {
|
||||
if (osMutexAcquire(env->access, 1000) == osOK) {
|
||||
env->isNoBitsDTC = noBitsDTC;
|
||||
osMutexRelease(env->access);
|
||||
} else {
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Access error setBitsDTC");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static _Noreturn void Diagnostic_Thread(tDiagnostic *env) {
|
||||
for (;;) {
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ typedef struct {
|
|||
eDiagnosticType diagnosticType;
|
||||
tLoggerInterface *logger;
|
||||
|
||||
bool isNoBitsDTC;
|
||||
|
||||
struct {
|
||||
osThreadId_t id;
|
||||
uint32_t stack[512];
|
||||
|
|
@ -47,6 +49,8 @@ void Diagnostic_Init(tDiagnostic *env, tLoggerInterface *logger);
|
|||
|
||||
void Diagnostic_StartThread(tDiagnostic *env);
|
||||
|
||||
void setNoBitsDTC(tDiagnostic *env, bool noBitsDTC);
|
||||
|
||||
uint32_t SetGetDiagnosticData(tDiagnostic *env, eDiagnosticType diagnosticType, void *extEnv);
|
||||
|
||||
#endif //HVAC_M7_DIAGNOSTICTASK_H
|
||||
|
|
|
|||
25
StatusData.c
25
StatusData.c
|
|
@ -13,9 +13,9 @@ tStatusData statusData;
|
|||
//------------------------------------------------------------READ--------------------------------------------------------------------------------------------
|
||||
|
||||
const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_CF[256] = {
|
||||
{&statusData.Status_CCU_Configuration, sizeof(statusData.Status_CCU_Configuration), "0xCF00 : Status_CCU_Configuration"},
|
||||
{&statusData.ecu.Status_CCU_Configuration, sizeof(statusData.ecu.Status_CCU_Configuration), "0xCF00 : Status_CCU_Configuration"},
|
||||
{&statusData.Status_Sensor, sizeof(statusData.Status_Sensor), "0xCF01 : Status_Sensor"},
|
||||
{&statusData.Status_Actuator_DoorsActuator_FB, sizeof(statusData.Status_Actuator_DoorsActuator_FB), "0xCF02 : Status_Actuator_DoorsActuator_FB"},
|
||||
{&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator), "0xCF02 : Status_Actuator_DoorsActuator_FB"},
|
||||
{&statusData.Status_Duct_Tgt, sizeof(statusData.Status_Duct_Tgt), "0xCF03 : Status_Duct_Tgt"},
|
||||
{&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"},
|
||||
{NULL, 0, ""},
|
||||
|
|
@ -563,9 +563,9 @@ const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_F1[256] =
|
|||
|
||||
|
||||
const eUds_WriteDataByIdentifier_2E_com uds_WriteDataByIdentifier_2E_com_CF[256] = {
|
||||
{&statusData.Status_CCU_Configuration, sizeof(statusData.Status_CCU_Configuration), "0xCF00 : Status_CCU_Configuration"},
|
||||
{&statusData.ecu.Status_CCU_Configuration, sizeof(statusData.ecu.Status_CCU_Configuration), "0xCF00 : Status_CCU_Configuration"},
|
||||
{&statusData.Status_Sensor, sizeof(statusData.Status_Sensor), "0xCF01 : Status_Sensor"},
|
||||
{&statusData.Status_Actuator_DoorsActuator_FB, sizeof(statusData.Status_Actuator_DoorsActuator_FB), "0xCF02 : Status_Actuator_DoorsActuator_FB"},
|
||||
{&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator), "0xCF02 : Status_Actuator_DoorsActuator_FB"},
|
||||
{&statusData.Status_Duct_Tgt, sizeof(statusData.Status_Duct_Tgt), "0xCF03 : Status_Duct_Tgt"},
|
||||
{&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"},
|
||||
{NULL, 0, ""},
|
||||
|
|
@ -1651,3 +1651,20 @@ const eUds_IoDataByIdentifier_2F_com uds_IoDataByIdentifier_2F_com_F1[256] = {
|
|||
{NULL, 0, ""},
|
||||
{NULL, 0, ""}
|
||||
};
|
||||
|
||||
void setDefaultStatus() {
|
||||
memset(&statusData.Status_Sensor, 0xFF, sizeof(tStatus_Sensor));
|
||||
// memset(&statusData.Status_Actuator_DoorsActuator_FB, 0xFF, sizeof(tStatus_Actuator));
|
||||
memset(&statusData.Status_Actuator_DoorsActuator, 0xFF, sizeof(tStatus_Actuator));
|
||||
memset(&statusData.Status_Duct_Tgt, 0xFF, sizeof(tStatus_Duct_Tgt));
|
||||
memset(&statusData.Status_Eva_Tgt, 0xFF, sizeof(tStatus_Eva_Tgt));
|
||||
memset(&statusData.Status_Activated_Cal_Num, 0xFF, sizeof(tStatus_Activated_Cal_Num));
|
||||
memset(&statusData.Status_IO, 0xFF, sizeof(tStatus_IO));
|
||||
memset(&statusData.Status_Pwm, 0xFF, sizeof(tStatus_Pwm));
|
||||
memset(&statusData.Status_eComp, 0xFF, sizeof(tStatus_eComp));
|
||||
memset(&statusData.Status_External, 0xFF, sizeof(tStatus_External));
|
||||
memset(&statusData.Status_EMS, 0xFF, sizeof(tStatus_EMS));
|
||||
memset(&statusData.Status_Ionizer_Aroma, 0xFF, sizeof(tStatus_Ionizer_Aroma));
|
||||
|
||||
statusData.Status_Active_Diagnostic_Session.Active_Diagnostic_Session = 1;
|
||||
}
|
||||
30
StatusData.h
30
StatusData.h
|
|
@ -8,24 +8,6 @@
|
|||
#include "stdint.h"
|
||||
#include "DataNonVolatile.h"
|
||||
|
||||
typedef enum {
|
||||
AROMA_NOT_PRESENT = 0,
|
||||
AROMA_PRESENT = 1,
|
||||
AROMA_DEFAULT = 0xFF
|
||||
} eAromaConfiguration;
|
||||
|
||||
typedef enum {
|
||||
ALG_STANDART = 0,
|
||||
ALG_LIMOUSINE = 1,
|
||||
ALG_DEFAULT = 0xFF
|
||||
} eAlgorithmConfiguration;
|
||||
|
||||
typedef enum {
|
||||
REAR_HVAC_NOT_PRESENT = 0,
|
||||
REAR_HVAC_PRESENT = 1,
|
||||
REAR_HVAC_DEFAULT = 0xFF
|
||||
} eRearHVACConfiguration;
|
||||
|
||||
typedef enum {
|
||||
AQS_CLEAR_AIR_LEVEL = 0,
|
||||
AQS_LEVEL_1_LOW = 1,
|
||||
|
|
@ -44,12 +26,6 @@ typedef enum {
|
|||
} eAromatizationIntensivity;
|
||||
|
||||
#pragma scalar_storage_order big-endian
|
||||
typedef struct __attribute__ ((packed)) {
|
||||
eAromaConfiguration AromaConfiguration;
|
||||
eAlgorithmConfiguration AlgorithmConfiguration;
|
||||
eRearHVACConfiguration RearHVACConfiguration;
|
||||
} tStatus_CCU_Configuration;
|
||||
|
||||
|
||||
// 1 Byte; Float; 2 significant digits y = (1/10)x V; Lower limit (phys): 0 V; Upper limit (phys): 25.5 V;
|
||||
// 2 Byte; Float; 1 significant digits; HighLow (Motorola) y = (1/10)x -40 °C; Lower limit (phys): -40 °C; Upper limit (phys): 6513.5 °C;
|
||||
|
|
@ -242,10 +218,9 @@ typedef struct __attribute__ ((packed)) {
|
|||
#pragma scalar_storage_order little-endian
|
||||
|
||||
typedef struct {
|
||||
tStatus_CCU_Configuration Status_CCU_Configuration;
|
||||
tStatus_Sensor Status_Sensor;
|
||||
|
||||
tStatus_Actuator Status_Actuator_DoorsActuator_FB;
|
||||
// tStatus_Actuator Status_Actuator_DoorsActuator_FB;
|
||||
tStatus_Actuator Status_Actuator_DoorsActuator;
|
||||
|
||||
tStatus_Duct_Tgt Status_Duct_Tgt;
|
||||
|
|
@ -295,4 +270,7 @@ extern const eUds_IoDataByIdentifier_2F_com uds_IoDataByIdentifier_2F_com_CF[256
|
|||
extern const eUds_IoDataByIdentifier_2F_com uds_IoDataByIdentifier_2F_com_F1[256];
|
||||
|
||||
extern tStatusData statusData;
|
||||
|
||||
void setDefaultStatus();
|
||||
|
||||
#endif //HVAC_M7_STATUSDATA_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue