ソースを参照

add AuLongStop trigger

zwh 10 ヶ月 前
コミット
7e2a406d55
1 ファイル変更47 行追加0 行削除
  1. 47 0
      trigger/pjisuv/cicv_location/AuLongStop/main/AuLongStop.go

+ 47 - 0
trigger/pjisuv/cicv_location/AuLongStop/main/AuLongStop.go

@@ -0,0 +1,47 @@
+package main
+
+import (
+	"cicv-data-closedloop/pjisuv_msgs"
+	"cicv-data-closedloop/pjisuv_param"
+	"fmt"
+	"time"
+)
+
+var (
+	StartTime int64
+	IsStopped bool
+)
+
+func Topic() string {
+	return "/pj_vehicle_fdb_pub"
+}
+
+// Label todo 禁止存在下划线_
+func Label() string {
+	return "AuLongStop"
+}
+
+func Rule(data *pjisuv_msgs.PerceptionLocalization, param pjisuv_param.PjisuvParam) string {
+	if param.AutomodeOfPjVehicleFdbPub == 1 {
+		if data.VelocityX < 0.5 {
+			// 如果之前没有记录开始时间,记录当前时间
+			if StartTime == 0 {
+				StartTime = time.Now().Unix()
+			}
+			// 判断是否持续超过 50s
+			if time.Now().Unix()-StartTime > 50 {
+				if !IsStopped {
+					event_label := "AuLongStop"
+					fmt.Println(event_label)
+					IsStopped = true
+					return "AuLongStop"
+				}
+			}
+		} else {
+			// 如果速度大于 0.1,重置开始时间和停止标志
+			StartTime = 0
+			IsStopped = false
+		}
+	}
+	return ""
+}