using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using Lebai.SDK; using Lebai.SDK.Dtos; using Robotc; using BPASmartClient.Message; using BPASmartClient.Helper; using TaskStatus = Lebai.SDK.Dtos.TaskStatus; using BPASmartClient.Peripheral; using BPASmartClient.EventBus; using static BPASmartClient.EventBus.EventBus; using BPASmartClient.Model; using BPASmartClient.LebaiRobot; namespace BPASmartClient.Lebai { public class LebaiRobot: BasePeripheral { /// /// IP地址 /// public string IpAddress { get; set; } = "192.168.0.1"; /// /// 抓手上传感器输入位索引 /// public int HandSensor { get; set; } /// /// 输出信号量索引 /// public int OutputSingalValue { get; set; } protected override void InitStatus() { status["Connected"] = false; status["HandSensor"] = 0; status["OutputSingalValue"] = 0; } public override void Start() { LebaiHelper.GetInstance().Connect(IpAddress); ThreadManage.GetInstance().StartLong(() => { LebaiHelper.GetInstance().Reconnect(IpAddress); Thread.Sleep(5000); }, "机器人重连检测"); ThreadManage.GetInstance().StartLong(() => { status["Connected"] = LebaiHelper.GetInstance().IsConnected; if (LebaiHelper.GetInstance().robotData != null) status["RobotMode"] = LebaiHelper.GetInstance().robotData.RobotMode.Mode; },"获取乐白机器人数据"); } public override void Stop() { } public override void Init() { EventBus.EventBus.GetInstance().Subscribe(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack ) { }); InitStatus(); Start(); } } }