188 lines
11 KiB
C
188 lines
11 KiB
C
/* 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 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__ */
|