public override IOBuffer Pack() { var buffer = new IOBufferReadFuseTx(); buffer[0] = Header; buffer[1] = Confirmation; buffer[2] = (byte)Regim; checkSumManager.Calculate(buffer); return(buffer); }
public override bool Run(IInTaskManager taskManager) { var protocolTx = new ProtocolReadFuseTx(serialPortSettings.HeaderTX); var protocolRx = new ProtocolReadFuseRx(serialPortSettings.HeaderRX); var bufferTx = new IOBufferReadFuseTx(); protocolRx.ExtendedFuses = fuses[0]; protocolRx.HightFuses = fuses[1]; protocolRx.LowFuses = fuses[2]; using (var sp = new SerialPortManager(portName, (int)serialPortSettings.BaudRate, serialPortSettings.Parity, serialPortSettings.StopBits, 50, SerialPort.InfiniteTimeout)) { for (;;) { taskManager.IfCancellation(); if (IfReceived(sp, protocolTx, bufferTx, taskManager.SynchronizationContext)) { Transmit(sp, protocolRx, taskManager.SynchronizationContext); RestartReceiv(); } } } }