Обновление
This commit is contained in:
parent
ba8cc5663e
commit
377bd4c7a2
|
|
@ -6,6 +6,8 @@
|
||||||
#include "StatusData.h"
|
#include "StatusData.h"
|
||||||
#include "StatusError.h"
|
#include "StatusError.h"
|
||||||
|
|
||||||
|
#define LOG_SIGN "DIAGNOSTIC"
|
||||||
|
#define LOGGER env->logger
|
||||||
|
|
||||||
void Diagnostic_Init(tDiagnostic *env, tLoggerInterface *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) {
|
for (uint8_t i = 0; i < COUNT_DTC_CODE_ERROR; ++i) {
|
||||||
// Тест DTC не был выполнен в текущем цикле работы
|
// Тест DTC не был выполнен в текущем цикле работы
|
||||||
dtc_state_error[i] = UDS_dtc_mask_testNotCompletedThisOperationCycle;
|
// dtc_state_error[i] = UDS_dtc_mask_testNotCompletedThisOperationCycle;
|
||||||
// Тест DTC не был выполнен с момента последней очистки
|
// Тест DTC не был выполнен с момента последней очистки
|
||||||
dtc_state_error[i] |= UDS_dtc_mask_testNotCompletedSinceLastClear;
|
dtc_state_error[i] |= UDS_dtc_mask_testNotCompletedSinceLastClear;
|
||||||
}
|
}
|
||||||
|
|
@ -344,6 +346,15 @@ uint32_t SetGetDiagnosticData(tDiagnostic *env, eDiagnosticType diagnosticType,
|
||||||
return ret;
|
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) {
|
static _Noreturn void Diagnostic_Thread(tDiagnostic *env) {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@ typedef struct {
|
||||||
eDiagnosticType diagnosticType;
|
eDiagnosticType diagnosticType;
|
||||||
tLoggerInterface *logger;
|
tLoggerInterface *logger;
|
||||||
|
|
||||||
|
bool isNoBitsDTC;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
osThreadId_t id;
|
osThreadId_t id;
|
||||||
uint32_t stack[512];
|
uint32_t stack[512];
|
||||||
|
|
@ -47,6 +49,8 @@ void Diagnostic_Init(tDiagnostic *env, tLoggerInterface *logger);
|
||||||
|
|
||||||
void Diagnostic_StartThread(tDiagnostic *env);
|
void Diagnostic_StartThread(tDiagnostic *env);
|
||||||
|
|
||||||
|
void setNoBitsDTC(tDiagnostic *env, bool noBitsDTC);
|
||||||
|
|
||||||
uint32_t SetGetDiagnosticData(tDiagnostic *env, eDiagnosticType diagnosticType, void *extEnv);
|
uint32_t SetGetDiagnosticData(tDiagnostic *env, eDiagnosticType diagnosticType, void *extEnv);
|
||||||
|
|
||||||
#endif //HVAC_M7_DIAGNOSTICTASK_H
|
#endif //HVAC_M7_DIAGNOSTICTASK_H
|
||||||
|
|
|
||||||
25
StatusData.c
25
StatusData.c
|
|
@ -13,9 +13,9 @@ tStatusData statusData;
|
||||||
//------------------------------------------------------------READ--------------------------------------------------------------------------------------------
|
//------------------------------------------------------------READ--------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_CF[256] = {
|
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_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_Duct_Tgt, sizeof(statusData.Status_Duct_Tgt), "0xCF03 : Status_Duct_Tgt"},
|
||||||
{&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"},
|
{&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"},
|
||||||
{NULL, 0, ""},
|
{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] = {
|
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_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_Duct_Tgt, sizeof(statusData.Status_Duct_Tgt), "0xCF03 : Status_Duct_Tgt"},
|
||||||
{&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"},
|
{&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"},
|
||||||
{NULL, 0, ""},
|
{NULL, 0, ""},
|
||||||
|
|
@ -1651,3 +1651,20 @@ const eUds_IoDataByIdentifier_2F_com uds_IoDataByIdentifier_2F_com_F1[256] = {
|
||||||
{NULL, 0, ""},
|
{NULL, 0, ""},
|
||||||
{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 "stdint.h"
|
||||||
#include "DataNonVolatile.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 {
|
typedef enum {
|
||||||
AQS_CLEAR_AIR_LEVEL = 0,
|
AQS_CLEAR_AIR_LEVEL = 0,
|
||||||
AQS_LEVEL_1_LOW = 1,
|
AQS_LEVEL_1_LOW = 1,
|
||||||
|
|
@ -44,12 +26,6 @@ typedef enum {
|
||||||
} eAromatizationIntensivity;
|
} eAromatizationIntensivity;
|
||||||
|
|
||||||
#pragma scalar_storage_order big-endian
|
#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;
|
// 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;
|
// 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
|
#pragma scalar_storage_order little-endian
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
tStatus_CCU_Configuration Status_CCU_Configuration;
|
|
||||||
tStatus_Sensor Status_Sensor;
|
tStatus_Sensor Status_Sensor;
|
||||||
|
|
||||||
tStatus_Actuator Status_Actuator_DoorsActuator_FB;
|
// tStatus_Actuator Status_Actuator_DoorsActuator_FB;
|
||||||
tStatus_Actuator Status_Actuator_DoorsActuator;
|
tStatus_Actuator Status_Actuator_DoorsActuator;
|
||||||
|
|
||||||
tStatus_Duct_Tgt Status_Duct_Tgt;
|
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 const eUds_IoDataByIdentifier_2F_com uds_IoDataByIdentifier_2F_com_F1[256];
|
||||||
|
|
||||||
extern tStatusData statusData;
|
extern tStatusData statusData;
|
||||||
|
|
||||||
|
void setDefaultStatus();
|
||||||
|
|
||||||
#endif //HVAC_M7_STATUSDATA_H
|
#endif //HVAC_M7_STATUSDATA_H
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue