From 34ca022922eae3d6dffff831f8e846bddda1e7e8 Mon Sep 17 00:00:00 2001 From: cfif Date: Wed, 20 May 2026 17:19:15 +0300 Subject: [PATCH] Init --- LinSensorTasks.c | 24 +++++++++++------------- LinSensorTasks.h | 16 +++++----------- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/LinSensorTasks.c b/LinSensorTasks.c index be4e0c5..b7c753a 100644 --- a/LinSensorTasks.c +++ b/LinSensorTasks.c @@ -21,13 +21,13 @@ const uint8_t DRS_SENSON_ADR_Stat[LIN5_SENSOR_COUNT] = {DRS_DL_Stat, DRS_FCL_Stat, DRS_FCR_Stat}; -static lin_event_id_t SEND_SENSOR_COM_x(tLinIO *linIo, uint8_t COM_ADR) { - lin_event_id_t res = linIo->runCommand(linIo->env, 30); +static lin_event_id_t SEND_SENSOR_COM_x(tSerialPortLinIO *linIo, tLinData *linData, uint8_t COM_ADR) { + lin_event_id_t res = linIo->transmitCommand(linIo->env, linData, 30); // SystemDelayMs(40); return res; } -static lin_event_id_t Set_CCU_Req(tLinIO *linIo, tLinData *linData, tCCU_Req *p_CCU_Req) { +static lin_event_id_t Set_CCU_Req(tSerialPortLinIO *linIo, tLinData *linData, tCCU_Req *p_CCU_Req) { lin_event_id_t res; linData->direction = LIN_DIRECTION_SET; @@ -41,7 +41,7 @@ static lin_event_id_t Set_CCU_Req(tLinIO *linIo, tLinData *linData, tCCU_Req *p_ while (retry) { - res = SEND_SENSOR_COM_x(linIo, CCU_Req); + res = SEND_SENSOR_COM_x(linIo, linData, CCU_Req); if (res == LIN_TX_COMPLETED) { break; @@ -174,7 +174,7 @@ void Lin4_StartThread(tLin4TaskSensor *env) { //начало----------------------------------------- LIN 5 ---------------------------------------------------------------- //начало----------------------------------------- LIN 5 --------------------------------------------------------------- -static lin_event_id_t Set_CCU_DRS_Req(tLinIO *linIo, tLinData *linData, tCCU_DRS_Req *p_CCU_DRS_Req) { +static lin_event_id_t Set_CCU_DRS_Req(tSerialPortLinIO *linIo, tLinData *linData, tCCU_DRS_Req *p_CCU_DRS_Req) { lin_event_id_t res; linData->direction = LIN_DIRECTION_SET; @@ -188,7 +188,7 @@ static lin_event_id_t Set_CCU_DRS_Req(tLinIO *linIo, tLinData *linData, tCCU_DRS while (retry) { - res = SEND_SENSOR_COM_x(linIo, CCU_DRS_Req); + res = SEND_SENSOR_COM_x(linIo, linData, CCU_DRS_Req); if (res == LIN_TX_COMPLETED) { break; @@ -201,7 +201,7 @@ static lin_event_id_t Set_CCU_DRS_Req(tLinIO *linIo, tLinData *linData, tCCU_DRS } -static lin_event_id_t Get_DRS_Stat(tLinIO *linIo, tLinData *linData, tDRS_Stat *p_tDRS_Stat, uint8_t DRS_stat) { +static lin_event_id_t Get_DRS_Stat(tSerialPortLinIO *linIo, tLinData *linData, tDRS_Stat *p_tDRS_Stat, uint8_t DRS_stat) { lin_event_id_t res; tDRS_Stat *tDRS_Stat_ = (tDRS_Stat *) linData->g_aRxBuffer; @@ -215,7 +215,7 @@ static lin_event_id_t Get_DRS_Stat(tLinIO *linIo, tLinData *linData, tDRS_Stat * linData->g_aTxBufferLen = 0; linData->g_aRxBufferLen = sizeof(tDRS_Stat); - res = SEND_SENSOR_COM_x(linIo, DRS_stat); + res = SEND_SENSOR_COM_x(linIo, linData, DRS_stat); if (res == LIN_RX_COMPLETED) { memcpy(p_tDRS_Stat, tDRS_Stat_, sizeof(tDRS_Stat)); @@ -305,8 +305,7 @@ static void set_led_group(tCCU_DRS_Req *req, uint8_t led_group, uint8_t count) { static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) { - - lin_event_id_t ret = env->lin_Io.getCommand(env->lin_Io.env, 1000); + lin_event_id_t ret = env->linIo->receivedCommand(env->linIo->env, &env->linData, 1000); asm("nop"); @@ -405,13 +404,12 @@ static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) { } void Lin_5_Init(tLin5TaskSensor *env, - tSerialPortIO *serialPortIO, + tSerialPortLinIO *linIo, tLoggerInterface *logger) { - LIN_Initial(&env->lin, serialPortIO, &env->linData); - env->lin_Io = vLinGetIo(&env->lin); env->logger = logger; + env->linIo = linIo; env->access = osMutexNew(NULL); for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) { diff --git a/LinSensorTasks.h b/LinSensorTasks.h index cac9d95..0b68baa 100644 --- a/LinSensorTasks.h +++ b/LinSensorTasks.h @@ -10,7 +10,6 @@ #include "LinIO.h" #include "LoggerInterface.h" #include "SerialPortIO.h" -#include "LinAt32.h" #define LOG_LIN4_SENSOR 1 #define LOG_LIN5_SENSOR 1 @@ -214,7 +213,7 @@ typedef struct __attribute__ ((packed)) { typedef struct { - tLinIO *linIo; + tSerialPortLinIO *linIo; osMutexId_t access; tLinData *linData; @@ -248,10 +247,9 @@ typedef struct { tLinData linData; - tLoggerInterface *logger; + tSerialPortLinIO *linIo; - tLinAt32 lin; - tLinIO lin_Io; + tLoggerInterface *logger; struct { tDRS_Stat d_DRS_Stat[LIN5_SENSOR_COUNT]; @@ -293,17 +291,12 @@ void Lin4_StartThread(tLin4TaskSensor *env); */ void Lin_5_Init(tLin5TaskSensor *env, - tSerialPortIO *serialPortIO, + tSerialPortLinIO *linIo, tLoggerInterface *logger); void Lin5_StartThread(tLin5TaskSensor *env); - - - - - typedef struct { tLoggerInterface *logger; @@ -319,4 +312,5 @@ typedef struct { void Lin_Timeouts_Init(tLinTimeoutsTask *env, tLoggerInterface *logger); void LinTimeouts_StartThread(tLinTimeoutsTask *env); + #endif //HVAC_DEV_LINSENSORTASKS_H