diff --git a/Gpios.c b/Gpios.c index 14092fe..6e292f0 100644 --- a/Gpios.c +++ b/Gpios.c @@ -11,10 +11,9 @@ void Gpios_Init() { tGpios *env = &GPIOS; env->led.LED_R = vInitGpioPinPull(GPIO_A, PORT_PIN_1, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_DOWN); - env->led.LED_G = vInitGpioPinPull(GPIO_B, PORT_PIN_8, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_DOWN); + env->led.LED_G = vInitGpioPinPull(GPIO_D, PORT_PIN_2, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_DOWN); env->power.TPS7B6850QPWPRQ1.WD_EN = vInitGpioPinPull(GPIO_C, PORT_PIN_12, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_DOWN); - // В схеме нет внешней подтяжки (ошибка) !!! env->power.TPS7B6850QPWPRQ1.WDO = vInitGpioPinPull(GPIO_C, PORT_PIN_13, GPIO_IN, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_OPEN, PORT_PULL_DOWN); env->power.TPS7B6850QPWPRQ1.WD = vInitGpioPinPull(GPIO_C, PORT_PIN_14, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_DOWN); @@ -35,10 +34,12 @@ void Gpios_Init() { // Канал 0 (1 - ВКЛ) env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_EN = vInitGpioPinPull(GPIO_D, PORT_PIN_24, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); - // Разрешение диагностики (1 - ВКЛ) - env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_EN_Diag = vInitGpioPinPull(GPIO_D, PORT_PIN_25, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); - // Вывод диагностики (0 - Канал 0; 1 - Канал 1) - env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_SEL_Diag = vInitGpioPinPull(GPIO_D, PORT_PIN_26, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); + // Разрешение диагностики (1 - ВКЛ) Fix V2 + //env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_EN_Diag = vInitGpioPinPull(GPIO_D, PORT_PIN_25, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); + env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_EN_Diag = vInitGpioPinPull(GPIO_B, PORT_PIN_12, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); + // Вывод диагностики (0 - Канал 0; 1 - Канал 1) Fix V2 + //env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_SEL_Diag = vInitGpioPinPull(GPIO_D, PORT_PIN_26, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); + env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_SEL_Diag = vInitGpioPinPull(GPIO_B, PORT_PIN_10, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Канал 1 (1 - ВКЛ) env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.ReservePower_EN = vInitGpioPinPull(GPIO_D, PORT_PIN_27, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); @@ -79,6 +80,22 @@ void Gpios_Init() { + + + // Резервный источник разрешение (1 - ВКЛ) + env->power.BTS4175SGAXUMA1_PowerReserve.EN_PowerReserve = vInitGpioPinPull(GPIO_C, PORT_PIN_22, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); + // Резервный источник состояния состояние (1 - ошибок нет) + // Когда устройство работает нормально (нет перегрузки, перегрева, обрыва нагрузки при выключенном состоянии), + // на выводе ST поддерживается высокий уровень напряжения (через внешний подтягивающий резистор) + env->power.BTS4175SGAXUMA1_PowerReserve.ST_PowerReserve = vInitGpioPinPull(GPIO_C, PORT_PIN_19, GPIO_IN, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_OPEN, PORT_PULL_DOWN); + + + + + + + + // Основной сигнал включения/выключения силового канала (выхода OUTPUT) (1 - ВКЛ) env->power.VN7008AJ_FrontLINActuatorPowerDriverAB.LIN_ActPower_AB = vInitGpioPinPull(GPIO_B, PORT_PIN_22, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); diff --git a/Gpios.h b/Gpios.h index 5f4bd09..8b03650 100644 --- a/Gpios.h +++ b/Gpios.h @@ -92,7 +92,10 @@ typedef struct { tGpioPin ST_BATTChiller; // Холодильник состояния (1 - ошибок нет) } tBTS4175SGAXUMA1_ShutOFFValveBatteryChiller; - +typedef struct { + tGpioPin EN_PowerReserve; // (1 - ВКЛ) + tGpioPin ST_PowerReserve; // (1 - ошибок нет) +} tBTS4175SGAXUMA1_PowerReserve; typedef struct { uint8_t SW5V_EN; @@ -129,6 +132,7 @@ typedef struct { tBTS5180_2EKA_ShutOFFValveFrontRear BTS5180_2EKA_ShutOFFValveFrontRear; tBTS4175SGAXUMA1_ReservePowerOutput BTS4175SGAXUMA1_ReservePowerOutput; tBTS4175SGAXUMA1_ShutOFFValveBatteryChiller BTS4175SGAXUMA1_ShutOFFValveBatteryChiller; + tBTS4175SGAXUMA1_PowerReserve BTS4175SGAXUMA1_PowerReserve; tVN7008AJ_FrontLINActuatorPowerDriverAB VN7008AJ_FrontLINActuatorPowerDriverAB; tVN7008AJ_RearLINActuatorPowerDriverC VN7008AJ_RearLINActuatorPowerDriverC; tBTS5120_2EKA_ShutoffValvePowerTXV BTS5120_2EKA_ShutoffValvePowerTXV;