# -*- coding: UTF-8 -*-

"""
@file: wildlife_inspection_gcs_intelligent_planner.py
@date: 2025-08-01
@description:
  一个为"野生动物巡查系统"竞赛设计的地面站GUI程序。

  【V8.2-FIX 全面修复版】修复以下关键Bug：

  [BUG-FIX-1] 🔴 致命：UTF-8乱码导致通信线程永久崩溃
    原因：decode('utf-8') 在飞控上电初始化乱码时抛异常，except块直接break
          导致整个接收线程退出，之后所有飞机数据全部丢失。
    修复：改为 decode('utf-8', errors='ignore')；except块改为continue并加
          sleep(0.1) 防止CPU空转，线程永不主动退出。

  [BUG-FIX-2] 🔴 致命：PATH指令一次性写入超过飞控串口缓冲区(通常64字节)
    原因：全覆盖63个航点的PATH指令约380+字节，飞控接收缓冲区溢出导致
          指令被截断，飞控解析失败，无人机不动。
    修复：send_command() 改为分块发送，每块32字节，块间延时20ms。

  [BUG-FIX-3] 🟠 重要：move_planner_cursor光标回退时路径产生断点
    原因：光标移回已访问点时，路径末尾不更新，下次继续移动会从旧末尾
          跳到光标当前位置，产生路径断点，发出的PATH指令出现跳跃航段。
    修复：移动时总是追加路径点（含重访），send_mission的optimize_path_
          for_sending会自动压缩共线重访段。

  [BUG-FIX-4] 🟠 重要：confirm_path_point连续点击堆积大量重复点
    原因：无任何去重判断，连续点击末尾会堆积相同坐标。
    修复：添加末尾重复检查，与末尾相同的点不再重复追加。

  [BUG-FIX-5] 🟡 流程：操作流程过严，IDLE状态无法直接进入规划
    原因：手动规划和一键规划按钮只在SETTING_NOFLY模式下才可用，
          跳过设禁飞区步骤后按钮全灰，测试时极易误判程序崩溃。
    修复：IDLE模式也允许直接进入规划模式（禁飞区为空视为全区可飞）。

  [BUG-FIX-6] 🟡 性能：接收线程空转时100%占用CPU
    原因：无数据时 in_waiting == 0，循环不加任何休眠直接下一轮，
          在树莓派等嵌入式设备上会导致卡顿、影响发送时序。
    修复：无数据时 sleep(0.01) 释放CPU。

  [BUG-FIX-7] 🟡 配置：串口端口和波特率硬编码，无法通过GUI修改
    原因：端口写死为 /dev/ttyUSB0，波特率写死为 57600，与实际不符时
          只能改代码重启，调试极为不便。
    修复：在底部控制栏新增串口端口输入框和波特率下拉框，支持运行时配置。
"""

import tkinter as tk
from tkinter import ttk, messagebox, scrolledtext
import threading
import time
import serial
import re
import heapq
import math
try:
    from PIL import Image, ImageTk
    PIL_AVAILABLE = True
except ImportError:
    PIL_AVAILABLE = False




# ─────────────────────────────────────────────────────────
#  内嵌 LOGO（梦创科技 mocraft，Base64编码PNG）
# ─────────────────────────────────────────────────────────
LOGO_B64 = """/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAJvBv0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKiE8BOBNETiVsCRCdtu4jnPXpDIwSU9I3IV9rECgCWigEEZByDyCOhHrXyn8Sv27/2H/gzr194V+MH7ZX7Kfwp8UaXIYdT8N/Er9oj4ReBde06UEgxX2j+KPF+l6jaSAqQY7i2jbIIxkGgD6sor4Dk/wCCrn/BLqBvLuP+Ckn7A8MmAxjf9sL9nvcAc4Jz8QgecZ6VD/w9i/4JZ/8ASSr9gP8A8TH/AGev/niUAfoFRX5//wDD2L/gln/0kp/YD/8AEx/2df8A549Twf8ABVn/AIJeXRkW1/4KQ/sFXLwwy3MiW/7YP7PU7pbwIXmmZYviI7LFEg3SSMAiDlmAoA++aK4fwB8TPhz8V/COh+P/AIW+PvBfxJ8CeJ4Li58N+NfAPijRPGPhLxBbWl5e6fd3GieJPDt9qWjarBa3+m6jY3MtjezxwX1heWcrJcW00admLiAqGE0W1neNW8xMGSPzPMQHOC8flS71HzJ5cm4DY2ACWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApCcA/Q98ZxXM+K/Gvg/wACeFvEnjjxv4p8OeDvBfg3w/q/i7xf4v8AFOuaV4f8L+FfCegaZe61rvinxJ4g1a7tNI0Hw5ouj6bqOq6trerXlnpunadYXl7eXMNvbSyL/Iv+19/wXC+Ov7St7q/gX9gp9U+AnwCubbUrCb9q7xb4Sgm+PHxjSz8QaPYWN/8As8eCPFkNlo3wd+H19pOn+KZJ/iJ8VPB3jH4ha5a+KbC98G/Dn4XXukL41AB/TN+1F+2V+yz+xb4JHj79qL47fD74LeH9RWdPDv8AwlmsrB4k8Y3VmqPPo/gPwhZS3fjT4i+IoUnheTQ/Bmj63q4jnt3/ALPUSq0n88n7RX/Bwl8T/GVxe+G/2Ef2bZfDWnDUhBd/tA/tkWOt+ELGa0t9afTLq88BfszeEdXT4h+JINQ8LxQaloOo/Ff4kfAS9tb15RrHghwEjk/B3Sfhp4btfFl98QfEGo+I/iL8V/EUSp4j+Mnxe8VeKfir8W/FkljpE8V0NY+I/jhfFnjYW2ovptrCND8zTPBJMqbPDUqyIF77jOQAM+mOg6DhUGAOBhEHoq9AAZnxhvfjP+1dLdaj+2R+0p8Zf2m7q9XTbmfwn4k8W6r4C+Bun3UAkUt4d+BXwtbwF8K7WWMOombXPAvirUwqSfbvF/i0eWzcLovwV+D/AIbRY9A+FHw20QWgE6nSPAmg6bsuBgZ067sYLTUZiMfe1CXH+zjp6b06UuT6n8zQBGpihAEMSogtjbBbeGKMADsyT3QIx0IVgfftVbyoR1tR9Tb2uT7/APH1/jVzA9KMD0oAj8uAcm1Xj/p3tP8A5Kp89rHNBPBNBaywTQX37mZNs4sdVz9osfPtrtzjj+foKWj6HHv6e9AHR/s1/HD4pf8ABPn4iSfHf9lyC6sdEsYb7VfjB+zRpDS6V8Hv2l9ItbO0k1HRb7wTENJ8M+DfjZJZaJZRfCv9oPwn4Rt/EWh+KFh0/wAZ6V4m+FFz4k+Gniz++P4O/FnwZ8cfhB8LPjn4HvZr3wF8ZPht4B+LHgjUL2A29zfeC/iB4Z0/xr4Wup7UEi1mm0TWoTeIw2QkuZXCRYf/AD+cg5hn+vtj3Pt5E/8A3449v6+f+CI2iX2if8ElP2BbW+tdZsWu/wBnfwd4n0yz1rU5NRnj0XxtLL4/8OTh43BbTrTQNc0s6BaBo44tIS00y2RLVYGAB+t9FFFABRRRQAUUUUAFFFFABRRSZHqPzFAC0UmR6j8xRkeo/MUALRSZHqPzFLkHoQaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo6UUUAMMqA4Lfof8K+OP2z/wBrz4KfsQ/A3xJ8cPj3rWqWHhm01HTvCnhbwzoECa/8Rfin8QfE0d/a+DPhT8I/CF5NbQ+MfiN4zuklSy0e9ng0LTNMtPEPjHx7qvh74Z+ENe8Tab6x8aPjF8Nv2ePhR8Q/jd8YPFmn+A/hj8LfDes+NPH/AI11j+0p4dA8NaRYtq2p3zW+lRXOu6vKAo0rRPDWn2Mutatfi203S7K8vntbeT+En9pz9on4m/t3/tGal+0z8X7fXNH8OeFrjxP4e/ZP+CHipbCOH4E/CO8vrNvt/iDR9Mm8X6Kfj78X9M0exuvi94x0bxhdanpYubL4feE/GVp4U8I2t3egF39rb9qT9oj/AIKNeLNA8U/tPWul+Bvgx4Uuf7S+F/7HXhDXtR1z4c+GdXOpXs9t4++OviaO7gh+PHxs0mK70zT/AA/cXXhyH4S/DKz07U5vh34Gg1DVtX8ceLvNMoqo0MaCIR6Y0URS2jhzEAsun21lagJpVhCoACqAAADzTGYvhQNqKMYHQD+6PU+p7/TAK0AKeucAEE9DnHqAfTtnuKSiigAooooAKKKKACiigHBB9OeOvHpQB558XdeufCvwn+Jvii0cJdeG/hx401mCQgllfQ/DniHWIXBB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R9OnaigAooooAP8APpX0j/wTx8DXnxX/AOCp/wCwf4Zl0GHXfDPw71P9oD9pbxc08Estrpun/CL4Qa38PfAeryhEaO3ksvjB8cvh/qFlcTEKup2djGm+WaNH+bq/Vv8A4IAeBbfxp/wUC/bD+MC39wx+Av7MnwU+CFppUqPJaR69+0Z8SfFPxa8YSRSI3kRzWGh/Aj4XfabfIuYVv4pXVY5lBAP7DaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACv5Q/+Diz4xQ+L/ix+xL+xzpl5o9zbabq3jX9sv4v6H/xMotU0+z+H2nH4XfACWe6hRLGXTda8e+OfiL4o0+1kmf8AtPxH8FbWGBBc2R8v+rzI9RX+fx+2B8X779o//god+258appNUufDXh34qf8ADK3wwttUubOS0svh5+y5/a/gXxVc6HeIfKbSde+P2s/HzxETHNIh03W9HlEjw6aXjAPHunGSceuR+OD0J755oo+mMdsHI/Ajgj3ooAKKKKACj37cnPsOp/Dv6UYzx68fnXGfEHx3ofw08FeKfG/iJ5IdD8JWt7eXQjVpLq8v7Oext7bQrLIAuNR1661OxtdKsV/0m/nubaG0jlmmWMgGreanq934l8HfDfwD4L8Y/Fb4zfFfVpNH+Gvwc+HGlWPiDx/8Rtf0vSv7cv7+Kx1KSTw/Z+HfCWhN/bHxF+IHi42PhXwxpxGoa5eW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RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//2bhK9z8AAAAABgArbfWUUEd4qqIOPa9wvQ=="""

# ─────────────────────────────────────────────────────────
#  A* 寻路算法
# ─────────────────────────────────────────────────────────
class AStarNode:
    def __init__(self, pos, parent=None):
        self.pos = pos
        self.parent = parent
        self.g = 0
        self.h = 0
        self.f = 0

    def __lt__(self, other):
        return self.f < other.f


def a_star_search(start_pos, end_pos, no_fly_zone, grid_dims, turn_penalty, diagonal_penalty):
    rows, cols = grid_dims
    open_list = []
    closed_set = set()

    start_node = AStarNode(start_pos)
    end_node = AStarNode(end_pos)
    heapq.heappush(open_list, start_node)

    while open_list:
        current_node = heapq.heappop(open_list)
        closed_set.add(current_node.pos)

        if current_node.pos == end_node.pos:
            path = []
            curr = current_node
            while curr is not None:
                path.append(curr.pos)
                curr = curr.parent
            return path[::-1]

        for dr, dc in [(0,1),(0,-1),(1,0),(-1,0),(1,1),(1,-1),(-1,1),(-1,-1)]:
            neighbor_pos = (current_node.pos[0] + dr, current_node.pos[1] + dc)

            if not (0 <= neighbor_pos[0] < rows and 0 <= neighbor_pos[1] < cols):
                continue
            if neighbor_pos in no_fly_zone or neighbor_pos in closed_set:
                continue

            is_diagonal = dr != 0 and dc != 0
            if is_diagonal:
                corner1 = (current_node.pos[0] + dr, current_node.pos[1])
                corner2 = (current_node.pos[0], current_node.pos[1] + dc)
                if corner1 in no_fly_zone or corner2 in no_fly_zone:
                    continue

            neighbor_node = AStarNode(neighbor_pos, current_node)
            cost = current_node.g
            cost += 1.4 if is_diagonal else 1.0
            if is_diagonal:
                cost += diagonal_penalty
            if current_node.parent:
                prev_dr = current_node.pos[0] - current_node.parent.pos[0]
                prev_dc = current_node.pos[1] - current_node.parent.pos[1]
                if (dr, dc) != (prev_dr, prev_dc):
                    cost += turn_penalty

            neighbor_node.g = cost
            neighbor_node.h = calculate_distance(neighbor_pos, end_pos)
            neighbor_node.f = neighbor_node.g + neighbor_node.h

            if any(n.pos == neighbor_pos and n.f <= neighbor_node.f for n in open_list):
                continue
            heapq.heappush(open_list, neighbor_node)

    return None


def calculate_distance(pos1, pos2):
    return math.sqrt((pos1[0]-pos2[0])**2 + (pos1[1]-pos2[1])**2)


# ─────────────────────────────────────────────────────────
#  串口通信线程
# ─────────────────────────────────────────────────────────
class DroneCommunicator(threading.Thread):
    def __init__(self, app, port='/dev/ttyUSB0', baudrate=57600):
        super().__init__()
        self.app = app
        self.daemon = True
        self.running = True
        self.port = port
        self.baudrate = baudrate
        self.ser = None
        # 写操作锁，防止多线程同时写串口
        self._write_lock = threading.Lock()
        try:
            self.ser = serial.Serial(self.port, self.baudrate, timeout=1)
            print(f"通信线程: 成功打开串口 {self.port}，波特率 {self.baudrate}。")
        except serial.SerialException as e:
            self.app.log_to_console(f"错误: 无法打开串口 {self.port} - {e}")
            self.app.log_to_console("请检查设备是否连接或在底部栏修改端口号/波特率后重新连接。")
            self.running = False

    def run(self):
        """
        [BUG-FIX-1] 接收循环：
          - decode 改用 errors='ignore'，乱码字节直接丢弃，不抛异常
          - except 块改为 continue + sleep，线程永不因单次错误退出
          - 无数据时 sleep(0.01) 释放 CPU [BUG-FIX-6]
        """
        while self.running and self.ser:
            try:
                if self.ser.in_waiting > 0:
                    line = self.ser.readline()
                    # [BUG-FIX-1] errors='ignore' 代替默认 strict，避免乱码崩溃
                    message = line.decode('utf-8', errors='ignore').strip()
                    if message:
                        self.app.root.after(0, self.app.handle_drone_data, message)
                else:
                    # [BUG-FIX-6] 无数据时休眠，避免空转占满 CPU
                    time.sleep(0.01)
            except Exception as e:
                self.app.root.after(0, self.app.log_to_console, f"通信接收错误(已恢复): {e}")
                # [BUG-FIX-1] 改为 continue，不退出线程
                time.sleep(0.1)
                continue
        print("通信线程已停止。")

    def send_command(self, command):
        """
        [BUG-FIX-2] 分块发送：每次最多写 CHUNK_SIZE 字节，块间延时 20ms。
        防止 PATH 指令（最长 380+ 字节）一次性写入超过飞控串口缓冲区（通常64字节）
        导致数据被截断、飞控解析失败、无人机不动。
        """
        CHUNK_SIZE = 32  # 每块字节数，保守取 32 确保各平台兼容
        CHUNK_DELAY = 0.02  # 块间延时 20ms

        if self.ser and self.ser.is_open:
            try:
                # 仅记录前80字符，避免超长PATH日志刷屏
                log_str = command if len(command) <= 80 else command[:80] + f"...(共{len(command)}字节)"
                self.app.log_to_console(f"发送指令 -> {log_str}")
                data = f"{command}\n".encode('utf-8')
                with self._write_lock:
                    for i in range(0, len(data), CHUNK_SIZE):
                        chunk = data[i:i + CHUNK_SIZE]
                        self.ser.write(chunk)
                        if i + CHUNK_SIZE < len(data):
                            time.sleep(CHUNK_DELAY)
            except serial.SerialException as e:
                self.app.log_to_console(f"发送指令失败: {e}")
        else:
            self.app.log_to_console("发送失败：串口未连接。")

    def stop(self):
        self.running = False
        if self.ser and self.ser.is_open:
            self.ser.close()
            print("串口已关闭。")


# ─────────────────────────────────────────────────────────
#  地面站主程序
# ─────────────────────────────────────────────────────────
class GroundStationApp:
    def __init__(self, root):
        self.root = root
        self.root.title("野生动物巡查系统 v8.2-FIX")
        self.root.attributes('-zoomed', True)
        self.root.overrideredirect(False)

        self.ROWS, self.COLS = 7, 9
        self.takeoff_pos = (6, 8)
        self.no_fly_zone = set()
        self.planned_path = []
        self.planner_cursor_pos = None
        self.current_mode = "IDLE"

        self.TURN_PENALTY = 0.2
        self.DIAGONAL_PENALTY = 0.5

        self.mid360_running = False
        self.cursor_item = None
        self.drone_icon_item = None

        self.create_widgets()
        self.bind_events()
        self.update_ui_for_mode()
        self.log_to_console("地面站 v8.2-FIX 启动成功。")
        self.log_to_console("请在底部栏确认串口端口和波特率后，点击[连接串口]。")
        self.root.protocol("WM_DELETE_WINDOW", self.on_closing)

        # 延迟初始化通信，等待 GUI 完全绘制
        self.communicator = None
        self.root.after(500, self._init_communicator)

    def _init_communicator(self):
        port = self.port_entry.get().strip() or '/dev/ttyUSB0'
        baud = int(self.baud_var.get())
        self.communicator = DroneCommunicator(self, port=port, baudrate=baud)
        self.communicator.start()

    # ──────────────────────────────────────────
    #  串口重连（修改端口/波特率后调用）
    # ──────────────────────────────────────────
    def reconnect_serial(self):
        if self.communicator:
            self.communicator.stop()
            time.sleep(0.3)
        self._init_communicator()
        self.log_to_console(f"串口重新连接: {self.port_entry.get().strip()} @ {self.baud_var.get()}")

    # ──────────────────────────────────────────
    #  Widget 创建
    # ──────────────────────────────────────────
    def _build_brand_bar(self):
        """顶部品牌栏：mocraft LOGO + 梦创科技 + 副标题"""
        bar = tk.Frame(self.root, bg="#1a1a2e", height=48)
        bar.pack(side=tk.TOP, fill=tk.X)
        bar.pack_propagate(False)

        # Logo 图片
        if not PIL_AVAILABLE:
            # PIL 未安装时显示文字提示（不影响其他功能）
            tk.Label(bar, text="[安装 Pillow 可显示LOGO]",
                     bg="#1a1a2e", fg="#3a5a7a",
                     font=("Helvetica", 7)).pack(side=tk.LEFT, padx=(16, 4), pady=6)
        else:
            import base64 as _b64, io as _io
            try:
                img_data = _b64.b64decode(LOGO_B64)
                img = Image.open(_io.BytesIO(img_data)).convert("RGBA")

                # 将白色/浅色背景像素转为透明，避免在深色顶栏上出现白色方块
                pixels = img.load()
                for y in range(img.height):
                    for x in range(img.width):
                        r, g, b, a = pixels[x, y]
                        luminance = (r + g + b) / 3
                        if luminance > 200:               # 浅色背景像素 → 透明
                            pixels[x, y] = (0, 0, 0, 0)
                        else:                             # Logo笔画 → 青绿色
                            strength = int((200 - luminance) / 200 * 255)
                            pixels[x, y] = (0, 229, 160, strength)  # #00e5a0

                # 等比缩放至高度36px
                target_h = 36
                target_w = int(img.width * target_h / img.height)
                img = img.resize((target_w, target_h), Image.LANCZOS)

                # 保持引用防止被GC（tkinter的已知陷阱）
                self._logo_photo = ImageTk.PhotoImage(img)
                logo_lbl = tk.Label(bar, image=self._logo_photo,
                                    bg="#1a1a2e", bd=0)
                logo_lbl.pack(side=tk.LEFT, padx=(16, 8), pady=6)

            except Exception as e:
                # 有错误时记录到控制台，而非静默失败
                print(f"[LOGO] 加载失败: {e}")
                tk.Label(bar, text="mocraft",
                         bg="#1a1a2e", fg="#00e5a0",
                         font=("Helvetica", 11, "bold")).pack(
                             side=tk.LEFT, padx=(16, 8), pady=6)

        # 分隔线
        sep = tk.Frame(bar, bg="#2a4a6a", width=1)
        sep.pack(side=tk.LEFT, fill=tk.Y, pady=8, padx=4)

        # 文字区
        text_frame = tk.Frame(bar, bg="#1a1a2e")
        text_frame.pack(side=tk.LEFT, padx=8)

        tk.Label(text_frame, text="梦创科技",
                 bg="#1a1a2e", fg="#00e5a0",
                 font=("Helvetica", 14, "bold")).pack(anchor="w")
        tk.Label(text_frame, text="MOCRAFT TECHNOLOGY  ·  野生动物巡查地面站  v8.2-FIX",
                 bg="#1a1a2e", fg="#3a6a8a",
                 font=("Helvetica", 8)).pack(anchor="w")

        # 右侧模式指示灯（复用 mode_status_label 之前先占位）
        right_frame = tk.Frame(bar, bg="#1a1a2e")
        right_frame.pack(side=tk.RIGHT, padx=16)
        self._bar_mode_var = tk.StringVar(value="● IDLE")
        tk.Label(right_frame, textvariable=self._bar_mode_var,
                 bg="#1a1a2e", fg="#00e5a0",
                 font=("Courier", 10, "bold")).pack()

    def create_widgets(self):
        # ── 顶部品牌栏 ──
        self._build_brand_bar()

        self.notebook = ttk.Notebook(self.root)
        self.notebook.pack(fill=tk.BOTH, expand=True)
        self.main_tab  = ttk.Frame(self.notebook, padding="2")
        self.stats_tab = ttk.Frame(self.notebook, padding="5")
        self.notebook.add(self.main_tab,  text='主控制界面')
        self.notebook.add(self.stats_tab, text='统计结果报表')

        # ── 底部控制栏 ──
        bottom_frame = ttk.Frame(self.root)
        bottom_frame.pack(side=tk.BOTTOM, fill=tk.X)

        # [BUG-FIX-7] 串口配置控件
        ttk.Label(bottom_frame, text="端口:").pack(side=tk.LEFT, padx=(4,1), pady=2)
        self.port_entry = ttk.Entry(bottom_frame, width=14)
        self.port_entry.insert(0, '/dev/ttyUSB0')
        self.port_entry.pack(side=tk.LEFT, pady=2)

        ttk.Label(bottom_frame, text="波特率:").pack(side=tk.LEFT, padx=(6,1), pady=2)
        self.baud_var = tk.StringVar(value='57600')
        baud_cb = ttk.Combobox(bottom_frame, textvariable=self.baud_var,
                               values=['9600','19200','38400','57600','115200'],
                               width=8, state='readonly')
        baud_cb.pack(side=tk.LEFT, pady=2)

        self.reconnect_btn = ttk.Button(bottom_frame, text="连接串口",
                                        command=self.reconnect_serial)
        self.reconnect_btn.pack(side=tk.LEFT, padx=4, pady=2)

        ttk.Separator(bottom_frame, orient=tk.VERTICAL).pack(side=tk.LEFT, fill=tk.Y, padx=4, pady=2)

        # 功能按钮
        self.set_nofly_btn = ttk.Button(bottom_frame, text="1. 设禁飞区",
                                        command=self.enter_set_nofly_mode)
        self.set_nofly_btn.pack(side=tk.LEFT, padx=3, pady=2, expand=True, fill=tk.X)

        self.plan_path_btn = ttk.Button(bottom_frame, text="2a. 手动规划",
                                        command=self.enter_plan_path_mode)
        self.plan_path_btn.pack(side=tk.LEFT, padx=3, pady=2, expand=True, fill=tk.X)

        self.auto_plan_btn = ttk.Button(bottom_frame, text="2b. 一键全覆盖",
                                        command=self.auto_plan_path)
        self.auto_plan_btn.pack(side=tk.LEFT, padx=3, pady=2, expand=True, fill=tk.X)

        self.send_mission_btn = ttk.Button(bottom_frame, text="3. 开始任务",
                                           command=self.send_mission)
        self.send_mission_btn.pack(side=tk.LEFT, padx=3, pady=2, expand=True, fill=tk.X)

        self.clear_all_btn = ttk.Button(bottom_frame, text="全部重置",
                                        command=self.clear_all)
        self.clear_all_btn.pack(side=tk.LEFT, padx=3, pady=2, expand=True, fill=tk.X)

        self.mode_status_label = ttk.Label(bottom_frame, text="模式: IDLE",
                                           font=("Helvetica", 9), foreground="blue")
        self.mode_status_label.pack(side=tk.LEFT, padx=5)

        self.populate_main_tab()
        self.populate_stats_tab()

    def populate_main_tab(self):
        map_frame = ttk.LabelFrame(self.main_tab, text="巡查地图", padding=5)
        map_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

        right_panel = ttk.Frame(self.main_tab, padding=2)
        right_panel.pack(side=tk.RIGHT, fill=tk.Y, anchor='n')

        self.map_canvas = tk.Canvas(map_frame, bg="#F0F8FF")
        self.map_canvas.pack(fill=tk.BOTH, expand=True)

        planner_frame = ttk.LabelFrame(right_panel, text="路径规划器", padding=5)
        planner_frame.pack(fill=tk.X, pady=2)
        style = ttk.Style()
        style.configure('Compact.TButton', padding=2)

        self.btn_up = ttk.Button(planner_frame, text="↑",
                                 command=lambda: self.move_planner_cursor(-1, 0),
                                 style='Compact.TButton')
        self.btn_up.grid(row=0, column=1, padx=2, pady=2)

        self.btn_left = ttk.Button(planner_frame, text="←",
                                   command=lambda: self.move_planner_cursor(0, -1),
                                   style='Compact.TButton')
        self.btn_left.grid(row=1, column=0, padx=2, pady=2)

        self.btn_confirm = ttk.Button(planner_frame, text="确认(✓)",
                                      command=self.confirm_path_point,
                                      style='Compact.TButton')
        self.btn_confirm.grid(row=1, column=1, padx=2, pady=2, ipady=5)

        self.btn_right = ttk.Button(planner_frame, text="→",
                                    command=lambda: self.move_planner_cursor(0, 1),
                                    style='Compact.TButton')
        self.btn_right.grid(row=1, column=2, padx=2, pady=2)

        self.btn_down = ttk.Button(planner_frame, text="↓",
                                   command=lambda: self.move_planner_cursor(1, 0),
                                   style='Compact.TButton')
        self.btn_down.grid(row=2, column=1, padx=2, pady=2)

        self.mid360_button = ttk.Button(planner_frame, text="启动mid360",
                                        command=self.toggle_mid360,
                                        style='Compact.TButton')
        self.mid360_button.grid(row=0, column=2, padx=2, pady=2, sticky="ne")

        self.planner_buttons = [
            self.btn_up, self.btn_left, self.btn_confirm,
            self.btn_right, self.btn_down
        ]
        planner_frame.grid_columnconfigure((0, 1, 2), weight=1)

        console_frame = ttk.LabelFrame(right_panel, text="日志与状态", padding=5)
        console_frame.pack(fill=tk.BOTH, expand=True, pady=2)
        self.console_text = scrolledtext.ScrolledText(
            console_frame, state='disabled', wrap=tk.WORD,
            height=6, font=("Helvetica", 8))
        self.console_text.pack(fill=tk.BOTH, expand=True)

    def populate_stats_tab(self):
        data_frame = ttk.LabelFrame(self.stats_tab, text="动物识别统计数据", padding=5)
        data_frame.pack(fill=tk.BOTH, expand=True, padx=5, pady=5)

        style = ttk.Style()
        style.configure("Wide.Vertical.TScrollbar", width=25)

        columns = ('location', 'type', 'quantity')
        self.tree = ttk.Treeview(data_frame, columns=columns, show='headings')
        self.tree.heading('location', text='位置代码')
        self.tree.heading('type',     text='动物种类')
        self.tree.heading('quantity', text='数量')
        self.tree.column('location', width=100)
        self.tree.column('type',     width=100)
        self.tree.column('quantity', width=60)

        y_scroll = ttk.Scrollbar(data_frame, orient="vertical",
                                 command=self.tree.yview,
                                 style="Wide.Vertical.TScrollbar")
        self.tree.configure(yscrollcommand=y_scroll.set)

        self.tree.grid(row=0, column=0, sticky="nsew")
        y_scroll.grid(row=0, column=1, sticky="ns")
        data_frame.grid_rowconfigure(0, weight=1)
        data_frame.grid_columnconfigure(0, weight=1)

    # ──────────────────────────────────────────
    #  事件绑定
    # ──────────────────────────────────────────
    def bind_events(self):
        self.map_canvas.bind("<Configure>", self.on_map_reconfigured)
        self.map_canvas.bind("<Button-1>", self.on_map_click)

    def on_map_reconfigured(self, event):
        self.root.after(20, self.draw_static_elements)

    # ──────────────────────────────────────────
    #  地图绘制
    # ──────────────────────────────────────────
    def draw_static_elements(self):
        self.map_canvas.delete("grid", "labels", "takeoff")
        self.canvas_width  = self.map_canvas.winfo_width()
        self.canvas_height = self.map_canvas.winfo_height()
        if self.canvas_width <= 1:
            return
        self.cell_width  = self.canvas_width  / (self.COLS + 0.5)
        self.cell_height = self.canvas_height / (self.ROWS + 0.5)
        for r in range(self.ROWS):
            for c in range(self.COLS):
                x1, y1, x2, y2 = self.get_cell_bounds(r, c)
                self.map_canvas.create_rectangle(x1, y1, x2, y2,
                                                 outline="lightgray", tags="grid")
        for c in range(self.COLS):
            self.map_canvas.create_text(
                (c+0.5)*self.cell_width, self.ROWS*self.cell_height+5,
                text=f"A{c+1}", anchor="n", font=("Helvetica", 7), tags="labels")
        for r in range(self.ROWS):
            self.map_canvas.create_text(
                self.COLS*self.cell_width+5, (r+0.5)*self.cell_height,
                text=f"B{self.ROWS-r}", anchor="w", font=("Helvetica", 7), tags="labels")
        self.draw_cell(self.takeoff_pos, "red", "起", "takeoff")
        self.update_nofly_drawing()
        self.update_path_drawing()
        self.update_cursor_drawing(force_create=True)
        self.update_drone_position(self.takeoff_pos, force_create=True)

    def update_nofly_drawing(self):
        self.map_canvas.delete("nofly")
        for r, c in self.no_fly_zone:
            self.draw_cell((r, c), "gray70", tag="nofly")

    def update_path_drawing(self):
        self.map_canvas.delete("path")
        if len(self.planned_path) > 1:
            for i in range(len(self.planned_path)-1):
                p1 = self.planned_path[i]
                p2 = self.planned_path[i+1]
                c1 = self.get_cell_center(*p1)
                c2 = self.get_cell_center(*p2)
                self.map_canvas.create_line(c1, c2, fill="blue", width=2,
                                            arrow=tk.LAST, tags="path")

    def update_cursor_drawing(self, force_create=False):
        if self.current_mode != "PLANNING_PATH":
            if self.cursor_item:
                self.map_canvas.delete(self.cursor_item)
                self.cursor_item = None
            return
        if not self.planner_cursor_pos:
            return
        x1, y1, x2, y2 = self.get_cell_bounds(*self.planner_cursor_pos, inset=8)
        if self.cursor_item and not force_create:
            self.map_canvas.coords(self.cursor_item, x1, y1, x2, y2)
        else:
            if self.cursor_item:
                self.map_canvas.delete(self.cursor_item)
            self.cursor_item = self.map_canvas.create_rectangle(
                x1, y1, x2, y2, outline="blue", width=2)
        if self.cursor_item:
            self.map_canvas.tag_raise(self.cursor_item)

    def update_drone_position(self, pos, force_create=False):
        x, y = self.get_cell_center(*pos)
        p1 = (x, y-6); p2 = (x-5, y+4); p3 = (x+5, y+4)
        if self.drone_icon_item and not force_create:
            self.map_canvas.coords(self.drone_icon_item,
                                   p1[0],p1[1], p2[0],p2[1], p3[0],p3[1])
        else:
            if self.drone_icon_item:
                self.map_canvas.delete(self.drone_icon_item)
            self.drone_icon_item = self.map_canvas.create_polygon(
                p1, p2, p3, fill="red", outline="black")
        if self.drone_icon_item:
            self.map_canvas.tag_raise(self.drone_icon_item)

    # ──────────────────────────────────────────
    #  坐标工具
    # ──────────────────────────────────────────
    def get_cell_bounds(self, r, c, inset=0):
        return (c*self.cell_width+inset, r*self.cell_height+inset,
                (c+1)*self.cell_width-inset, (r+1)*self.cell_height-inset)

    def get_cell_center(self, r, c):
        return ((c+0.5)*self.cell_width, (r+0.5)*self.cell_height)

    def pixel_to_cell(self, x, y):
        c = int(x / self.cell_width)
        r = int(y / self.cell_height)
        return (r, c) if 0<=r<self.ROWS and 0<=c<self.COLS else None

    def draw_cell(self, pos, color, text=None, tag=None):
        x1, y1, x2, y2 = self.get_cell_bounds(*pos)
        self.map_canvas.create_rectangle(x1, y1, x2, y2,
                                         fill=color, outline="black", tags=tag)
        if text:
            self.map_canvas.create_text(
                (x1+x2)/2, (y1+y2)/2, text=text,
                fill="white", font=("Helvetica", 8, "bold"), tags=tag)

    # ──────────────────────────────────────────
    #  模式控制
    # ──────────────────────────────────────────
    def update_ui_for_mode(self):
        self.mode_status_label.config(text=f"模式: {self.current_mode}")
        if hasattr(self, '_bar_mode_var'):
            colors = {'IDLE':'#888888','SETTING_NOFLY':'#ff8c00','PLANNING_PATH':'#0af','RUNNING':'#00e5a0'}
            self._bar_mode_var.set(f"● {self.current_mode}")
        is_planning      = self.current_mode == "PLANNING_PATH"
        is_setting_nofly = self.current_mode == "SETTING_NOFLY"
        is_running       = self.current_mode == "RUNNING"
        is_idle          = self.current_mode == "IDLE"

        for btn in self.planner_buttons:
            btn.config(state="normal" if is_planning else "disabled")

        self.set_nofly_btn.config(
            state="normal" if self.current_mode in ["IDLE","SETTING_NOFLY"] else "disabled")

        # [BUG-FIX-5] IDLE 模式也可直接进入规划，不强制要求先设禁飞区
        self.plan_path_btn.config(
            state="normal" if (is_setting_nofly or is_idle) else "disabled")
        self.auto_plan_btn.config(
            state="normal" if (is_setting_nofly or is_idle) else "disabled")

        self.send_mission_btn.config(
            state="normal" if is_planning and len(self.planned_path) > 1 else "disabled")
        self.mid360_button.config(
            state="normal" if not is_running else "disabled")

    def enter_set_nofly_mode(self):
        self.clear_all()
        self.current_mode = "SETTING_NOFLY"
        self.update_ui_for_mode()
        self.log_to_console("进入[禁飞区设置]模式。点击地图格子切换禁飞区。")

    def enter_plan_path_mode(self):
        # [BUG-FIX-5] 允许从 IDLE 直接进入
        if self.current_mode not in ["SETTING_NOFLY", "IDLE"]:
            messagebox.showwarning("操作无效", "请先完成禁飞区设置或重置。")
            return
        self.current_mode = "PLANNING_PATH"
        self.planned_path = [self.takeoff_pos]
        self.planner_cursor_pos = self.takeoff_pos
        self.update_ui_for_mode()
        self.update_cursor_drawing(force_create=True)
        self.log_to_console("进入[手动智能规划]模式。移动光标自动添加新航点。")

    def on_map_click(self, event):
        if self.current_mode != "SETTING_NOFLY":
            return
        cell = self.pixel_to_cell(event.x, event.y)
        if not cell:
            return
        if cell == self.takeoff_pos:
            self.log_to_console("不能将起飞点设为禁飞区。")
            return
        if cell in self.no_fly_zone:
            self.no_fly_zone.remove(cell)
        else:
            self.no_fly_zone.add(cell)
        self.update_nofly_drawing()

    # ──────────────────────────────────────────
    #  手动规划：光标移动 & 确认
    # ──────────────────────────────────────────
    def move_planner_cursor(self, dr, dc):
        if self.current_mode != "PLANNING_PATH":
            return
        r, c = self.planner_cursor_pos
        new_r, new_c = r + dr, c + dc
        new_pos = (new_r, new_c)

        if not (0 <= new_r < self.ROWS and 0 <= new_c < self.COLS):
            return
        if new_pos in self.no_fly_zone:
            self.log_to_console(f"A{new_c+1}B{self.ROWS-new_r} 为禁飞区，无法进入。")
            return

        self.planner_cursor_pos = new_pos
        self.update_cursor_drawing()

        # [BUG-FIX-3] 总是追加路径点（含重访），send_mission 的优化器会压缩共线重访段。
        #             原代码只在 new_pos not in self.planned_path 时才追加，
        #             导致光标回退后路径末尾不更新，下次继续移动产生跳跃断点。
        is_first_visit = new_pos not in self.planned_path
        self.planned_path.append(new_pos)

        if is_first_visit:
            self.log_to_console(f"新航点: A{new_c+1}B{self.ROWS-new_r}")

        self.update_path_drawing()
        self.update_ui_for_mode()

    def confirm_path_point(self):
        if self.current_mode != "PLANNING_PATH":
            return
        pos_to_add = self.planner_cursor_pos
        # [BUG-FIX-4] 检查末尾是否已是该点，避免连续点击堆积重复点
        if self.planned_path and self.planned_path[-1] == pos_to_add:
            self.log_to_console(f"当前点 A{pos_to_add[1]+1}B{self.ROWS-pos_to_add[0]} "
                                f"已是路径末尾，无需重复确认。")
            return
        self.planned_path.append(pos_to_add)
        self.log_to_console(f"手动确认重访点: A{pos_to_add[1]+1}B{self.ROWS-pos_to_add[0]}")
        self.update_path_drawing()
        self.update_ui_for_mode()

    # ──────────────────────────────────────────
    #  自动规划（蛇形全覆盖）
    # ──────────────────────────────────────────
    def auto_plan_path(self):
        # [BUG-FIX-5] 允许从 IDLE 直接规划
        if self.current_mode not in ["SETTING_NOFLY", "IDLE"]:
            messagebox.showwarning("操作无效", "请先完成禁飞区设置。")
            return

        self.log_to_console("生成蛇形扫描路径... 优化转弯和重复点")

        accessible_points = {
            (r, c) for r in range(self.ROWS) for c in range(self.COLS)
            if (r, c) not in self.no_fly_zone
        }
        if not accessible_points:
            messagebox.showerror("规划失败", "没有可飞行的区域。")
            return
        if self.takeoff_pos in self.no_fly_zone:
            messagebox.showerror("规划失败", f"起飞点被设为禁飞区！")
            return

        planned_path = self.generate_snake_path(accessible_points)
        if not planned_path:
            messagebox.showerror("规划失败", "无法生成有效路径。")
            return

        self.log_to_console("优化路径中...")
        optimized_path = self.optimize_path(planned_path)

        if len(optimized_path) < len(planned_path):
            self.log_to_console(f"路径优化完成: {len(planned_path)} -> {len(optimized_path)} 个航点")
            self.planned_path = optimized_path
        else:
            self.planned_path = planned_path

        self.current_mode = "PLANNING_PATH"
        self.planner_cursor_pos = self.planned_path[-1]
        self.update_ui_for_mode()
        self.update_path_drawing()
        self.update_cursor_drawing(force_create=True)
        self.log_to_console(f"已生成蛇形扫描路径，共 {len(self.planned_path)} 个航点。")

    def generate_snake_path(self, accessible_points):
        if not accessible_points:
            return []

        optimized_path = self.try_optimized_snake_scan(accessible_points)
        if optimized_path:
            return optimized_path

        self.log_to_console("优化蛇形扫描失败，使用备用策略...")
        path = [self.takeoff_pos]
        remaining_points = accessible_points - {self.takeoff_pos}

        while remaining_points:
            current_pos = path[-1]
            next_pos = self.find_best_next_point(current_pos, remaining_points, path)
            if next_pos:
                segment_path = a_star_search(
                    current_pos, next_pos, self.no_fly_zone,
                    (self.ROWS, self.COLS), self.TURN_PENALTY, self.DIAGONAL_PENALTY)
                if segment_path:
                    path.extend(segment_path[1:])
                    for pos in segment_path:
                        remaining_points.discard(pos)
                else:
                    remaining_points.discard(next_pos)
            else:
                if remaining_points:
                    nearest = min(remaining_points,
                                  key=lambda p: calculate_distance(current_pos, p))
                    segment_path = a_star_search(
                        current_pos, nearest, self.no_fly_zone,
                        (self.ROWS, self.COLS), self.TURN_PENALTY, self.DIAGONAL_PENALTY)
                    if segment_path:
                        path.extend(segment_path[1:])
                        for pos in segment_path:
                            remaining_points.discard(pos)
                    else:
                        remaining_points.discard(nearest)
        return path

    def try_optimized_snake_scan(self, accessible_points):
        try:
            if not accessible_points:
                return []

            path = [self.takeoff_pos]
            remaining = accessible_points - {self.takeoff_pos}

            if self.takeoff_pos not in accessible_points:
                nearest_start = min(accessible_points,
                                    key=lambda p: calculate_distance(self.takeoff_pos, p))
                start_segment = a_star_search(
                    self.takeoff_pos, nearest_start, self.no_fly_zone,
                    (self.ROWS, self.COLS), self.TURN_PENALTY, self.DIAGONAL_PENALTY)
                if start_segment:
                    path.extend(start_segment[1:])
                    remaining.discard(nearest_start)
                else:
                    return []

            while remaining:
                current_pos = path[-1]
                next_pos = self.find_snake_next_point(current_pos, remaining, path)
                if next_pos:
                    is_diagonal = (current_pos[0] != next_pos[0] and
                                   current_pos[1] != next_pos[1])
                    if self.is_adjacent(current_pos, next_pos) and not is_diagonal:
                        path.append(next_pos)
                        remaining.discard(next_pos)
                    else:
                        segment = a_star_search(
                            current_pos, next_pos, self.no_fly_zone,
                            (self.ROWS, self.COLS), self.TURN_PENALTY, self.DIAGONAL_PENALTY)
                        if segment:
                            path.extend(segment[1:])
                            for pos in segment:
                                remaining.discard(pos)
                        else:
                            remaining.discard(next_pos)
                else:
                    if remaining:
                        nearest = min(remaining,
                                      key=lambda p: calculate_distance(current_pos, p))
                        segment = a_star_search(
                            current_pos, nearest, self.no_fly_zone,
                            (self.ROWS, self.COLS), self.TURN_PENALTY, self.DIAGONAL_PENALTY)
                        if segment:
                            path.extend(segment[1:])
                            for pos in segment:
                                remaining.discard(pos)
                        else:
                            remaining.discard(nearest)
            return path

        except Exception as e:
            self.log_to_console(f"智能S型扫描出错: {e}")
            return []

    def find_snake_next_point(self, current_pos, remaining_points, current_path):
        if not remaining_points:
            return None
        current_r, current_c = current_pos
        directions = [(-1,0),(1,0),(0,-1),(0,1),(-1,-1),(-1,1),(1,-1),(1,1)]
        straight   = [(-1,0),(1,0),(0,-1),(0,1)]
        preferred  = self.get_preferred_direction(current_pos, current_path)

        if preferred in straight:
            dr, dc = preferred
            nxt = (current_r+dr, current_c+dc)
            if nxt in remaining_points:
                return nxt

        for dr, dc in straight:
            nxt = (current_r+dr, current_c+dc)
            if nxt in remaining_points:
                return nxt

        for dr, dc in directions[4:]:
            nxt = (current_r+dr, current_c+dc)
            if nxt in remaining_points:
                return nxt

        adjacent = [(current_r+dr, current_c+dc) for dr,dc in directions
                    if (current_r+dr, current_c+dc) in remaining_points]
        if adjacent:
            return max(adjacent, key=lambda p: self.calculate_path_distance(p, current_path))
        return None

    def get_preferred_direction(self, current_pos, current_path):
        if len(current_path) < 2:
            cr, cc = current_pos
            if cr > 0:    return (-1, 0)
            elif cc > 0:  return (0, -1)
            else:         return (1, 0)
        prev = current_path[-2]
        dr = current_pos[0] - prev[0]
        dc = current_pos[1] - prev[1]
        return (dr, dc)

    def find_best_next_point(self, current_pos, remaining_points, current_path):
        if not remaining_points:
            return None
        cr, cc = current_pos
        directions = [(-1,0),(1,0),(0,-1),(0,1),(-1,-1),(-1,1),(1,-1),(1,1)]
        straight   = [(-1,0),(1,0),(0,-1),(0,1)]
        for dr, dc in straight:
            nxt = (cr+dr, cc+dc)
            if nxt in remaining_points:
                return nxt
        for dr, dc in directions[4:]:
            nxt = (cr+dr, cc+dc)
            if nxt in remaining_points:
                return nxt
        adjacent = [(cr+dr, cc+dc) for dr,dc in directions
                    if (cr+dr, cc+dc) in remaining_points]
        if adjacent:
            return max(adjacent, key=lambda p: self.calculate_path_distance(p, current_path))
        return None

    def calculate_path_distance(self, point, path):
        if not path:
            return 0
        return min(calculate_distance(point, pp) for pp in path)

    def optimize_path(self, path):
        if len(path) <= 2:
            return path
        optimized = [path[0]]
        for i in range(1, len(path)):
            cur = path[i]
            if cur == optimized[-1]:
                continue
            if self.is_adjacent(optimized[-1], cur):
                optimized.append(cur)
            else:
                segment = a_star_search(
                    optimized[-1], cur, self.no_fly_zone,
                    (self.ROWS, self.COLS), self.TURN_PENALTY, self.DIAGONAL_PENALTY)
                if segment:
                    optimized.extend(segment[1:])
                else:
                    optimized.append(cur)
        return optimized

    def is_adjacent(self, pos1, pos2):
        return abs(pos1[0]-pos2[0]) <= 1 and abs(pos1[1]-pos2[1]) <= 1

    # ──────────────────────────────────────────
    #  路径优化器（发送前压缩共线重访段）
    # ──────────────────────────────────────────
    def optimize_path_for_sending(self, path):
        if len(path) < 3:
            visited = set()
            status = []
            for p in path:
                status.append(0 if p in visited else 1)
                visited.add(p)
            return path, status

        optimized = []
        i = 0
        while i < len(path):
            cur = path[i]
            history = set(path[:i])
            is_revisit = cur in history
            end_idx = i

            if is_revisit and i+1 < len(path):
                nxt = path[i+1]
                hist_nxt = set(path[:i+1])
                if nxt in hist_nxt:
                    dr = nxt[0]-cur[0]
                    dc = nxt[1]-cur[1]
                    if abs(dr)<=1 and abs(dc)<=1 and (dr!=0 or dc!=0):
                        k = i+2
                        while k < len(path):
                            pt = path[k]
                            hk = set(path[:k])
                            if pt not in hk:
                                break
                            exp = (cur[0]+(k-i)*dr, cur[1]+(k-i)*dc)
                            if pt != exp:
                                break
                            k += 1
                        end_idx = k-1

            optimized.append(cur)
            if end_idx > i:
                ep = path[end_idx]
                if ep != cur:
                    optimized.append(ep)
                i = end_idx+1
            else:
                i += 1

        visited = set()
        status = []
        for p in optimized:
            status.append(0 if p in visited else 1)
            visited.add(p)
        return optimized, status

    # ──────────────────────────────────────────
    #  发送任务
    # ──────────────────────────────────────────
    def send_mission(self):
        if len(self.planned_path) <= 1:
            messagebox.showerror("路径无效", "规划路径节点过少。")
            return

        self.log_to_console("正在执行最终路径优化...")
        optimized_path, visit_status = self.optimize_path_for_sending(self.planned_path)

        diff = len(self.planned_path) - len(optimized_path)
        if diff > 0:
            self.log_to_console(
                f"路径优化完成：航点从 {len(self.planned_path)} 个减少到 "
                f"{len(optimized_path)} 个（压缩 {diff} 个共线重访段）。")
        else:
            self.log_to_console("路径无需优化。")

        self.current_mode = "RUNNING"
        self.update_ui_for_mode()

        path_str_list = [f"A{c+1}B{self.ROWS-r}" for r, c in optimized_path]
        path_command  = "PATH:" + ",".join(path_str_list)

        # [BUG-FIX-2] send_command 内部已实现分块发送
        self.communicator.send_command(path_command)

        visit_str = "".join(map(str, visit_status))
        self.log_to_console("路径已发送，任务开始！")
        self.log_to_console(f"访问状态(1=首次, 0=重访): {visit_str}")

    # ──────────────────────────────────────────
    #  重置
    # ──────────────────────────────────────────
    def clear_all(self):
        self.no_fly_zone.clear()
        self.planned_path = []
        self.planner_cursor_pos = None
        self.current_mode = "IDLE"
        for i in self.tree.get_children():
            self.tree.delete(i)
        self.update_ui_for_mode()
        self.map_canvas.delete("nofly", "path")
        self.update_cursor_drawing()
        self.update_drone_position(self.takeoff_pos)
        self.log_to_console("所有设置已重置。")

    # ──────────────────────────────────────────
    #  数据处理
    # ──────────────────────────────────────────
    def handle_drone_data(self, data_string):
        if not data_string.startswith("TELEMETRY"):
            self.log_to_console(f"收到数据 <- {data_string}")
        msg_type, _, payload = data_string.partition(':')

        if msg_type == "ANIMAL" and ',' in payload:
            try:
                loc, animal_type, qty = payload.split(',', 2)
                self.tree.insert('', tk.END, values=(loc.strip(), animal_type.strip(), qty.strip()))
            except ValueError:
                self.log_to_console(f"错误: ANIMAL数据格式不正确 - {payload}")

        elif msg_type == "TELEMETRY" and payload:
            try:
                match = re.search(r'A(\d+)B(\d+)', payload.upper())
                if match:
                    col_num = int(match.group(1))
                    row_num = int(match.group(2))
                    r = self.ROWS - row_num
                    c = col_num - 1
                    if 0 <= r < self.ROWS and 0 <= c < self.COLS:
                        self.update_drone_position((r, c))
                else:
                    self.log_to_console(f"错误: TELEMETRY坐标格式无法解析 - {payload}")
            except Exception as e:
                self.log_to_console(f"处理TELEMETRY数据时出错: {e}")

    # ──────────────────────────────────────────
    #  MID360 控制
    # ──────────────────────────────────────────
    def toggle_mid360(self):
        if not self.mid360_running:
            self.communicator.send_command("MID360:START")
            self.log_to_console("发送启动 mid360 信号。")
            self.mid360_button.config(text="关闭mid360")
            self.mid360_running = True
        else:
            self.communicator.send_command("MID360:STOP")
            self.log_to_console("发送关闭 mid360 信号。")
            self.mid360_button.config(text="启动mid360")
            self.mid360_running = False

    # ──────────────────────────────────────────
    #  日志 & 关闭
    # ──────────────────────────────────────────
    def log_to_console(self, message):
        timestamp = time.strftime("%H:%M:%S")
        log_message = f"[{timestamp}] {message}\n"
        self.console_text.config(state='normal')
        self.console_text.insert(tk.END, log_message)
        self.console_text.see(tk.END)
        self.console_text.config(state='disabled')

    def on_closing(self):
        if messagebox.askokcancel("退出", "确定要关闭地面站吗?"):
            if self.communicator:
                self.communicator.stop()
            self.root.destroy()


# ─────────────────────────────────────────────────────────
#  入口
# ─────────────────────────────────────────────────────────
if __name__ == '__main__':
    root = tk.Tk()
    app = GroundStationApp(root)
    root.mainloop()
