From 2c5893f4373d093d83e37f6b0186a83928114a47 Mon Sep 17 00:00:00 2001 From: D R Date: Wed, 21 Sep 2022 15:38:22 +0100 Subject: [PATCH] Fixed some big bugs! There were bugs to do with the write functions and buffers, I had to reduce the block send to 50 bytes as the Arduino Mega was dropping data. Get the associated updated sketch too or you'll have some major issues. Almost complete now!! --- .../WindowsFormsApp1/Form1.Designer.cs | 4 +-- FlashProgrammer/WindowsFormsApp1/Form1.cs | 23 ++++++++++++------ .../bin/Debug/WindowsFormsApp1.exe | Bin 17408 -> 17408 bytes .../bin/Debug/WindowsFormsApp1.pdb | Bin 36352 -> 36352 bytes ...owsFormsApp1.csproj.GenerateResource.cache | Bin 1012 -> 1012 bytes .../obj/Debug/WindowsFormsApp1.exe | Bin 17408 -> 17408 bytes .../obj/Debug/WindowsFormsApp1.pdb | Bin 36352 -> 36352 bytes 7 files changed, 17 insertions(+), 10 deletions(-) diff --git a/FlashProgrammer/WindowsFormsApp1/Form1.Designer.cs b/FlashProgrammer/WindowsFormsApp1/Form1.Designer.cs index 04f7475..d57b004 100644 --- a/FlashProgrammer/WindowsFormsApp1/Form1.Designer.cs +++ b/FlashProgrammer/WindowsFormsApp1/Form1.Designer.cs @@ -166,7 +166,7 @@ private void InitializeComponent() this.txtMessages.Multiline = true; this.txtMessages.Name = "txtMessages"; this.txtMessages.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtMessages.Size = new System.Drawing.Size(681, 85); + this.txtMessages.Size = new System.Drawing.Size(681, 306); this.txtMessages.TabIndex = 11; // // label3 @@ -247,7 +247,7 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(715, 546); + this.ClientSize = new System.Drawing.Size(715, 770); this.Controls.Add(this.button1); this.Controls.Add(this.btnClearLog); this.Controls.Add(this.btnClearData); diff --git a/FlashProgrammer/WindowsFormsApp1/Form1.cs b/FlashProgrammer/WindowsFormsApp1/Form1.cs index fe94b9c..e448d57 100644 --- a/FlashProgrammer/WindowsFormsApp1/Form1.cs +++ b/FlashProgrammer/WindowsFormsApp1/Form1.cs @@ -32,7 +32,7 @@ public Form1() private void Form1_Load(object sender, EventArgs e) { //Find last com port and list it in the control. - + _continue = false; } private void AddToMessageLog(string textToAdd) @@ -87,6 +87,8 @@ private void Serial_DataReceived(object sender, SerialDataReceivedEventArgs e) //try //{ string data = serial.ReadLine(); //This line is problematic and maybe should be serial.ReadBytes??? + if (data.StartsWith("OK")) + _continue = true; if (data.StartsWith("0x")) this.BeginInvoke(new SetTextDeleg(SerialIn_DataReceived), new object[] { data }); else @@ -171,7 +173,7 @@ private void btnWrite_Click(object sender, EventArgs e) string WriteFileToFlash(string filename) { string result = "FAILED!"; - + //Open the file and read into a byte array byte[] dataArray = File.ReadAllBytes(filename); @@ -182,32 +184,37 @@ string WriteFileToFlash(string filename) txtMessages.Text += "Writing Flash starting at address 0x0000. Please Wait..."; int addressCounter = 0; - //send then where x is 256 or the number of bytes to write, lastly send and then the full amount of bytes in sequence + //send then where x is 256 or the number of bytes to write, lastly send and then the full amount of bytes in sequence //- Arduino side seems to work just need this side to int totalSize = dataArray.Length; serial.WriteLine(""); - serial.WriteLine(""); + serial.WriteLine(""); serial.Write(""); int offset = 0; - int block = 256; + int block = 50; if (block > totalSize) block = totalSize; //This part needs checking before allowing a write to Flash!!!!!!! while(offset < totalSize) - { + { + _continue = false; + if ((offset + block) > totalSize) + block = totalSize - offset; serial.Write(dataArray, offset, block); if (offset + block > totalSize) offset = totalSize - (offset + block); else offset += block; - Application.DoEvents(); + + while(_continue == false) + Application.DoEvents(); } //Read the bytes back and compare, using a dump command, ignore and don't read data past where it was written... - return "Success: Wrote " + (addressCounter + 1).ToString() + " bytes to Flash." + Environment.NewLine; + return "Success: Wrote " + totalSize.ToString() + " bytes to Flash." + Environment.NewLine; } private void btnErase_Click(object sender, EventArgs e) diff --git a/FlashProgrammer/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.exe b/FlashProgrammer/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.exe index aec491f80c378d47f250e9440d43bab9a535ebef..c1f63797490b60f3da68652075ff3d0be47ae6c5 100644 GIT binary patch delta 2372 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 F{0$_9&cpx! diff --git a/FlashProgrammer/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.pdb b/FlashProgrammer/WindowsFormsApp1/bin/Debug/WindowsFormsApp1.pdb index 7570f54dc53a0fef540f7046107e92730534fd30..dd9b2df088d088b958cecf4a57bd38d82588d739 100644 GIT binary patch delta 3503 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 diff --git a/FlashProgrammer/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.GenerateResource.cache b/FlashProgrammer/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.csproj.GenerateResource.cache index d647e135e6f44bce9674d93061556abed93f1f04..cd7bcc5a144033ce49a6bbd511c81b91b553733b 100644 GIT binary patch delta 24 gcmeyu{)K%*D-)y0<~AlXM%Me1)=7^iA7nNL0C1-WyZ`_I delta 24 gcmeyu{)K%*D-)y8<~AlXM%L4N=2kgQKFDkg0CfKeApigX diff --git a/FlashProgrammer/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.exe b/FlashProgrammer/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.exe index aec491f80c378d47f250e9440d43bab9a535ebef..c1f63797490b60f3da68652075ff3d0be47ae6c5 100644 GIT binary patch delta 2372 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 F{0$_9&cpx! diff --git a/FlashProgrammer/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.pdb b/FlashProgrammer/WindowsFormsApp1/obj/Debug/WindowsFormsApp1.pdb index 7570f54dc53a0fef540f7046107e92730534fd30..dd9b2df088d088b958cecf4a57bd38d82588d739 100644 GIT binary patch delta 3503 zcmd_ti+2>&9l-H>C)rIlut*YMn}iTUHsnnnhCl*AAcrJ?n#ijXc`U6&C=)=6eL240UUSF5$o?2pX-IeuMg(sNVI3prEuBvNb=jh4#TFsUGESHqFnw)|IdZuZ~E~$trqKWot z`#yc|VZG|8UcFPVK5p5U`e|$R8EZ|ab>BK`?HFs#L$tG$Ta~HYcp3GexplBlcba*F zXC;?4OQtaWLyN?8FpLaW}GP=QMqKZ#=M^HPG zpXQ&(bomo=(v`Ah(lSsc(T^S#r@Sgni62lVy=qK+NtK=*no_bsCw-5CL-dkix|dik zaE-ZgL*8(PQqvix5HDQ(%r3zhG2KpQZ832 z(Kw&HEcQ1s6&K(T1)4?_uyL?#J{7>f1lvJ*n^u|g*|aKMpn?A9@69qMn&ep zZ@O+sEM7~cOu#z4_O9#iPQjJ_s!Xo5VmBZnpjx%=<{o1G4AC{z7I%)u=vQ!Z0H47ZXm$99~8Kf>6R_#ae349EhU1vtt5Nx^T&qId%j;H7& z$zNa$?#5oY2PMGd+GL`BMSd{;2FD{SXWxW-u^xYiti0NXt+*e#uAn+VLYDg=?!-g* zYm|YXL6+Wr&dKk?7s%6D9mOMf3{Rr8{}Uc3{}+4_B|Kije>wG^;vdPoxg+}6UR@RG zcpU|=QqUJ)!Rt{5^dp1XnfM3HcglU(E7C7ot-c}n>koRd?kH}TrA{VRD1 zxwo(Y-^P)68gImR!l7qX^s{&^&#Xw!Jwt^IbQTlv9DdpBj@LBJbKY~B|IKO6#5&D0 zu3lw;Vd_nLMM}>5PU|kG^#>>q(Lb;ZKg4RhWI8G`^d{pO9`rsC?WU+N(k;pqQpLlyYMXT#!DDNH!(`|*aJ{Pu@EH`Yw))?1&J!V5hWz=!F{*^ z_v7REyu7jYkdV+kjK9a1k#Mu$Ly3gTD4`f18wtfUlu#@}39(8%fm84#HX?5?dnHPQ zJ%AE%-$#k0J$MQa@gmtWVzGu9jw52aRPQ=0MFn;Jc~g* zhY#U-lnq&y?-{&+$M7P)jk0hTu`5V|O;0u#+l#Vt$tWvVf*)ZmevGn(^ZvCPkq69P zj+e0+uV5Q~hEL(=xDS>{Vevv7m)|uK83yU494Tfn1H$`UojZlQ-y9Hy-n+y(C1^8SR1ST zy2E5v->EN{_0@&^-COO`pPE;zH&|JTrm<$JRg!4lteHrw;@T?em()HeHJ$!s(|=sH zrzA1*dX1G24HFo5P#-m!9z!9NR++rf<=F%y!N2xoRj#mK0yHqi3eLMq*IHp>=EZ`mx_C`oDdmrat2k)4KJ#uVPt*VXA#YLt{l=koBH_(grps9U0= zE3e5gA1$*|T$?D$3-_0|1RrNMR*X11YX7roV?t5BOZN z5V7G@MYyabkVt$fHP);T@9l-JD`N9P*dLcl#!wVV$3i8_#{=hX%MDSPTnQX8OjJ9ytrWu-%yI;Ye zQgZklbM08_$)(nE>D^hGiaIzsZA)FVVwL96ES#d~=E~Ie{#-6QoSn13U|;?6dVYPM z@AG}0&-1-sdxK?fuwE|>8M31*q4RR_p~m^oT|d@Z{KMP7iI4qk=cFxqZCL4$vf>lo z)fb*^SR8YtYne*lyJvaiX{p;4UK;+tE90sM2M>+E(P$nV@x9=>ZSE-F-VwFhx)yCl zrYzCgypS?oGUrq7(%P4mT4ia=w2oRDR-}~DoThhnj2WIbM^~Eqw7RGYiuwK{qolLFf!>QG6F6M-zTGU!uF{$2 zc(&W>c9`?o<$8mel;gH;I80?uxh^$3bKE-89M18$HaV3F3s-6?*GHP(oH~8L%*}N( zqWavb`20bA-G(se{v(<@tS}dIFS&9lx|37$&ocMs#iS-FWy_5%i>e9SRvbpV8gnq;?JOABCjG%c8&TSb6I3BXt5XZq!~S8`GKx7S@eYsop+M_e zWJ*=frCYYd#C-BH_dmfztiwByXRr(Kr#JJmpa$JOrQayr{sl~V)AH`>| z9@i^Xsg{t~M!`~i6(7Uj;4<8ekK@}&NZ9Y;6Zk38nSBv|j@QwPgLo{P|ATRbi7IFy zZd(gHc`GTSNIi)IAF`ReJY)-wz^5=7pEg|uqlk7r)|0oIGP(9y9C+;-@^bAj@IGuq zmQSrUGslkdo(<|-HXhM`MDq7QUsA23rSwRhzlUF;Oz{Rx#}`nhTBdd!zDRyNZp1mb z3BQjop#;koWIENaky%kMD-~gL6Sb9s=Wx5x<0gCMo(;i$!|LCr5+9GsSU8w;|FB-e zQ1Y*11o}|g$#7(nen&nVe~;7f4V-~{@E+WUEUIe9U*dk;F6(oUgskizkWN(xzJ<~; zja4Uk+W7O-sXvmZOdZA(cmz)c>d)Xi&P20+yxTiYMX6jaR4SJJ601_lr%@ZhInrP5B98mFI)SRTJNo9c z$Y09~1{Va!oT62_z@S|-zD*}SvDcV*&XOQ#=r4-ZhvQ= zBJU-2+8m$YcHS7+CjD%n&1Zo&=THXgQpx`rbT!vTnyf-kdUv4p`9SNxV=}cDumCS& z3HF#pg~_}n*A;r5D?<7nH^i4X@$Mk+DzdN8?0MXQFXL~q9VL2>;!Zq^yYLE1GzAe} z5;Y!t6El&mZWki~Vb4a1rW%y!X}|-x8VL}43lcfsMXRk+Du3ae0)qx)o(e{TVKBnLteuDqP zlNjt&N|r1E2~~S6%JP(=EYDm#hjsWlK7n80)7XuhQ5N7$B*g8*cnMG9WxRmBUJ^G+ zT*2^grLLkI|A9I9B~HPwa3)^I8f1^y^~fHvTks}6kGJqu{08@-(kvlrJdGA!MfQ~K zU^{t(Nw`TkFdaj%5JPb$hG7*taS?`N6Y`q2*CDTIdn>wdH%8z)7>OU?ZFmNw@ES(r zEsR0OVCDOK(o0&G_*PA>x7zMmy|yGpZ#JnV59wD-Ye^1&_m#Ny8|FmG8tY87`SH{x zR!_7!IdwLz@=7ODUthXPYR;z&H3?;D&K@?F{4|I8f48g4I(3Uloi?1mQ>Jz37N2u^ zas;0gSrxH>rJMs z!V|xVMbm+ndAxAq0xf44SEW0ChD>>XZJtsi0=1pyJC(`0(>Jd&$a0Qj8sxa$_waoi zwJDx8#1zd6b`(*>XUAMOpMR6?_c-KhqeAiy`HtWlf|PtM_)~n^?WD~EL43yeYnn;j z?@!6k*Lq2X$}a}L7A9v_tV7;*MN%3pFDDbV(0|ilc?#D0 i`SttWgxsX9lXrZ1>eQ(z?_TvKG^Ygn=k%HOpnn75{pP*^