/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file gpio.h * @brief This file contains all the function prototypes for * the gpio.c file ****************************************************************************** * @attention * * Copyright (c) 2024 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __GPIO_H__ #define __GPIO_H__ #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "main.h" /* USER CODE BEGIN Includes */ #define ON GPIO_PIN_SET #define OFF GPIO_PIN_RESET #define RS485_RD GPIO_PIN_RESET #define RS485_WR GPIO_PIN_SET /* USER CODE END Includes */ /* USER CODE BEGIN Private defines */ #define PWR_CTRL(STATE) HAL_GPIO_WritePin(PWR_EN_GPIO_Port, PWR_EN_Pin, STATE) #define PWR12_CTRL(STATE) HAL_GPIO_WritePin(PWR12_EN_GPIO_Port, PWR12_EN_Pin, STATE) #define LIGHT_PWR(STATE) HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, STATE) #define LED_TOG HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin) #define RS485_RW(RW) HAL_GPIO_WritePin(RS485_RW_GPIO_Port, RS485_RW_Pin, RW) #define BLE_RSTN(STATE) HAL_GPIO_WritePin(BLE_RSTN_GPIO_Port, BLE_RSTN_Pin, STATE) #define HART_OCD() HAL_GPIO_ReadPin(HART_OCD_GPIO_Port, HART_OCD_Pin) #define HART_RTS(SEND) HAL_GPIO_WritePin(HART_RTS_GPIO_Port, HART_RTS_Pin, SEND) #define HC138_SEL_CH(CH) \ do \ { \ HAL_GPIO_WritePin(HC138_E13_GPIO_Port, HC138_E13_Pin, GPIO_PIN_SET); \ if (CH < 5) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_SET); \ } \ else \ { \ HAL_GPIO_WritePin(HC138_A10_GPIO_Port, HC138_A10_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A11_GPIO_Port, HC138_A11_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A12_GPIO_Port, HC138_A12_Pin, GPIO_PIN_SET); \ } \ if (CH == 0) \ { \ HAL_GPIO_WritePin(HC138_A10_GPIO_Port, HC138_A10_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A11_GPIO_Port, HC138_A11_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A12_GPIO_Port, HC138_A12_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 1) \ { \ HAL_GPIO_WritePin(HC138_A10_GPIO_Port, HC138_A10_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A11_GPIO_Port, HC138_A11_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A12_GPIO_Port, HC138_A12_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 2) \ { \ HAL_GPIO_WritePin(HC138_A10_GPIO_Port, HC138_A10_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A11_GPIO_Port, HC138_A11_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A12_GPIO_Port, HC138_A12_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 3) \ { \ HAL_GPIO_WritePin(HC138_A10_GPIO_Port, HC138_A10_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A11_GPIO_Port, HC138_A11_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A12_GPIO_Port, HC138_A12_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 4) \ { \ HAL_GPIO_WritePin(HC138_A10_GPIO_Port, HC138_A10_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A11_GPIO_Port, HC138_A11_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A12_GPIO_Port, HC138_A12_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(RLY_K1_GPIO_Port, RLY_K1_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(RLY_K2_GPIO_Port, RLY_K2_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(RLY_K3_GPIO_Port, RLY_K3_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 5) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 6) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 7) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 8) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 9) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(RLY_K1_GPIO_Port, RLY_K1_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(RLY_K2_GPIO_Port, RLY_K2_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(RLY_K3_GPIO_Port, RLY_K3_Pin, GPIO_PIN_SET); \ } \ else if (CH == 10) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(RLY_K1_GPIO_Port, RLY_K1_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(RLY_K2_GPIO_Port, RLY_K2_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(RLY_K3_GPIO_Port, RLY_K3_Pin, GPIO_PIN_RESET); \ } \ else if (CH == 11) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_SET); \ } \ else if (CH == 12) \ { \ HAL_GPIO_WritePin(HC138_A20_GPIO_Port, HC138_A20_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A21_GPIO_Port, HC138_A21_Pin, GPIO_PIN_SET); \ HAL_GPIO_WritePin(HC138_A22_GPIO_Port, HC138_A22_Pin, GPIO_PIN_SET); \ } \ if (CH != 4 && CH != 9 && CH != 10) \ { \ HAL_GPIO_WritePin(RLY_K1_GPIO_Port, RLY_K1_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(RLY_K2_GPIO_Port, RLY_K2_Pin, GPIO_PIN_RESET); \ HAL_GPIO_WritePin(RLY_K3_GPIO_Port, RLY_K3_Pin, GPIO_PIN_RESET); \ } \ } while (0) #define DAC8552_SYNC(SYNC) HAL_GPIO_WritePin(DAC8552_SYNC_GPIO_Port, DAC8552_SYNC_Pin, SYNC) #define RN7302_CS(CS) HAL_GPIO_WritePin(RN7302_CS_GPIO_Port, RN7302_CS_Pin, CS) #define ADS1220_CS(CS) HAL_GPIO_WritePin(ADS1220_CS_GPIO_Port, ADS1220_CS_Pin, CS) #define DAC7811_CS(CS) HAL_GPIO_WritePin(DAC7811_CS_GPIO_Port, DAC7811_CS_Pin, CS) /* USER CODE END Private defines */ void MX_GPIO_Init(void); /* USER CODE BEGIN Prototypes */ /* USER CODE END Prototypes */ #ifdef __cplusplus } #endif #endif /*__ GPIO_H__ */