Обновление платы на V2
This commit is contained in:
parent
0e187ecfff
commit
ad833e84fb
|
|
@ -333,18 +333,16 @@ 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) {
|
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;
|
||||||
|
|
||||||
|
ret = Set_CCU_DRS_Req(env->linIo, env->linData, &env->d_CCU_DRS_Req);
|
||||||
|
|
||||||
|
if (ret == LIN_TX_COMPLETED) {
|
||||||
|
|
||||||
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->linStateSensor.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 = 0;
|
env->d_CCU_DRS_Req.BCM_SwIndIntens_Stat = 0;
|
||||||
env->d_CCU_DRS_Req.BCM_IndFadingTime_Req = 2;
|
env->d_CCU_DRS_Req.BCM_IndFadingTime_Req = 0;
|
||||||
|
|
||||||
|
|
||||||
ret = Set_CCU_DRS_Req(env->linIo, env->linData, &env->d_CCU_DRS_Req);
|
|
||||||
|
|
||||||
|
|
||||||
if (ret == LIN_TX_COMPLETED) {
|
|
||||||
#if (LOG_LIN5_SENSOR == 1)
|
#if (LOG_LIN5_SENSOR == 1)
|
||||||
|
|
||||||
if (*((uint32_t *) &env->d_CCU_DRS_Req) != *((uint32_t *) &env->d_old_CCU_DRS_Req)) {
|
if (*((uint32_t *) &env->d_CCU_DRS_Req) != *((uint32_t *) &env->d_old_CCU_DRS_Req)) {
|
||||||
|
|
@ -361,18 +359,26 @@ static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SystemDelayMs(50);
|
||||||
|
|
||||||
for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) {
|
for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) {
|
||||||
|
|
||||||
|
if (env->linStateSensor.error_connect[i] == 0) {
|
||||||
|
|
||||||
ret = Get_DRS_Stat(env->linIo, env->linData, &env->linStateSensor.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->linStateSensor.d_DRS_Stat[i].DRS_Btn_Stat) {
|
uint8_t current_btn_state = env->linStateSensor.d_DRS_Stat[i].DRS_Btn_Stat;
|
||||||
++env->linStateSensor.LED_COUNT[i];
|
|
||||||
|
|
||||||
if (env->linStateSensor.LED_COUNT[i] > 3) {
|
if ((current_btn_state) && (!env->linStateSensor.prev_btn_state[i])) {
|
||||||
env->linStateSensor.LED_COUNT[i] = 0;
|
|
||||||
|
if (env->linStateSensor.LED_COUNT[i] == 0) {
|
||||||
|
env->linStateSensor.LED_COUNT[i] = 3;
|
||||||
|
} else {
|
||||||
|
--env->linStateSensor.LED_COUNT[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
env->linStateSensor.prev_btn_state[i] = current_btn_state;
|
||||||
|
|
||||||
env->linStateSensor.LinRespErr_Stat[i] = env->linStateSensor.d_DRS_Stat[i].DRS_LinRespErr_Stat;
|
env->linStateSensor.LinRespErr_Stat[i] = env->linStateSensor.d_DRS_Stat[i].DRS_LinRespErr_Stat;
|
||||||
env->linStateSensor.Err_Stat[i] = env->linStateSensor.d_DRS_Stat[i].DRS_Err_Stat;
|
env->linStateSensor.Err_Stat[i] = env->linStateSensor.d_DRS_Stat[i].DRS_Err_Stat;
|
||||||
|
|
@ -408,6 +414,9 @@ static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SystemDelayMs(50);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -424,6 +433,10 @@ void Lin_5_Init(tLin5TaskSensor *env,
|
||||||
env->logger = logger;
|
env->logger = logger;
|
||||||
env->access = osMutexNew(NULL);
|
env->access = osMutexNew(NULL);
|
||||||
|
|
||||||
|
for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) {
|
||||||
|
env->linStateSensor.LED_COUNT[i] = 3;
|
||||||
|
}
|
||||||
|
|
||||||
InitThreadAtrStatic(&env->threadLin.attr, "Ln5", env->threadLin.controlBlock, env->threadLin.stack,
|
InitThreadAtrStatic(&env->threadLin.attr, "Ln5", env->threadLin.controlBlock, env->threadLin.stack,
|
||||||
osPriorityNormal);
|
osPriorityNormal);
|
||||||
}
|
}
|
||||||
|
|
@ -454,7 +467,6 @@ static _Noreturn void Lin5_Thread(tLin5TaskSensor *env) {
|
||||||
LoggerErrorStatic(LOGGER, LOG_SIGN5, "Access error Lin5_Thread");
|
LoggerErrorStatic(LOGGER, LOG_SIGN5, "Access error Lin5_Thread");
|
||||||
}
|
}
|
||||||
|
|
||||||
SystemDelayMs(50);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -259,6 +259,8 @@ typedef struct {
|
||||||
uint8_t error_connect[LIN5_SENSOR_COUNT];
|
uint8_t error_connect[LIN5_SENSOR_COUNT];
|
||||||
uint8_t error_old_connect[LIN5_SENSOR_COUNT];
|
uint8_t error_old_connect[LIN5_SENSOR_COUNT];
|
||||||
|
|
||||||
|
uint8_t prev_btn_state[LIN5_SENSOR_COUNT];
|
||||||
|
|
||||||
uint8_t LinRespErr_Stat[LIN5_SENSOR_COUNT];
|
uint8_t LinRespErr_Stat[LIN5_SENSOR_COUNT];
|
||||||
uint8_t Err_Stat[LIN5_SENSOR_COUNT];
|
uint8_t Err_Stat[LIN5_SENSOR_COUNT];
|
||||||
} linStateSensor;
|
} linStateSensor;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue