HVAC_M7_MONO/MODULES/HVAC_M7_StatusData/DiagnosticTask.h

44 lines
1.3 KiB
C

//
// Created by cfif on 23.01.2026.
//
#ifndef HVAC_M7_DIAGNOSTICTASK_H
#define HVAC_M7_DIAGNOSTICTASK_H
#include <cmsis_os.h>
#include "LoggerInterface.h"
#include "ccu_candb-binutil.h"
#include "lfs.h"
#define LOG_DTC 1
#define DTC_TEST_FAILED 1
#define DTC_TEST_CONFIRMED 8
#define DTC_TEST_FAILED_CONFIRMED (DTC_TEST_FAILED | DTC_TEST_CONFIRMED)
typedef struct {
uint8_t mask;
uint8_t *dataResponse;
} tDiagnosticDTC;
typedef struct {
osMutexId_t access;
tLoggerInterface *logger;
bool isNoBitsDTC;
bool isCleanDTC;
} tDiagnostic;
void Diagnostic_Init(tDiagnostic *env, tLoggerInterface *logger);
void set_NoBitsDTC(tDiagnostic *env, bool noBitsDTC);
void set_Dtc_state(tDiagnostic *env, CCU_Errors_t *CCU_Errors, uint8_t *dtc_state_error_model, char *VIN,
ccu_candb_error_missing_rx_t *CAN_ERROR_MISSLE, ccu_candb_time_missing_rx_t *CAN_TIME_MISSLE);
uint32_t diagnostic_ClearDiagnosticInformation_14(tDiagnostic *env);
uint32_t diagnostic_UDS_ReadDTCInformation_19_count(tDiagnostic *env, tDiagnosticDTC *diagnosticDTC);
uint32_t diagnostic_UDS_ReadDTCInformation_19_dtc(tDiagnostic *env, tDiagnosticDTC *diagnosticDTC);
uint32_t diagnostic_UDS_ReadDTCSupportDTC_19_dtc(tDiagnostic *env, tDiagnosticDTC *diagnosticDTC);
#endif //HVAC_M7_DIAGNOSTICTASK_H