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();
}
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); } }