/*******************************************************************************
 * [한국어 설명] PWM 펄스 생성기 헤더
 *
 * PWM 기반 펄스 생성 모듈의 공개 인터페이스.
 * 현재 SKIP_PWM 매크로로 비활성화되어 있으며, Stub 구현만 동작함.
 * 실제 구현 시 nrfx_pwm + app_timer로 3핀(P28/P29/P30) PWM 제어.
 *
 * 비활성화 사유: 피에조 구동은 dr_piezo 드라이버가 담당하므로
 * 이 PWM 모듈은 현재 프로젝트에서 사용하지 않음.
 * 빌드 호환성을 위해 인터페이스만 유지.
 ******************************************************************************/

#ifndef PULSE_GEN_H__
#define PULSE_GEN_H__

#include <stdint.h>
#include <stdbool.h>
#include "sdk_errors.h"

/**
 * @brief PWM 주변장치 및 app_timer를 초기화한다.
 *        (SKIP_PWM 정의 시 아무 동작 없이 NRF_SUCCESS 반환)
 *
 * @return NRF_SUCCESS on successful initialization, otherwise an error code.
 */
ret_code_t pulse_gen_init(void);

/**
 * @brief 반복 펄스 생성을 시작한다.
 *        버스트 펄스를 생성하고, 수 ms 대기 후 반복.
 *        (SKIP_PWM 정의 시 아무 동작 없음)
 */
void pulse_gen_start(void);

/**
 * @brief 반복 펄스 생성을 정지한다.
 *        (SKIP_PWM 정의 시 아무 동작 없음)
 */
void pulse_gen_stop(void);

#endif // PULSE_GEN_H__


