@@ -368,6 +368,10 @@ public String getArchitecture() {
368
368
return mySloeberBoardTxtFile .getArchitecture ();
369
369
}
370
370
371
+ public String getVendor () {
372
+ return mySloeberBoardTxtFile .getVendor ();
373
+ }
374
+
371
375
public File getReferencingBoardsFile () {
372
376
return myUserSelectedBoardsTxtFile ;
373
377
}
@@ -450,7 +454,8 @@ public void setOptions(Map<String, String> options) {
450
454
if (options == null ) {
451
455
return ;
452
456
}
453
- this .myOptions .putAll (options );
457
+ myOptions .clear ();
458
+ myOptions .putAll (options );
454
459
setDirty ();
455
460
}
456
461
@@ -820,10 +825,8 @@ public Map<String, String> getEnvVars() {
820
825
if (isMac ) {
821
826
allVars .put (ENV_KEY_RUNTIME_OS , "macosx" ); //$NON-NLS-1$
822
827
}
823
- allVars .put (ENV_KEY_SOFTWARE ,VENDOR_ARDUINO );
824
828
allVars .put (ENV_KEY_ID ,getBoardID ());
825
-
826
-
829
+ allVars .put (ENV_KEY_BUILD_FQBN ,getBoardFQBN ());
827
830
828
831
allVars .put (ENV_KEY_SERIAL_PORT , getActualUploadPort ());
829
832
allVars .put (ENV_KEY_SERIAL_DOT_PORT , getActualUploadPort ());
@@ -887,7 +890,18 @@ public Map<String, String> getEnvVars() {
887
890
888
891
}
889
892
890
- private Map <String , String > getEnVarPlatformInfo () {
893
+ private String getBoardFQBN () {
894
+ String fqbn =getVendor ()+COLON +getArchitecture ()+COLON +getBoardID ();
895
+ String options =EMPTY_STRING ;
896
+ String prefix =COLON ;
897
+ for (Entry <String , String > curOption :myOptions .entrySet ()){
898
+ options =options +prefix +curOption .getKey ()+EQUAL +curOption .getValue ();
899
+ prefix =COMMA ;
900
+ }
901
+ return fqbn +options ;
902
+ }
903
+
904
+ private Map <String , String > getEnVarPlatformInfo () {
891
905
Map <String , String > ret = new HashMap <>();
892
906
893
907
if (myReferencedPlatformUpload != null ) {
0 commit comments