// // Created by cfif on 12.02.2026. // #include #include "LinSensorTasks.h" #include "CmsisRtosThreadUtils.h" #include "CanPorts.h" #include "fc7xxx_driver_lin.h" #include "Lins.h" #include "LoggerInterface.h" #include "memory.h" #define LOG_SIGN "Lin0" #define LOGGER env->logger static lin_event_id_t SEND_SENSOR_COM_x(tLinIO *linIo, uint8_t COM_ADR) { lin_event_id_t res = linIo->runCommand(linIo->env, COM_ADR, 40); SystemDelayMs(30); return res; } static lin_event_id_t Get_AirQS_Stat(tLinIO *linIo, tLinData *linData, tAirQS_Stat *p_AirQS_Stat) { lin_event_id_t res; tAirQS_Stat *tAirQS_Stat_ = (tAirQS_Stat *) linData->g_aRxBuffer; uint8_t retry = 3; while (retry) { linData->direction = LIN_DIRECTION_GET; linData->g_aTxBufferLen = 0; linData->g_aRxBufferLen = sizeof(tAirQS_Stat); res = SEND_SENSOR_COM_x(linIo, AirQS_Stat); if (res == LIN_RX_COMPLETED) { memcpy(p_AirQS_Stat, tAirQS_Stat_, sizeof(tAirQS_Stat)); break; } --retry; } return res; }