/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.h
* @brief : Header for main.c file.
* This file contains the common defines of the application.
******************************************************************************
* @attention
*
*
© Copyright (c) 2021 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32g0xx_ll_dma.h"
#include "stm32g0xx.h"
#include "stm32g0xx_ll_i2c.h"
#include "stm32g0xx_ll_rcc.h"
#include "stm32g0xx_ll_bus.h"
#include "stm32g0xx_ll_system.h"
#include "stm32g0xx_ll_exti.h"
#include "stm32g0xx_ll_cortex.h"
#include "stm32g0xx_ll_utils.h"
#include "stm32g0xx_ll_pwr.h"
#include "stm32g0xx_ll_spi.h"
#include "stm32g0xx_ll_tim.h"
#include "stm32g0xx_ll_gpio.h"
#if defined(USE_FULL_ASSERT)
#include "stm32_assert.h"
#endif /* USE_FULL_ASSERT */
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "gpio.h"
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
typedef enum {
DOWN = 0,
UP = 1
} updown_t;
typedef enum {
OFF = 0,
ON = 1
} onoff_t;
/* USER CODE END ET */
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
/* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
#define LATCH_DOWN GPIOB->BRR = 0x10
#define LATCH_UP GPIOB->BSRR = 0x10
#define SHDN_OFF GPIOA->BRR = 0x10
#define SHDN_ON GPIOA->BSRR = 0x10
#define IN15_P GPIOA->BSRR = 0x1
#define IN15_Plus GPIOA->BSRR = 0x2
#define IN15_Minus GPIOA->BSRR = 0x4
#define IN15_Percent GPIOA->BSRR = 0x8
#define IN15_OFF GPIOA->BRR = 0xF
#define COLOR_R(x) TIM3->CCR1 = x
#define COLOR_B(x) TIM3->CCR2 = x
#define COLOR_G(x) TIM3->CCR3 = x
#define COLOR_RGB(r, g, b) TIM3->CCR1 = r; TIM3->CCR3 = g; TIM3->CCR2 = b
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
#define LC0_Pin LL_GPIO_PIN_0
#define LC0_GPIO_Port GPIOA
#define LC1_Pin LL_GPIO_PIN_1
#define LC1_GPIO_Port GPIOA
#define LC2_Pin LL_GPIO_PIN_2
#define LC2_GPIO_Port GPIOA
#define LC3_Pin LL_GPIO_PIN_3
#define LC3_GPIO_Port GPIOA
#define SHDN_Pin LL_GPIO_PIN_4
#define SHDN_GPIO_Port GPIOA
#define PWM_R_Pin LL_GPIO_PIN_6
#define PWM_R_GPIO_Port GPIOA
#define PWM_G_Pin LL_GPIO_PIN_7
#define PWM_G_GPIO_Port GPIOA
#define PWM_B_Pin LL_GPIO_PIN_0
#define PWM_B_GPIO_Port GPIOB
#define PWM_T_Pin LL_GPIO_PIN_1
#define PWM_T_GPIO_Port GPIOB
#define BTN1_Pin LL_GPIO_PIN_8
#define BTN1_GPIO_Port GPIOA
#define BTN2_Pin LL_GPIO_PIN_9
#define BTN2_GPIO_Port GPIOA
#define BTN3_Pin LL_GPIO_PIN_10
#define BTN3_GPIO_Port GPIOA
#define BTN4_Pin LL_GPIO_PIN_11
#define BTN4_GPIO_Port GPIOA
#define Latch_Pin LL_GPIO_PIN_4
#define Latch_GPIO_Port GPIOB
#define IRQ_Pin LL_GPIO_PIN_8
#define IRQ_GPIO_Port GPIOB
#define IRQ_EXTI_IRQn EXTI4_15_IRQn
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
#ifdef __cplusplus
}
#endif
#endif /* __MAIN_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/