private string __DetectMcuComPort(Mcu.FirmwareName expectedFirmware) { var ports = McuCom.GetMcuPortName(); foreach (var p in ports) { try { Console.Write("."); this._mcu = new McuCom(p, BAUD); if (this.Ping().Succeeded) // This will turn on the on board led { this.Firmware = this.DetectFirmware(); if (this.Firmware == expectedFirmware) { return(p); } } } finally { if (this._mcu != null) { this._mcu.Dispose(); this._mcu = null; } } } return(null); }
public virtual McuComResponse Initialize(Mcu.FirmwareName firmwareName = Mcu.FirmwareName.NusbioMcuMatrixPixel) { this._mcu = new McuCom(this._comPort, this._baud); var r = this.Ping(); if (r.Succeeded) { this.FirmwareVersion = r.GetParam(1); this.Firmware = this.DetectFirmware(); if (this.Firmware == firmwareName) { this.SetOnBoardLed(OnBoardLedMode.Connected); return(McuComResponse.Success); } else { return(new McuComResponse().Fail(string.Format("Invalid firmware:{0}", this.Firmware))); } } return(new McuComResponse().Fail("Firmware not found")); }