/*!
 * @file        user_tmr_config.c
 *
 * @brief       TMR 6Steps configuration
 *
 * @version     V1.0.0
 *
 * @date        2026-03-26
 *
 * @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.
 *
 *  The program is only for reference, which is distributed in the hope
 *  that it will be useful and instructional for customers to develop
 *  their software. Unless required by applicable law or agreed to in
 *  writing, the program is distributed on an "AS IS" BASIS, WITHOUT
 *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the Geehy Semiconductor Software License Agreement for the governing permissions
 *  and limitations under the license.
 */
/* Includes */
#include "user_tmr_config.h"

/** @addtogroup Examples
  @{
*/

/** @addtogroup TMR_Examples
@{
*/

/** @addtogroup TMR_6Steps
  @{
*/

/** @defgroup TMR_6Steps_Variables Variables
  @{
*/

Tmr_TimeBaseType g_tmrBaseCfg = {
    .clockDivision     = TMR_CKD_DIV1,
    .counterMode       = TMR_COUNTER_MODE_UP,
    .div               = 0,
    .period            = 2047,
    .repetitionCounter = 0
};

Tmr_OcConfigType g_tmrOc1Cfg = {
    .OC_Mode         = TMR_OC_MODE_TMRING,
    .Pulse           = 1023,
    .OC_Idlestate    = TMR_OCIDLESTATE_SET,
    .OC_OutputState  = TMR_OUTPUT_STATE_ENABLE,
    .OC_Polarity     = TMR_OC_POLARITY_HIGH,
    .OC_NIdlestate   = TMR_OCNIDLESTATE_SET,
    .OC_OutputNState = TMR_OUTPUT_NSTATE_ENABLE,
    .OC_NPolarity    = TMR_OC_NPOLARITY_HIGH
};

Tmr_OcConfigType g_tmrOc2Cfg = {
    .OC_Mode         = TMR_OC_MODE_TMRING,
    .Pulse           = 511,
    .OC_Idlestate    = TMR_OCIDLESTATE_SET,
    .OC_OutputState  = TMR_OUTPUT_STATE_ENABLE,
    .OC_Polarity     = TMR_OC_POLARITY_HIGH,
    .OC_NIdlestate   = TMR_OCNIDLESTATE_SET,
    .OC_OutputNState = TMR_OUTPUT_NSTATE_ENABLE,
    .OC_NPolarity    = TMR_OC_NPOLARITY_HIGH
};

Tmr_OcConfigType g_tmrOc3Cfg = {
    .OC_Mode         = TMR_OC_MODE_TMRING,
    .Pulse           = 255,
    .OC_Idlestate    = TMR_OCIDLESTATE_SET,
    .OC_OutputState  = TMR_OUTPUT_STATE_ENABLE,
    .OC_Polarity     = TMR_OC_POLARITY_HIGH,
    .OC_NIdlestate   = TMR_OCNIDLESTATE_SET,
    .OC_OutputNState = TMR_OUTPUT_NSTATE_ENABLE,
    .OC_NPolarity    = TMR_OC_NPOLARITY_HIGH
};

Tmr_BdtInitType g_tmrBdtCfg = {
    .RMOS_State      = TMR_RMOS_STATE_ENABLE,
    .IMOS_State      = TMR_IMOS_STATE_ENABLE,
    .lockLevel       = TMR_LOCK_LEVEL_OFF,
    .deadTime        = 0x01,
    .breakState      = TMR_BREAK_STATE_DISABLE,
    .breakPolarity   = TMR_BREAK_POLARITY_HIGH,
    .automaticOutput = TMR_AUTOMATIC_OUTPUT_ENABLE
};

/**@} end of group TMR_6Steps_Variables */

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