/*!
 * @file        user_tmr_config.h
 *
 * @brief       TMR Output Compare Toggle configuration
 *
 * @version     V1.0.0
 *
 * @date        2026-03-27
 *
 * @attention
 *
 *  Copyright (C) 2026 Geehy Semiconductor
 *
 *  You may not use this file except in compliance with the
 *  GEEHY COPYRIGHT NOTICE (Geehy Semiconductor Software License Agreement).
 */

#ifndef USER_TMR_CONFIG_H
#define USER_TMR_CONFIG_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes */
#include "g32a10xx.h"
#include "g32a10xx_gpio.h"
#include "g32a10xx_tmr.h"
#include "g32a10xx_misc.h"

/** @addtogroup Examples
  @{
*/

/** @addtogroup TMR_Examples
@{
*/

/** @addtogroup TMR_OCToggle
  @{
*/

/** @defgroup TMR_OCToggle_Macros Macros
  @{
*/

/* TMR3_CH1 */
#define TMR3_CH1_GPIO_PORT        GPIOA
#define TMR3_CH1_PIN              GPIO_PIN_6
#define TMR3_CH1_PIN_SOURCE       GPIO_PIN_SOURCE_6
#define TMR3_CH1_GPIO_AF          GPIO_AF_PIN1

/* TMR3_CH2 */
#define TMR3_CH2_GPIO_PORT        GPIOA
#define TMR3_CH2_PIN              GPIO_PIN_7
#define TMR3_CH2_PIN_SOURCE       GPIO_PIN_SOURCE_7
#define TMR3_CH2_GPIO_AF          GPIO_AF_PIN1

/* TMR3_CH3 */
#define TMR3_CH3_GPIO_PORT        GPIOB
#define TMR3_CH3_PIN              GPIO_PIN_0
#define TMR3_CH3_PIN_SOURCE       GPIO_PIN_SOURCE_0
#define TMR3_CH3_GPIO_AF          GPIO_AF_PIN1

/* TMR3_CH4 */
#define TMR3_CH4_GPIO_PORT        GPIOB
#define TMR3_CH4_PIN              GPIO_PIN_1
#define TMR3_CH4_PIN_SOURCE       GPIO_PIN_SOURCE_1
#define TMR3_CH4_GPIO_AF          GPIO_AF_PIN1

/**@} end of group TMR_OCToggle_Macros */

/** @defgroup TMR_OCToggle_Variables Variables
  @{
*/

extern Gpio_ConfigType g_tmr3_Ch1GpioConfig;
extern Gpio_ConfigType g_tmr3_Ch2GpioConfig;
extern Gpio_ConfigType g_tmr3_Ch3GpioConfig;
extern Gpio_ConfigType g_tmr3_Ch4GpioConfig;

extern Tmr_TimeBaseType g_tmr3_BaseConfig;

extern Tmr_OcConfigType g_tmr3_OC1Config;
extern Tmr_OcConfigType g_tmr3_OC2Config;
extern Tmr_OcConfigType g_tmr3_OC3Config;
extern Tmr_OcConfigType g_tmr3_OC4Config;

/**@} end of group TMR_OCToggle_Variables */

/**@} end of group TMR_OCToggle */
/**@} end of group TMR_Examples */
/**@} end of group Examples */

#ifdef __cplusplus
}
#endif

#endif /* USER_TMR_CONFIG_H */
