/hik_camera_cam2:
  ros__parameters:
    camera_info_url: "package://hik_camera_ros2_driver/config/camera_info_cam2.yaml"
    pixel_format: "BayerRG8"        # Recommended Option: "RGB8Packed", "BayerRG8"
    adc_bit_depth: "Bits_8"         # If using "BayerRG8", <adc_bit_depth> must be set as "Bits_8"; otherwise, it can be "Bits_8" or "Bits_12"
    use_sensor_data_qos: false
    camera_name: "cam2"
    # frame_id: "optical_frame"     # If not set, it will be set as <camera_name>_optical_frame
    # camera_topic: "image"         # If not set, it will be set as <camera_name>/image

    # 카메라 선택 (다중 카메라 사용 시 시리얼 번호 지정)
    serial_number: "DB0174264"

    # 하드웨어 트리거 (STM32 PWM → LINE0 핀)
    # true: LINE0 트리거 ON, AcquisitionFrameRate 파라미터 무시
    # false: 프리런 모드, AcquisitionFrameRate 파라미터 사용
    trigger_enable: true

    # 공유 메모리 타임스탬프 (FAST-LIVO2 LiDAR-카메라 동기화)
    # true (trigger_enable=true일 때): 카메라 자체 하드웨어 클럭(nDevTimeStampHigh/Low)을
    #   기준으로 타임스탬프를 계산한다. nTriggerIndex는 이 카메라(MV-CS016-10UC USB3)에서
    #   항상 0으로 고정되어 사용 불가로 확인됨 (2026-07-29 실기기 로그로 검증).
    #   최근 dev_clock_window_sec 구간의 (dev_ticks, /home/<user>/timeshare 값) 샘플로
    #   선형회귀하여 이 클럭의 실제 틱 주파수를 계속 재보정한다 (dev_clock_recalib_interval_sec
    #   주기). 한 번만 보정하고 얼리면 ~150ppm 수준의 잔여 오차가 세션 길이에 비례해
    #   누적되는 것이 실기기 이동 테스트로 확인되어(2026-07-29), 슬라이딩 윈도우 방식으로
    #   변경함 — 오차가 세션 길이와 무관하게 창 하나 수준으로 bounded된다.
    #   보정 완료 전(및 보정 실패 시)에는 공유메모리 직접 읽기로 폴백한다.
    # false: ROS 시스템 시간 사용
    use_trigger_timestamp: true

    # 슬라이딩 윈도우 길이 (초). 길수록 주파수 추정이 정밀하지만 시작 후 그만큼 지나야
    # 정밀 모드로 전환된다.
    dev_clock_window_sec: 10.0

    # 재보정 주기 (초). 이 주기마다 위 윈도우로 회귀를 다시 계산해 드리프트를 억제한다.
    dev_clock_recalib_interval_sec: 2.0

    # 프리런 모드(trigger_enable: false)일 때만 적용
    acquisition_frame_rate: 10.0    # Unit: Hz

    exposure_auto: true
    exposure_auto_target_brightness: 128
    exposure_auto_min: 100.0
    exposure_auto_max: 5000.0
    exposure_time: 5000             # Unit: us
    gain: 15.0                       # Range: 0.0 ~ 16.9, Unit: dB

    # 화이트밸런스 — cam1/cam2 겹치는 영역 색감을 맞추기 위해 두 카메라에 동일한
    # 수동 R/G/B 비율을 고정한다 (2026-07-15, 두 카메라 Continuous AWB 수렴값의 평균).
    # cam1 실측: R=1414 G=1024 B=2060 / cam2 실측: R=1408 G=1024 B=2184 → 평균 적용
    balance_white_auto: false
    balance_ratio_red: 1411
    balance_ratio_green: 1024
    balance_ratio_blue: 2122
