Exemple #1
0
        public void ExcuteTest()
        {
            using (var client = PcbTesterClient.Create(PortName, BaudRate))
            {
                client.Open();

                var           eraseCommand   = new EraseSPIFlashCommand();
                var           eraseParameter = new AddressCommandParameter(0x0u);
                CommandResult eraseResult    = eraseCommand.Execute(client, eraseParameter, null);

                var readcommand0   = new ReadSPIFlashCommand();
                var readParameter0 = new AddressCommandParameter(0x0u, 4);

                CommandResult readResult0 = readcommand0.Execute(client, readParameter0, null);

                client.Write("0-0:199.128.8", new byte[] { 0x10 }, 0x0u);
#if false
                var readcommand0   = new ReadSPIFlashCommand();
                var readParameter0 = new AddressCommandParameter(0x00020000u, 4);

                CommandResult readResult0 = readcommand0.Execute(client, readParameter0, null);

                var           eraseCommand   = new EraseSPIFlashCommand();
                var           eraseParameter = new AddressCommandParameter(0x00020000u);
                CommandResult eraseResult    = eraseCommand.Execute(client, eraseParameter, null);

                var readcommand = new ReadSPIFlashCommand();
                // var parameter = new AddressCommandParameter(0x00u, 2, "FFFF");
                //var parameter = new AddressCommandParameter(0x00020000u, 4, "FFFFFFFF");
                var readParameter = new AddressCommandParameter(0x00020000u, 4);

                CommandResult readResult = readcommand.Execute(client, readParameter, null);

                var command = new WriteSPIFlashCommand();

                // var parameter = new AddressCommandParameter(0x00020000u, "00000000");

                //string writeData = "000000000000000000000000000000000000000000000000000001A650000000505000000050500000005050000000505000000050500000005050000000505000000050500000005050000000505000000050500000005050000000505000000050500000005050000000505000000050000000000000000000000000000000";
                string        writeData      = "FF";
                var           writeParameter = new AddressCommandParameter(0x00020000u, writeData);
                CommandResult result         = command.Execute(client, writeParameter, null);

                //writeParameter = new AddressCommandParameter(0x01, writeData);
                //result = command.Execute(client, writeParameter, null);


                var readcommand1 = new ReadSPIFlashCommand();
                // var parameter = new AddressCommandParameter(0x00u, 2, "FFFF");
                //var parameter = new AddressCommandParameter(0x00020000u, 4, "FFFFFFFF");
                var readParameter1 = new AddressCommandParameter(0x00020000u, 1);

                CommandResult readResult1 = readcommand.Execute(client, readParameter1, null);
#endif
                // Assert.AreEqual(result.Success, true);
                //Assert.AreEqual(result.Message, "");
            }
        }
Exemple #2
0
        public void ExecuteTest()
        {
            using (var client = PcbTesterClient.Create(PortName, BaudRate))
            {
                client.Open();

                var command = new ReadSPIFlashCommand();
                // var parameter = new AddressCommandParameter(0x00u, 2, "FFFF");
                //var parameter = new AddressCommandParameter(0x00020000u, 4, "FFFFFFFF");
                var parameter = new AddressCommandParameter(0x40, 0x40);

                CommandResult result = command.Execute(client, parameter, null);

                Assert.AreEqual(result.Success, true);
                //Assert.AreEqual(result.Data, "126A9B63142533FFFFFFFFFFFFFFFFFF");
            }
        }
Exemple #3
0
        /// <summary>
        /// 读SPI Flash线程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void readSpiBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            var backgroundWorker = sender as BackgroundWorker;

            using (var client = PcbTesterClient.Create(Settings.Default.PortName, Settings.Default.BaudRate))
            {
                client.Open();

                if (e.Argument as AddressCommandParameter == null)
                {
                    return;
                }
                var addressParameter = e.Argument as AddressCommandParameter;

                StringBuilder builder     = new StringBuilder();
                int           framesCount = (int)addressParameter.Length * 1024 / bytesPerTransmit;
                for (int i = 0; i < framesCount; i++)
                {
                    //如果用户取消了任务就跳出
                    if (backgroundWorker.CancellationPending)
                    {
                        e.Cancel = true;
                        break;
                    }

                    var           command    = new ReadSPIFlashCommand();
                    CommandResult readResult = command.Execute(client, new AddressCommandParameter(addressParameter.Address, (uint)bytesPerTransmit), null);
                    addressParameter.Address += (uint)bytesPerTransmit; //更新下次读的SPI起始地址
                    builder.AppendFormat("{0:X}", readResult.Data);
                    var data = new AddressCommandParameter();
                    data.Length = (uint)framesCount;
                    data.Data   = readResult.Data;
                    backgroundWorker.ReportProgress(i + 1, data);
                    System.Threading.Thread.Sleep(50); //50ms发一次读命令帧
                }
                e.Result = builder.ToString();
            }
        }