package main

import (
	"cicv-data-closedloop/pjisuv_msgs"
	"fmt"
	"sync"
)

func Topic() string {
	return "/data_read"
}

func Label() string {
	return "Creeping"
}

func Rule(shareVars *sync.Map, data *pjisuv_msgs.Retrieval) string {
	defer func() {
		if r := recover(); r != nil {
			fmt.Println("Recovered from panic:", r)
		}
	}()
	//threshold := 65.0
	OutsideWorkshopFlag, ok1 := shareVars.Load("OutsideWorkshopFlag")
	AbsSpeed, ok2 := shareVars.Load("AbsSpeed")

	if ok1 && ok2 && OutsideWorkshopFlag.(bool) == true {
		if data.GearPos == 2 && AbsSpeed.(float64) > 0.8 {
			event_lable := "Creeping"
			fmt.Println(event_lable)
			return Label()
		}
	}
	return ""
}