This commit is contained in:
cfif 2026-05-20 17:19:15 +03:00
parent ef5950be03
commit 34ca022922
2 changed files with 16 additions and 24 deletions

View File

@ -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) {

View File

@ -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