Skip to content

Commit ddef407

Browse files
author
jantje
committed
1 parent c79b280 commit ddef407

File tree

3 files changed

+44
-15
lines changed

3 files changed

+44
-15
lines changed

it.baeyens.arduino.core/src/it/baeyens/arduino/tools/Helpers.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -818,7 +818,7 @@ public static void setTheEnvironmentVariables(IProject project, ICConfigurationD
818818
File localPlatformFilename = new Path(
819819
Common.getBuildEnvironmentVariable(confDesc, Const.ENV_KEY_JANTJE_PLATFORM_FILE, EMPTY_STRING))
820820
.toFile();
821-
Programmers localProgrammers = Programmers.fromBoards(boardFileName);
821+
Programmers localProgrammers[] = Programmers.fromBoards(boardFileName);
822822

823823
String boardID = Common.getBuildEnvironmentVariable(confDesc, Const.ENV_KEY_JANTJE_BOARD_ID, EMPTY_STRING);
824824
String architecture = Common.getBuildEnvironmentVariable(confDesc, Const.ENV_KEY_JANTJE_ARCITECTURE_ID,
@@ -870,8 +870,10 @@ public static void setTheEnvironmentVariables(IProject project, ICConfigurationD
870870

871871
// Then add the programmers file
872872
String programmer = contribEnv.getVariable(get_Jantje_KEY_PROTOCOL(ACTION_UPLOAD), confDesc).getValue();
873-
setTheEnvironmentVariablesAddtheBoardsTxt(contribEnv, confDesc, localProgrammers,
874-
localProgrammers.getIDFromName(programmer), false);
873+
for (Programmers curProgrammer : localProgrammers) {
874+
setTheEnvironmentVariablesAddtheBoardsTxt(contribEnv, confDesc, curProgrammer,
875+
curProgrammer.getIDFromName(programmer), false);
876+
}
875877

876878
// add the stuff that comes with the plugin that is marked as post
877879
setTheEnvironmentVariablesAddAFile(contribEnv, confDesc, pluginPostProcessingPlatformTxt);

it.baeyens.arduino.core/src/it/baeyens/arduino/tools/Programmers.java

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
import it.baeyens.arduino.common.Const;
88

99
public class Programmers extends TxtFile {
10-
private static final String programmersFileName = "programmers.txt";//$NON-NLS-1$
10+
private static final String programmersFileName1 = "programmers.txt";//$NON-NLS-1$
11+
private static final String programmersFileName2 = "externalprogrammers.txt";//$NON-NLS-1$
1112

1213
Programmers(String programmersFileName) {
1314
super(new File(programmersFileName));
@@ -17,19 +18,46 @@ public class Programmers extends TxtFile {
1718
super(programmersFile);
1819
}
1920

20-
public static Programmers fromBoards(String boardsFileName) {
21+
public static Programmers[] fromBoards(String boardsFileName) {
2122
return fromBoards(new File(boardsFileName));
2223
}
2324

24-
public static Programmers fromBoards(File boardsFile) {
25-
File BoardsFile = new Path(boardsFile.getParentFile().toString()).append(programmersFileName).toFile();
26-
return new Programmers(BoardsFile);
25+
public static Programmers[] fromBoards(File boardsFile) {
26+
File BoardsFile1 = new Path(boardsFile.getParentFile().toString()).append(programmersFileName1).toFile();
27+
28+
File BoardsFile2 = new Path(boardsFile.getParentFile().toString()).append(programmersFileName2).toFile();
29+
if (BoardsFile1.exists() & BoardsFile2.exists()) {
30+
Programmers ret[] = new Programmers[2];
31+
32+
ret[0] = new Programmers(BoardsFile1);
33+
ret[1] = new Programmers(BoardsFile2);
34+
return ret;
35+
}
36+
if (BoardsFile1.exists()) {
37+
Programmers ret[] = new Programmers[1];
38+
39+
ret[0] = new Programmers(BoardsFile1);
40+
return ret;
41+
}
42+
if (BoardsFile2.exists()) {
43+
Programmers ret[] = new Programmers[1];
44+
45+
ret[0] = new Programmers(BoardsFile2);
46+
return ret;
47+
48+
}
49+
return new Programmers[0];
50+
2751
}
2852

29-
public String[] GetUploadProtocols() {
30-
String[] defaultValue = new String[1];
31-
defaultValue[0] = Const.DEFAULT;
32-
return getAllNames(defaultValue);
53+
public static String[] getUploadProtocols(String boardsFileName) {
54+
String[] ret = new String[1];
55+
ret[0] = Const.DEFAULT;
56+
Programmers allProgrammers[] = fromBoards(new File(boardsFileName));
57+
for (Programmers curprogrammer : allProgrammers) {
58+
ret = curprogrammer.getAllNames(ret);
59+
}
60+
return ret;
3361

3462
}
3563

it.baeyens.arduino.core/src/it/baeyens/arduino/ui/BoardSelectionPage.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,7 @@ public void handleEvent(Event e) {
140140
*/
141141
String CurrentUploadProtocol = BoardSelectionPage.this.mControlUploadProtocol.getText();
142142
BoardSelectionPage.this.mControlUploadProtocol.removeAll();
143-
BoardSelectionPage.this.mControlUploadProtocol
144-
.setItems(Programmers.fromBoards(boardFile).GetUploadProtocols());
143+
BoardSelectionPage.this.mControlUploadProtocol.setItems(Programmers.getUploadProtocols(CurrentBoard));
145144
BoardSelectionPage.this.mControlUploadProtocol.setText(CurrentUploadProtocol);
146145

147146
if (BoardSelectionPage.this.mControlUploadProtocol.getText().isEmpty()) {
@@ -459,7 +458,7 @@ private void setValues(ICConfigurationDescription confdesc) {
459458

460459
String CurrentUploadProtocol = BoardSelectionPage.this.mControlUploadProtocol.getText();
461460
BoardSelectionPage.this.mControlUploadProtocol.removeAll();
462-
BoardSelectionPage.this.mControlUploadProtocol.setItems(Programmers.fromBoards(boardFile).GetUploadProtocols());
461+
BoardSelectionPage.this.mControlUploadProtocol.setItems(Programmers.getUploadProtocols(boardFile));
463462
BoardSelectionPage.this.mControlUploadProtocol.setText(CurrentUploadProtocol);
464463
if (this.mControlUploadProtocol.getText().isEmpty()) {
465464
this.mControlUploadProtocol.setText(uploadProtocol);

0 commit comments

Comments
 (0)