| 
														
															@@ -28,6 +28,7 @@ type 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     acFileSave: TAction;
 
														 | 
														
														 | 
														
															     acFileSave: TAction;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     acHelpAbout: TAction;
 
														 | 
														
														 | 
														
															     acHelpAbout: TAction;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     acHexFile: TAction;
 
														 | 
														
														 | 
														
															     acHexFile: TAction;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    acNextInsert: TAction;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     acUpload: TAction;
 
														 | 
														
														 | 
														
															     acUpload: TAction;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ActionList1: TActionList;
 
														 | 
														
														 | 
														
															     ActionList1: TActionList;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     acFileOpen: TFileOpen;
 
														 | 
														
														 | 
														
															     acFileOpen: TFileOpen;
 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -79,6 +80,7 @@ type 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ADC2: TSpinEdit;
 
														 | 
														
														 | 
														
															     ADC2: TSpinEdit;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     SaveDialog1: TSaveDialog;
 
														 | 
														
														 | 
														
															     SaveDialog1: TSaveDialog;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     SaveHexFile: TSaveDialog;
 
														 | 
														
														 | 
														
															     SaveHexFile: TSaveDialog;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    SdpoSerial1: TSdpoSerial;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     Servo1: TLabeledEdit;
 
														 | 
														
														 | 
														
															     Servo1: TLabeledEdit;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     Servo2: TLabeledEdit;
 
														 | 
														
														 | 
														
															     Servo2: TLabeledEdit;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     EditA: TLabeledEdit;
 
														 | 
														
														 | 
														
															     EditA: TLabeledEdit;
 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -94,6 +96,7 @@ type 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ShapeOut2: TShape;
 
														 | 
														
														 | 
														
															     ShapeOut2: TShape;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ShapeOut3: TShape;
 
														 | 
														
														 | 
														
															     ShapeOut3: TShape;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ShapeOut4: TShape;
 
														 | 
														
														 | 
														
															     ShapeOut4: TShape;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    SpeedButton1: TSpeedButton;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     StatusBar1: TStatusBar;
 
														 | 
														
														 | 
														
															     StatusBar1: TStatusBar;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     StringGrid1: TStringGrid;
 
														 | 
														
														 | 
														
															     StringGrid1: TStringGrid;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     tbPrg: TToggleBox;
 
														 | 
														
														 | 
														
															     tbPrg: TToggleBox;
 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -143,6 +146,7 @@ type 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure acHexFileExecute(Sender: TObject);
 
														 | 
														
														 | 
														
															     procedure acHexFileExecute(Sender: TObject);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure acNewExecute(Sender: TObject);
 
														 | 
														
														 | 
														
															     procedure acNewExecute(Sender: TObject);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure acNewRowExecute(Sender: TObject);
 
														 | 
														
														 | 
														
															     procedure acNewRowExecute(Sender: TObject);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    procedure acNextInsertExecute(Sender: TObject);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure acNextStepExecute(Sender: TObject);
 
														 | 
														
														 | 
														
															     procedure acNextStepExecute(Sender: TObject);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure acPresetLoadAccept(Sender: TObject);
 
														 | 
														
														 | 
														
															     procedure acPresetLoadAccept(Sender: TObject);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure acPresetSaveAccept(Sender: TObject);
 
														 | 
														
														 | 
														
															     procedure acPresetSaveAccept(Sender: TObject);
 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -185,6 +189,7 @@ type 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure inputSps;
 
														 | 
														
														 | 
														
															     procedure inputSps;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure outputSps;
 
														 | 
														
														 | 
														
															     procedure outputSps;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure uploadFile;
 
														 | 
														
														 | 
														
															     procedure uploadFile;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    function serialUpload: string;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure setDirty(Value: boolean);
 
														 | 
														
														 | 
														
															     procedure setDirty(Value: boolean);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     function checkDirty: boolean;
 
														 | 
														
														 | 
														
															     function checkDirty: boolean;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     procedure checkPresets;
 
														 | 
														
														 | 
														
															     procedure checkPresets;
 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -519,6 +524,17 @@ begin 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   renumberGrid();
 
														 | 
														
														 | 
														
															   renumberGrid();
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 end;
 
														 | 
														
														 | 
														
															 end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
 
														 | 
														
														 | 
														
															 
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+procedure TForm1.acNextInsertExecute(Sender: TObject);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+var
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  myPos: integer;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  myPos := StringGrid1.Row;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if (myPos = StringGrid1.RowCount - 1) then
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    acNewRow.Execute;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  StringGrid1.Row := myPos + 1;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  renumberGrid();
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 procedure TForm1.programSps;
 
														 | 
														
														 | 
														
															 procedure TForm1.programSps;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var
 
														 | 
														
														 | 
														
															 var
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   x, i: integer;
 
														 | 
														
														 | 
														
															   x, i: integer;
 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -728,8 +744,70 @@ end; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 procedure TForm1.acUploadExecute(Sender: TObject);
 
														 | 
														
														 | 
														
															 procedure TForm1.acUploadExecute(Sender: TObject);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 begin
 
														 | 
														
														 | 
														
															 begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   uploadFile();
 
														 | 
														
														 | 
														
															   uploadFile();
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  //serialUpload;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 end;
 
														 | 
														
														 | 
														
															 end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
 
														 | 
														
														 | 
														
															 
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+function TForm1.serialUpload: string;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+var
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  hexFileSource: TStringList;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  hexFile, tmp, line: string;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  pos, x: integer;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  pos := 0;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  line := '';
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  hexFile := MCSIO.CreateUniqueFile(MCSIO.GetTempDir, 'TPS', '.hex');
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  hexFileSource := TStringList.Create;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  for x := 1 to StringGrid1.RowCount - 1 do
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    if (pos = 0) then
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      line := line + 'd ';
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    tmp := StringGrid1.Cells[1, x];
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    line := line + tmp;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    tmp := StringGrid1.Cells[2, x];
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    line := line + tmp;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    Inc(pos);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    if (pos = 8) then
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      hexFileSource.Add(line);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      line := '';
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      pos := 0;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    end
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    else
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      line := line + ',';
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if (pos = 0) then
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    line := hexFileSource.Strings[hexFileSource.Count - 1];
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    hexFileSource.Delete(hexFileSource.Count - 1);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    pos := 8;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if (pos <= 7) then
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    for x := pos to 7 do
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      line := line + '00';
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      if (x < 7) then
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        line := line + ',';
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  line := line + '*';
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  hexFileSource.Add(line);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  MCSIO.StrToFile(hexFile, hexFileSource.Text);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  hexFileSource.Free;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  Result := hexFile;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 procedure TForm1.uploadFile;
 
														 | 
														
														 | 
														
															 procedure TForm1.uploadFile;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var
 
														 | 
														
														 | 
														
															 var
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   line: string;
 
														 | 
														
														 | 
														
															   line: string;
 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -746,6 +824,7 @@ var 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   cmd, config, mcu: string;
 
														 | 
														
														 | 
														
															   cmd, config, mcu: string;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   KeyName, StringValue: string;
 
														 | 
														
														 | 
														
															   KeyName, StringValue: string;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   Res: WideString;
 
														 | 
														
														 | 
														
															   Res: WideString;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  Lines: TStringList;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
 
														 | 
														
														 | 
														
															 
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 begin
 
														 | 
														
														 | 
														
															 begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   line := GetSerialPortNames;
 
														 | 
														
														 | 
														
															   line := GetSerialPortNames;
 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -759,57 +838,27 @@ begin 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     frmSelectCom.cbServices.Items.AddStrings(comServices);
 
														 | 
														
														 | 
														
															     frmSelectCom.cbServices.Items.AddStrings(comServices);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     frmSelectCom.cbServices.Text := line;
 
														 | 
														
														 | 
														
															     frmSelectCom.cbServices.Text := line;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
 
														 | 
														
														 | 
														
															 
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    line := XMLPropStorage1.ReadString('ArduinoBin', '');
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    if (line = '') then
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    begin
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      KeyName := 'SOFTWARE\WOW6432Node\Arduino';
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      StringValue := 'Install_Dir';
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      Res := RegistryReadString(HKEY_LOCAL_MACHINE, WideString(KeyName), WideString(StringValue));
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      if Res <> '' then
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      begin
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        line := string(Res);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      end;
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    end;
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    frmSelectCom.deArduino.Text := line;
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     return := frmSelectCom.ShowModal;
 
														 | 
														
														 | 
														
															     return := frmSelectCom.ShowModal;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
 
														 | 
														
														 | 
														
															 
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     comService := frmSelectCom.cbServices.Text;
 
														 | 
														
														 | 
														
															     comService := frmSelectCom.cbServices.Text;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     XMLPropStorage1.WriteString('ComPort', comService);
 
														 | 
														
														 | 
														
															     XMLPropStorage1.WriteString('ComPort', comService);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    line := frmSelectCom.deArduino.Text;
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    arduinoPath := MCSIO.GetNormPath(line);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    XMLPropStorage1.WriteString('ArduinoBin', line);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     comServices.Free;
 
														 | 
														
														 | 
														
															     comServices.Free;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if (return = mrOk) then
 
														 | 
														
														 | 
														
															     if (return = mrOk) then
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     begin
 
														 | 
														
														 | 
														
															     begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      hexFile := MCSIO.CreateUniqueFile(MCSIO.GetTempDir, 'TPS', '.hex');
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      makeHexFile(hexFile);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      cmd := arduinoPath + 'hardware\tools\avr\bin\avrdude';
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      XMLPropStorage1.WriteString('avrdude', cmd);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      hexFile := serialUpload;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
 
														 | 
														
														 | 
														
															 
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      config := arduinoPath + 'hardware\tools\avr\etc\avrdude.conf';
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      XMLPropStorage1.WriteString('avrdudeconf', config);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      SdpoSerial1.Device := comService;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      SdpoSerial1.Active := True;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
 
														 | 
														
														 | 
														
															 
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      if (cbTPSVersion.ItemIndex = 3) then
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      Lines := TStringList.Create;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      Lines.LoadFromFile(hexFile);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      for x := 0 to Lines.Count - 1 do
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       begin
 
														 | 
														
														 | 
														
															       begin
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        mcu := 'atmega328p';
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      end
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      else if (cbTPSVersion.ItemIndex = 2) then
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      begin
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        mcu := 'attiny84';
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        SdpoSerial1.WriteData(Lines.Strings[x]);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        SdpoSerial1.WriteData(CRLF);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       end;
 
														 | 
														
														 | 
														
															       end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      XMLPropStorage1.WriteString('arduinomcu', mcu);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      line :=
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        '-C%AVRCONF% -v -v -v -p%MCU% -carduino -P\\.\%COM% -b57600 -D -Ueeprom:w:%FILE%:i';
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      line := Replace2('%AVRCONF%', config, line);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      line := Replace2('%MCU%', mcu, line);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      line := Replace2('%COM%', comService, line);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      line := Replace2('%FILE%', hexFile, line);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      ExecuteProcess(cmd, line);
 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      SdpoSerial1.Active := False;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       DeleteFile(hexFile);
 
														 | 
														
														 | 
														
															       DeleteFile(hexFile);
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     end;
 
														 | 
														
														 | 
														
															     end;
 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   end;
 
														 | 
														
														 | 
														
															   end;
 
														 |