ArduinoSerialUpload.Form1.SendOneFile C# (CSharp) Method

SendOneFile() private method

private SendOneFile ( string fileName, string flashName = "" ) : void
fileName string
flashName string
return void
        private void SendOneFile(string fileName, string flashName = "")
        {
            if (string.IsNullOrWhiteSpace(flashName))
                flashName = Path.GetFileName(fileName);

            using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                _headerTop.Add(string.Format("const char FNAME{0:D3}[] PROGMEM = \"{1}\";" + Environment.NewLine,
                    _flashFileNo, flashName));
                _headerBottom.Add(string.Format("  {{ FNAME{0:D3}, {1,3:D}, {2:D} }}," + Environment.NewLine,
                    _flashFileNo, _flashOffset / DATAFLASH_PAGE_BYTES, fs.Length));

                serialPort1.Write("START " + _flashOffset.ToString() + " " + fs.Length.ToString() + "\n");
                _sendState = SendState.WAITFORSEND;

                byte[] myBuff = new byte[DATAFLASH_PAGE_BYTES];
                int r;
                while ((r = fs.Read(myBuff, 0, myBuff.Length)) > 0)
                {
                    serialPort1.Write(myBuff, 0, r);
                    _flashOffset += r;
                }
                fs.Close();
            }

            // Round up to the next page
            _flashOffset = ((_flashOffset / DATAFLASH_PAGE_BYTES) + 1) * DATAFLASH_PAGE_BYTES;
            ++_flashFileNo;
            _sendState = SendState.SENDINGFILE;
        }