| 1 | capture: |
| 2 | device_index: 0 |
| 3 | width: 1920 |
| 4 | height: 1080 |
| 5 | fps: 60 |
| 6 | publish_endpoint: tcp://127.0.0.1:5555 |
| 7 | jpeg_quality: 80 |
| 8 | |
| 9 | cv: |
| 10 | pitch_detect: |
| 11 | ball_hsv_low: [0, 0, 190] |
| 12 | ball_hsv_high: [180, 60, 255] |
| 13 | min_ball_radius_px: 3 |
| 14 | max_ball_radius_px: 30 |
| 15 | release_detect_template: configs/templates/release_windup_end.png |
| 16 | release_conf_threshold: 0.85 |
| 17 | pci: |
| 18 | template: configs/templates/pci_circle.png |
| 19 | conf_threshold: 0.70 |
| 20 | hsv_low: [45, 140, 140] |
| 21 | hsv_high: [75, 255, 255] |
| 22 | min_radius_px: 20 |
| 23 | max_radius_px: 140 |
| 24 | search_x_min_frac: 0.35 |
| 25 | search_x_max_frac: 0.65 |
| 26 | search_y_min_frac: 0.35 |
| 27 | search_y_max_frac: 0.75 |
| 28 | min_green_pixels: 150 |
| 29 | ball_events_endpoint: tcp://127.0.0.1:5561 |
| 30 | pci_events_endpoint: tcp://127.0.0.1:5562 |
| 31 | plate_y_frac: 0.85 |
| 32 | |
| 33 | batting: |
| 34 | swing_mode: auto |
| 35 | power_swing_zone_margin_px: 30 |
| 36 | take_on_ball_count_le: 1 |
| 37 | max_aim_error_px: 14 |
| 38 | contact_button: X |
| 39 | power_button: A |
| 40 | take_frames_before_pitch: 2 |
| 41 | |
| 42 | pitching: |
| 43 | style: classic |
| 44 | pitch_menu: |
| 45 | - {name: fourseam, button: Y, default_target: high_in} |
| 46 | - {name: slider, button: B, default_target: low_away} |
| 47 | - {name: changeup, button: A, default_target: low_middle} |
| 48 | pinpoint_gestures_dir: gestures/ |
| 49 | |
| 50 | titan_two: |
| 51 | bridge_endpoint: tcp://127.0.0.1:5556 |
| 52 | command_timeout_ms: 5 |
| 53 | |
| 54 | ui: |
| 55 | hotkey_arm: F9 |
| 56 | hotkey_disarm: F10 |
| 57 | hotkey_abort: F12 |
| 58 | voice_enabled: false |
| 59 | |
| 60 | safety: |
| 61 | abort_on_menu_detected: true |
| 62 | abort_on_capture_loss_ms: 500 |
| 63 | online_mode_abort: true |