DaoNiaoShu_Dog/Assets/SenSorSystem/MianQian_SenSor.cs
2026-04-15 14:54:04 +08:00

75 lines
1.7 KiB
C#

using DongWuYiXue.DaoNiaoShu;
using System.Collections;
using System.Collections.Generic;
using System.IO.Ports;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 棉签对接硬件脚本
/// </summary>
public class MianQian_SenSor : Sensor
{
/// <summary>
/// 旋转X
/// </summary>
[HideInInspector]
public float X;
/// <summary>
/// 旋转Y
/// </summary>
[HideInInspector]
public float Y;
/// <summary>
/// 旋转Z
/// </summary>
[HideInInspector]
public float Z;
[SerializeField]
Text txt;
[HideInInspector]
public bool isOpen;
float time;
float lastTime;
private void Start()
{
GameManager.Instance.senSor.SendFunction("+++");
}
public override void ReceiveData(string datas, SerialPort sp = null)
{
base.ReceiveData(datas);
if (!datas.Split("OK")[0].Split("ID:")[1].Split(',')[0].Equals("MQ")) return;
//if (!datas.Split("OK")[0].Split("ID:")[1].Split(',')[0].Equals("ZSQ20")) return;
//this.Error(datas);
lastTime = time;
X = float.Parse(datas.Split("OK")[0].Split("PIT:")[1].Split(',')[0]);
Y = float.Parse(datas.Split("OK")[0].Split("YAW:")[1].Split(',')[0]);
Z = float.Parse(datas.Split("OK")[0].Split("ROL:")[1].Split(',')[0]);
//this.Error($"当前旋转角度为:{X},{Y},{Z}");
}
private void Update()
{
time += Time.deltaTime;
if (time - lastTime < 1.0f)
{
isOpen = true;
}
else
{
isOpen = false;
//progressValue = 0;
}
}
public override void Display(string datas)
{
base.Display(datas);
txt.text = $"棉签:X:{X},Y:{Y},Z:{Z}";
}
}