From b8486c287fb5f43a67090839758c5c5282057bbc Mon Sep 17 00:00:00 2001 From: Federico Fissore Date: Mon, 3 Jun 2013 11:50:46 +0200 Subject: [PATCH 1/3] using new run-bridge script --- hardware/arduino/avr/libraries/Bridge/Bridge.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hardware/arduino/avr/libraries/Bridge/Bridge.cpp b/hardware/arduino/avr/libraries/Bridge/Bridge.cpp index 440cde0f6..f13f90966 100644 --- a/hardware/arduino/avr/libraries/Bridge/Bridge.cpp +++ b/hardware/arduino/avr/libraries/Bridge/Bridge.cpp @@ -42,9 +42,7 @@ void BridgeClass::begin() { delay(500); // Wait for OpenWRT message // "Press enter to activate console" - print(F("\ncd /usr/lib/python2.7/bridge\n")); - delay(100); - print(F("python -B bridge.py\n")); + print(F("run-bridge\n")); delay(1000); dropAll(); From 69e6419394af92d1df18d6091c3921a263bdea30 Mon Sep 17 00:00:00 2001 From: Federico Fissore Date: Tue, 4 Jun 2013 13:36:01 +0200 Subject: [PATCH 2/3] forgot to move serialRate field to SerialMonitor subclass --- app/src/processing/app/AbstractMonitor.java | 3 --- app/src/processing/app/SerialMonitor.java | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/processing/app/AbstractMonitor.java b/app/src/processing/app/AbstractMonitor.java index def9fe57e..65719c04c 100644 --- a/app/src/processing/app/AbstractMonitor.java +++ b/app/src/processing/app/AbstractMonitor.java @@ -24,7 +24,6 @@ public abstract class AbstractMonitor extends JFrame implements MessageConsumer protected JCheckBox autoscrollBox; protected JComboBox lineEndings; protected JComboBox serialRates; - protected int serialRate; public AbstractMonitor(String title) { super(title); @@ -110,8 +109,6 @@ public abstract class AbstractMonitor extends JFrame implements MessageConsumer for (int i = 0; i < serialRateStrings.length; i++) serialRates.addItem(serialRateStrings[i] + " " + _("baud")); - serialRate = Preferences.getInteger("serial.debug_rate"); - serialRates.setSelectedItem(serialRate + " " + _("baud")); serialRates.setMaximumSize(serialRates.getMinimumSize()); pane.add(autoscrollBox); diff --git a/app/src/processing/app/SerialMonitor.java b/app/src/processing/app/SerialMonitor.java index 9e95c91c8..21eec7785 100644 --- a/app/src/processing/app/SerialMonitor.java +++ b/app/src/processing/app/SerialMonitor.java @@ -24,6 +24,8 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; +import static processing.app.I18n._; + public class SerialMonitor extends AbstractMonitor { private final String port; @@ -35,6 +37,8 @@ public class SerialMonitor extends AbstractMonitor { this.port = port; + serialRate = Preferences.getInteger("serial.debug_rate"); + serialRates.setSelectedItem(serialRate + " " + _("baud")); onSerialRateChange(new ActionListener() { public void actionPerformed(ActionEvent event) { String wholeString = (String) serialRates.getSelectedItem(); From d7c4481baa9d8e69cff268b1ff48f9d8528378ee Mon Sep 17 00:00:00 2001 From: Federico Fissore Date: Tue, 4 Jun 2013 17:26:31 +0200 Subject: [PATCH 3/3] Using additional info in avahi payload to print discovered board type --- app/src/processing/app/Base.java | 6 +++++- app/src/processing/app/Editor.java | 7 ++++--- app/src/processing/app/Platform.java | 13 +++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 1a103562f..c7f0a57b4 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -421,8 +421,12 @@ public class Base { @Override public void boardOnline(ServiceEvent serviceEvent) { Map board = new HashMap(); + board.put("hostname", serviceEvent.getName()); board.put("addresses", serviceEvent.getInfo().getInet4Addresses()); - board.put("type", serviceEvent.getType()); + if (serviceEvent.getInfo().hasData()) { + board.put("id", serviceEvent.getInfo().getPropertyString("board")); + board.put("distro_version", serviceEvent.getInfo().getPropertyString("distro_version")); + } Base.this.boardsViaNetwork.put(serviceEvent.getName(), board); } }); diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index 84ed3afd7..7a500b568 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -1008,9 +1008,10 @@ public class Editor extends JFrame implements RunnerListener { exception.printStackTrace(); } - for (Map.Entry> entry : base.getBoardsViaNetwork().entrySet()) { - Inet4Address[] addresses = (Inet4Address[]) entry.getValue().get("addresses"); - String label = addresses[0].getHostAddress() + " (" + entry.getKey() + ")"; + for (Map board : base.getBoardsViaNetwork().values()) { + String boardName = Base.getPlatform().resolveDeviceByBoardID(Base.packages, (String) board.get("id")); + Inet4Address[] addresses = (Inet4Address[]) board.get("addresses"); + String label = board.get("hostname") + "@" + addresses[0].getHostAddress() + " (" + boardName + ")"; JCheckBoxMenuItem rbMenuItem = new JCheckBoxMenuItem(label, label.equals(Preferences.get("serial.port"))); rbMenuItem.addActionListener(new SerialMenuListener(label)); serialMenu.add(rbMenuItem); diff --git a/app/src/processing/app/Platform.java b/app/src/processing/app/Platform.java index 149b74437..db29cb295 100644 --- a/app/src/processing/app/Platform.java +++ b/app/src/processing/app/Platform.java @@ -165,6 +165,19 @@ public class Platform { return null; } + public String resolveDeviceByBoardID(Map packages, String boardId) { + for (TargetPackage targetPackage : packages.values()) { + for (TargetPlatform targetPlatform : targetPackage.getPlatforms().values()) { + for (TargetBoard board : targetPlatform.getBoards().values()) { + if (boardId.equals(board.getId())) { + return board.getName(); + } + } + } + } + return null; + } + // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .