自瞄实时性修复

This commit is contained in:
2026-03-28 06:22:48 +08:00
parent ef3fd150a0
commit 141355f1a6

View File

@@ -208,25 +208,21 @@ bool ArmorFinder::sendBoxPosition(uint16_t shoot_delay) {
return true; return true;
} else if (state == LOST_TARGET_WAIT) { } else if (state == LOST_TARGET_WAIT) {
// 等待1秒期间开启小陀螺旋转索敌 // 等待1秒期间保持静止,不旋转
static int wait_count = 0; static int wait_count = 0;
wait_count++; wait_count++;
if (wait_count % 50 == 0) { if (wait_count % 50 == 0) {
auto remaining = 1000 - std::chrono::duration_cast<std::chrono::milliseconds>(now - state_start_time).count(); auto remaining = 1000 - std::chrono::duration_cast<std::chrono::milliseconds>(now - state_start_time).count();
LOGM(STR_CTR(WORD_YELLOW, "Pre-search: yaw=150, %dms left"), remaining > 0 ? remaining : 0); LOGM(STR_CTR(WORD_YELLOW, "Waiting... %dms left before search"), remaining > 0 ? remaining : 0);
wait_count = 0; wait_count = 0;
} }
// 等待期间旋转yaw=150pitch 小范围扫描 // 等待期间旋转发送0值
pitch_scan += pitch_direction * 5; updateControl(0, 0, 0, 3, 3);
if (pitch_scan >= 50) pitch_direction = -1;
if (pitch_scan <= -50) pitch_direction = 1;
updateControl(150, pitch_scan, 0, 3, 2);
return true; return true;
} else { // SEARCHING } else { // SEARCHING
// 索敌状态:持续旋转直到找到目标 // 索敌状态:持续旋转直到找到目标加快pitch扫描速度
pitch_scan += pitch_direction * 7; pitch_scan += pitch_direction * 15; // 从7加快到15
if (pitch_scan >= 200) pitch_direction = -1; if (pitch_scan >= 200) pitch_direction = -1;
if (pitch_scan <= -100) pitch_direction = 1; if (pitch_scan <= -100) pitch_direction = 1;