Prototype.Xilinx.Uploader.Arduino.ArduinoConnection.UploadPages C# (CSharp) Method

UploadPages() public method

public UploadPages ( IEnumerable pages ) : void
pages IEnumerable
return void
        public void UploadPages(IEnumerable pages)
        {
            int pageNumber = 0;
            var statusTwiddle = @"|/-\";
            SetLeds(Leds.FpgaBothLeds);
            try
            {
                foreach (Page page in pages)
                {
                    var response = TransmitBufferAndAwaitResponse(Commands.UploadPage, page.Data, page.Offset, Constants.SramPageBufferSize + 4);
                    System.Console.Write("\r{0} {1:D3} {2}", statusTwiddle[pageNumber % statusTwiddle.Length], pageNumber, response.Substring(2));
                    ++pageNumber;
                }
                SetLeds(Leds.FpgaGreenLed);
            }
            catch
            {
                SetLeds(Leds.FpgaRedLed);
                throw;
            }
            System.Console.WriteLine();
        }

Usage Example

Example #1
0
        static void Main(string[] args)
        {
            var arguments = new ProgramArguments();

            args = Arguments.Parse(args, arguments);

            if (arguments.PrintHelp)
            {
                System.Console.Write(Arguments.GetDescriptionText(arguments));
                Environment.Exit(1);
            }

            ArduinoConnection arduinoConnection = new ArduinoConnection(arguments.Port, arguments.Speed);

            using (var inputStream = GetFileOrUrlStream(args[0]))
            {
                IEnumerable pageEnumerable = IsBitFile(args[0]) ?
                    (IEnumerable) new BitFilePageCollection(inputStream, Constants.UserStartAddress) :
                    (IEnumerable) new BinFilePageCollection(inputStream, Constants.UserStartAddress);
                arduinoConnection.UploadPages(pageEnumerable);
            }
        }