From e9709689de95cf3e945c6a1dfe8e113fab64e97e Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 28 Oct 2016 16:07:43 +0200 Subject: [PATCH] Add extra field to serial discovery targeting Tian board --- app/src/processing/app/Base.java | 2 ++ arduino-core/src/processing/app/Platform.java | 17 ++++++++++++++++- build/build.xml | 2 +- build/liblistSerials-1.2.0.zip.sha | 1 - build/liblistSerials-1.4.0.zip.sha | 1 + 5 files changed, 20 insertions(+), 3 deletions(-) delete mode 100644 build/liblistSerials-1.2.0.zip.sha create mode 100644 build/liblistSerials-1.4.0.zip.sha diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 50d549d0c..c20ae68a7 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -1444,6 +1444,8 @@ public class Base { // Cycle through all boards of this platform for (TargetBoard board : targetPlatform.getBoards().values()) { + if (board.getPreferences().get("hide") != null) + continue; JMenuItem item = createBoardMenusAndCustomMenus(boardsCustomMenus, menuItemsToClickAfterStartup, buttonGroupsMap, board, targetPlatform, targetPackage); diff --git a/arduino-core/src/processing/app/Platform.java b/arduino-core/src/processing/app/Platform.java index 374d80953..28a7ba0f5 100644 --- a/arduino-core/src/processing/app/Platform.java +++ b/arduino-core/src/processing/app/Platform.java @@ -236,14 +236,29 @@ public class Platform { List vids = new LinkedList<>(board.getPreferences().subTree("vid", 1).values()); if (!vids.isEmpty()) { List pids = new LinkedList<>(board.getPreferences().subTree("pid", 1).values()); + List descriptors = new LinkedList<>(board.getPreferences().subTree("descriptor", 1).values()); for (int i = 0; i < vids.size(); i++) { String vidPid = vids.get(i) + "_" + pids.get(i); if (vid_pid_iSerial.toUpperCase().contains(vidPid.toUpperCase())) { + if (!descriptors.isEmpty()) { + boolean matched = false; + for (int j = 0; j < descriptors.size(); j++) { + if (vid_pid_iSerial.toUpperCase().contains(descriptors.get(j).toUpperCase())) { + matched = true; + break; + } + } + if (matched == false) { + continue; + } + } Map boardData = new HashMap<>(); boardData.put("board", board); boardData.put("vid", vids.get(i)); boardData.put("pid", pids.get(i)); - boardData.put("iserial", vid_pid_iSerial.substring(vidPid.length()+1)); + String extrafields = vid_pid_iSerial.substring(vidPid.length()+1); + String[] parts = extrafields.split("_"); + boardData.put("iserial", parts[0]); return boardData; } } diff --git a/build/build.xml b/build/build.xml index 0f3067973..6e53ba01c 100644 --- a/build/build.xml +++ b/build/build.xml @@ -86,7 +86,7 @@ - + diff --git a/build/liblistSerials-1.2.0.zip.sha b/build/liblistSerials-1.2.0.zip.sha deleted file mode 100644 index 5cff2a1d6..000000000 --- a/build/liblistSerials-1.2.0.zip.sha +++ /dev/null @@ -1 +0,0 @@ -962a7cf3e2007d47fc990a667221c3c45326c23c diff --git a/build/liblistSerials-1.4.0.zip.sha b/build/liblistSerials-1.4.0.zip.sha new file mode 100644 index 000000000..d1122ac68 --- /dev/null +++ b/build/liblistSerials-1.4.0.zip.sha @@ -0,0 +1 @@ +abec9fe7b7dfb5ae5bf5eb0bd883ef9f6ad7a7eb