summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-03-11 18:16:55 -0700
committerKeith Packard <keithp@keithp.com>2013-03-11 18:16:55 -0700
commitd171d10d97307a1a1a62e660e9194121b79a09be (patch)
tree49ea5b4dcb05e5f094a70b795a426ef8e80db11f
parent90ee11542b111befa0e96e27292dc548e5c37396 (diff)
micropeak: Improve download docs and UI
Add text explaining that the LED and phototransistor must be touching to both the doc and the UI. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--doc/micropeak.xsl17
-rw-r--r--micropeak/MicroDownload.java47
2 files changed, 54 insertions, 10 deletions
diff --git a/doc/micropeak.xsl b/doc/micropeak.xsl
index 2120acb2..96179d01 100644
--- a/doc/micropeak.xsl
+++ b/doc/micropeak.xsl
@@ -224,12 +224,17 @@ NAR #88757, TRA #12200
</listitem>
<listitem>
<para>
- The MicroPeak USB adapter has a small phototransistor on the
- end of the board furthest from the USB connector. Locate
- this and place the LED on the MicroPeak right over
- it. Turn on the MicroPeak board and adjust the position
- until the blue LED on the MicroPeak USB adapter blinks in
- time with the orange LED on the MicroPeak board.
+ The MicroPeak USB adapter has a small phototransistor on
+ the end of the board furthest from the USB
+ connector. Locate this and place the LED on the MicroPeak
+ directly in contact with it. The MicroPeak LED and the
+ MicroPeak USB adapter photo need to be touching—even a
+ millimeters of space between them will reduce the light
+ intensity from the LED enough that the phototransistor
+ will not sense it. Turn on the MicroPeak board and adjust
+ the position until the blue LED on the MicroPeak USB
+ adapter blinks in time with the orange LED on the
+ MicroPeak board.
</para>
</listitem>
<listitem>
diff --git a/micropeak/MicroDownload.java b/micropeak/MicroDownload.java
index 6f0ca4f6..849cfc15 100644
--- a/micropeak/MicroDownload.java
+++ b/micropeak/MicroDownload.java
@@ -92,11 +92,14 @@ public class MicroDownload extends AltosUIDialog implements Runnable, ActionList
serial.close();
serial_thread.interrupt();
}
+ setVisible(false);
}
public MicroDownload(MicroPeak owner, AltosDevice device) {
super (owner, "Download MicroPeak Data", false);
+ int y = 0;
+
GridBagConstraints c;
Insets il = new Insets(4,4,4,4);
Insets ir = new Insets(4,4,4,4);
@@ -108,7 +111,7 @@ public class MicroDownload extends AltosUIDialog implements Runnable, ActionList
pane.setLayout(new GridBagLayout());
c = new GridBagConstraints();
- c.gridx = 0; c.gridy = 0;
+ c.gridx = 0; c.gridy = y;
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.LINE_START;
c.insets = il;
@@ -116,29 +119,65 @@ public class MicroDownload extends AltosUIDialog implements Runnable, ActionList
pane.add(device_label, c);
c = new GridBagConstraints();
- c.gridx = 1; c.gridy = 0;
+ c.gridx = 1; c.gridy = y;
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 1;
c.anchor = GridBagConstraints.LINE_START;
c.insets = ir;
JLabel device_value = new JLabel(device.toString());
pane.add(device_value, c);
+ y++;
+
+ c = new GridBagConstraints();
+ c.gridx = 0; c.gridy = y;
+ c.gridwidth = GridBagConstraints.REMAINDER;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.weightx = 1;
+ c.anchor = GridBagConstraints.LINE_START;
+ c.insets = ir;
+ JTextArea help_text = new JTextArea(
+
+ "Locate the photo transistor on the MicroPeak USB adapter\n" +
+ "and place the LED on the MicroPeak directly in contact\n" +
+ "with it.\n" +
+ "\n" +
+ "The MicroPeak LED and the MicroPeak USB adapter\n" +
+ "photo need to be touching—even a millimeters of space\n" +
+ "between them will reduce the light intensity from the LED\n" +
+ "enough that the phototransistor will not sense it.\n" +
+ "\n" +
+ "Turn on the MicroPeak board and adjust the position until\n" +
+ "the blue LED on the MicroPeak USB adapter blinks in time\n" +
+ "with the orange LED on the MicroPeak board.");
+
+ pane.add(help_text, c);
+ y++;
+
+ c = new GridBagConstraints();
+ c.gridx = 0; c.gridy = y;
+ c.gridwidth = 1;
+ c.fill = GridBagConstraints.HORIZONTAL;
+ c.weightx = 1;
+ c.anchor = GridBagConstraints.LINE_START;
+ c.insets = ir;
+ JLabel waiting_value = new JLabel("Waiting for MicroPeak data...");
+ pane.add(waiting_value, c);
cancel = new JButton("Cancel");
c = new GridBagConstraints();
c.fill = GridBagConstraints.NONE;
c.anchor = GridBagConstraints.CENTER;
- c.gridx = 0; c.gridy = 1;
+ c.gridx = 1; c.gridy = y;
c.gridwidth = GridBagConstraints.REMAINDER;
Insets ic = new Insets(4,4,4,4);
c.insets = ic;
pane.add(cancel, c);
+ y++;
cancel.addActionListener(this);
pack();
setLocationRelativeTo(owner);
setVisible(true);
- this.start();
}
}