using MainShell.Hardware; using MainShell.Log; using MainShell.Models; using MwFramework.Device; using MwFramework.Device.DeviceInterface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MainShell.DeviceMaintance.ViewModel { public class HardwareTestViewModel:BaseScreen { private readonly HardwareManager _device; private IFFUItem _ffuItem1; private string _message = "XXXX"; public string Message { get { return _message; } set { SetAndNotify(ref _message, value); } } private string _waferBarcode = string.Empty; /// /// 方片扫码枪读取结果 /// public string WaferBarcode { get { return _waferBarcode; } set { SetAndNotify(ref _waferBarcode, value); } } private string _glassBarcode = string.Empty; /// /// /// 基板扫码枪读取结果 /// public string GlassBarcode { get { return _glassBarcode; } set { SetAndNotify(ref _glassBarcode, value); } } private int _fFURotateSpeed ; /// /// /// 基板扫码枪读取结果 /// public int FFURotateSpeed { get { return _fFURotateSpeed; } set { SetAndNotify(ref _fFURotateSpeed, value); } } public HardwareTestViewModel(HardwareManager hardwareManager) { _device = hardwareManager; _ffuItem1 = _device.FFU?.Count > 0 ? _device.FFU[0] : null; } public void btnZeroClick() { try { _device.Diastimeter.ZeroReset(); } catch (Exception ex) { LogManager.LogSysError(ex, true); } } public void GetDarkReference() { IDeviceParamExtend p = _device.Diastimeter as IDeviceParamExtend; if (p[(CommandStr)"GetDarkReference"].Execute()) { } else { } } public void btnGetCurrentValueClick() { try { _device.Diastimeter.GetLastSample(out double Distance); Message = Convert.ToString(Distance); } catch (Exception ex) { LogManager.LogSysError(ex, true); } } public void FFURotateSpeedChanged() { if (_ffuItem1 != null) { if (!_ffuItem1.CurrentOnOff) _ffuItem1.OnOff = true; //_deviceDefaltSetting.Write(); _ffuItem1.SettingVelocity = FFURotateSpeed; } } public void BtnOpenFFU() { if (_ffuItem1 != null) { if (!_ffuItem1.CurrentOnOff) _ffuItem1.OnOff = true; } } public void BtnCloseFFU() { if (_ffuItem1 != null) { if (_ffuItem1.CurrentOnOff) _ffuItem1.OnOff = false; } } public void btnScanWaferBarcodeClick() { try { //this.WaferBarcode = string.Empty; //_device.WaferBarcodeScanner.TryScan(out string barcode, 1000); //this.WaferBarcode = string.IsNullOrEmpty(barcode) ? "NA" : barcode; } catch (Exception ex) { LogManager.LogSysError(ex, true); } } public async void btnScanGlassBarcodeClick() { try { await Task.Run(() => { //this.GlassBarcode = string.Empty; //_device.GlassBarcodeScanner.TryScan(out string barcode, 1000 * 5); //this.GlassBarcode = string.IsNullOrEmpty(barcode) ? "NA" : barcode; }); } catch (Exception ex) { LogManager.LogSysError(ex, true); } } } }