Обновление
This commit is contained in:
parent
9452f709ee
commit
d6c2a57cf6
|
|
@ -333,9 +333,8 @@ static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) {
|
||||||
lin_event_id_t ret = LIN_NO_EVENT;
|
lin_event_id_t ret = LIN_NO_EVENT;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) {
|
for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) {
|
||||||
set_led_group(&env->d_CCU_DRS_Req, i, env->LED_COUNT[i]);
|
set_led_group(&env->d_CCU_DRS_Req, i, env->linStateSensor.LED_COUNT[i]);
|
||||||
}
|
}
|
||||||
env->d_CCU_DRS_Req.BCM_SwIndIntens_Stat = 1;
|
env->d_CCU_DRS_Req.BCM_SwIndIntens_Stat = 1;
|
||||||
env->d_CCU_DRS_Req.BCM_IndFadingTime_Req = 2;
|
env->d_CCU_DRS_Req.BCM_IndFadingTime_Req = 2;
|
||||||
|
|
@ -344,47 +343,50 @@ static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) {
|
||||||
// *((uint32_t *) &env->d_old_CCU_DRS_Req) = *((uint32_t *) &env->d_CCU_DRS_Req);
|
// *((uint32_t *) &env->d_old_CCU_DRS_Req) = *((uint32_t *) &env->d_CCU_DRS_Req);
|
||||||
ret = Set_CCU_DRS_Req(env->linIo, env->linData, &env->d_CCU_DRS_Req);
|
ret = Set_CCU_DRS_Req(env->linIo, env->linData, &env->d_CCU_DRS_Req);
|
||||||
|
|
||||||
#if (LOG_LIN5_SENSOR == 1)
|
|
||||||
if (ret == LIN_TX_COMPLETED) {
|
if (ret == LIN_TX_COMPLETED) {
|
||||||
|
#if (LOG_LIN5_SENSOR == 1)
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN5, "Sensor Set_CCU_DRS_Req - OK")
|
LoggerInfoStatic(LOGGER, LOG_SIGN5, "Sensor Set_CCU_DRS_Req - OK")
|
||||||
} else {
|
|
||||||
LoggerFormatInfo(LOGGER, LOG_SIGN5, "Sensor Set_CCU_DRS_Req (ERROR %d)", ret)
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
} else {
|
||||||
|
#if (LOG_LIN5_SENSOR == 1)
|
||||||
|
LoggerFormatInfo(LOGGER, LOG_SIGN5, "Sensor Set_CCU_DRS_Req (ERROR %d)", ret)
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) {
|
for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) {
|
||||||
|
|
||||||
ret = Get_DRS_Stat(env->linIo, env->linData, &env->d_DRS_Stat[i], DRS_SENSON_ADR_Stat[i]);
|
ret = Get_DRS_Stat(env->linIo, env->linData, &env->linStateSensor.d_DRS_Stat[i], DRS_SENSON_ADR_Stat[i]);
|
||||||
|
|
||||||
if (env->d_DRS_Stat[i].DRS_Btn_Stat) {
|
if (env->linStateSensor.d_DRS_Stat[i].DRS_Btn_Stat) {
|
||||||
++env->LED_COUNT[i];
|
++env->linStateSensor.LED_COUNT[i];
|
||||||
|
|
||||||
if (env->LED_COUNT[i] > 3) {
|
if (env->linStateSensor.LED_COUNT[i] > 3) {
|
||||||
env->LED_COUNT[i] = 0;
|
env->linStateSensor.LED_COUNT[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (LOG_LIN5_SENSOR == 1)
|
|
||||||
|
|
||||||
if (ret == LIN_RX_COMPLETED) {
|
if (ret == LIN_RX_COMPLETED) {
|
||||||
|
env->linStateSensor.error_connect[i] = 0;
|
||||||
|
#if (LOG_LIN5_SENSOR == 1)
|
||||||
LoggerFormatInfo(LOGGER, LOG_SIGN5,
|
LoggerFormatInfo(LOGGER, LOG_SIGN5,
|
||||||
"Sensor number %d: DRS_Btn_Stat = %d DRS_LinRespErr_Stat = %d DRS_Err_Stat = %d",
|
"Sensor number %d: DRS_Btn_Stat = %d DRS_LinRespErr_Stat = %d DRS_Err_Stat = %d",
|
||||||
i,
|
i,
|
||||||
env->d_DRS_Stat[i].DRS_Btn_Stat,
|
env->linStateSensor.d_DRS_Stat[i].DRS_Btn_Stat,
|
||||||
env->d_DRS_Stat[i].DRS_LinRespErr_Stat,
|
env->linStateSensor.d_DRS_Stat[i].DRS_LinRespErr_Stat,
|
||||||
env->d_DRS_Stat[i].DRS_Err_Stat
|
env->linStateSensor.d_DRS_Stat[i].DRS_Err_Stat
|
||||||
)
|
)
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
|
env->linStateSensor.error_connect[i] = 1;
|
||||||
|
#if (LOG_LIN5_SENSOR == 1)
|
||||||
LoggerFormatInfo(LOGGER, LOG_SIGN5, "Sensor number %d: ERROR Get_FPL_Stat = %d", i, ret)
|
LoggerFormatInfo(LOGGER, LOG_SIGN5, "Sensor number %d: ERROR Get_FPL_Stat = %d", i, ret)
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -414,6 +416,18 @@ static _Noreturn void Lin5_Thread(tLin5TaskSensor *env) {
|
||||||
|
|
||||||
lin_event_id_t res = Lin5_Scheduler(env);
|
lin_event_id_t res = Lin5_Scheduler(env);
|
||||||
|
|
||||||
|
uint8_t isError = 0;
|
||||||
|
for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) {
|
||||||
|
if (env->linStateSensor.error_connect[i] == 1)
|
||||||
|
++isError;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isError == LIN5_SENSOR_COUNT) {
|
||||||
|
env->error_connect = 1;
|
||||||
|
} else {
|
||||||
|
env->error_connect = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
osMutexRelease(env->access);
|
osMutexRelease(env->access);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,6 @@
|
||||||
#define DRS_FCR_Stat 0x30
|
#define DRS_FCR_Stat 0x30
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct __attribute__ ((packed)) {
|
typedef struct __attribute__ ((packed)) {
|
||||||
uint8_t AirQS_LinRespErr_Stat: 1; // 0
|
uint8_t AirQS_LinRespErr_Stat: 1; // 0
|
||||||
uint8_t AirQS_Sens_Stat: 2; // 1
|
uint8_t AirQS_Sens_Stat: 2; // 1
|
||||||
|
|
@ -243,9 +242,14 @@ typedef struct {
|
||||||
|
|
||||||
tLoggerInterface *logger;
|
tLoggerInterface *logger;
|
||||||
|
|
||||||
tDRS_Stat d_DRS_Stat[LIN5_SENSOR_COUNT];
|
|
||||||
|
|
||||||
|
struct {
|
||||||
|
tDRS_Stat d_DRS_Stat[LIN5_SENSOR_COUNT];
|
||||||
uint8_t LED_COUNT[LIN5_SENSOR_COUNT];
|
uint8_t LED_COUNT[LIN5_SENSOR_COUNT];
|
||||||
|
uint8_t error_connect[LIN5_SENSOR_COUNT];
|
||||||
|
} linStateSensor;
|
||||||
|
|
||||||
|
uint8_t error_connect;
|
||||||
|
|
||||||
tCCU_DRS_Req d_CCU_DRS_Req;
|
tCCU_DRS_Req d_CCU_DRS_Req;
|
||||||
tCCU_DRS_Req d_old_CCU_DRS_Req;
|
tCCU_DRS_Req d_old_CCU_DRS_Req;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue