From: Bdale Garbee Date: Wed, 24 Aug 2011 07:38:58 +0000 (-0600) Subject: Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos X-Git-Tag: 0.9.7.1~5 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=4d94e8f9f807a0bbeab0cdead011e74eeca1d1b6;hp=4b5369dc3da2fc8441eeacbf094537b0cf52240d Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos --- diff --git a/altosui/AltosConfigUI.java b/altosui/AltosConfigUI.java index bb9e1cd2..d20dd073 100644 --- a/altosui/AltosConfigUI.java +++ b/altosui/AltosConfigUI.java @@ -116,6 +116,63 @@ public class AltosConfigUI } } + boolean is_telemini() { + String product = product_value.getText(); + return product != null && product.startsWith("TeleMini"); + } + + boolean is_telemetrum() { + String product = product_value.getText(); + return product != null && product.startsWith("TeleMetrum"); + } + + void set_radio_calibration_tool_tip() { + if (radio_calibration_value.isEnabled()) + radio_calibration_value.setToolTipText("Tune radio output to match desired frequency"); + else + radio_calibration_value.setToolTipText("Cannot tune radio while connected over packet mode"); + } + + void set_radio_enable_tool_tip() { + if (radio_enable_value.isEnabled()) + radio_enable_value.setToolTipText("Enable/Disable telemetry and RDF transmissions"); + else + radio_enable_value.setToolTipText("Firmware version does not support disabling radio"); + } + + void set_flight_log_max_tool_tip() { + if (flight_log_max_value.isEnabled()) + flight_log_max_value.setToolTipText("Size reserved for each flight log (in kB)"); + else { + if (is_telemetrum()) + flight_log_max_value.setToolTipText("Cannot set max value with flight logs in memory"); + else if (is_telemini()) + flight_log_max_value.setToolTipText("TeleMini stores only one flight"); + else + flight_log_max_value.setToolTipText("Cannot set max flight log value"); + } + } + + void set_ignite_mode_tool_tip() { + if (ignite_mode_value.isEnabled()) + ignite_mode_value.setToolTipText("Select when igniters will be fired"); + else + ignite_mode_value.setToolTipText("Older firmware could not select ignite mode"); + } + + void set_pad_orientation_tool_tip() { + if (pad_orientation_value.isEnabled()) + pad_orientation_value.setToolTipText("How will TeleMetrum be mounted in the airframe"); + else { + if (is_telemetrum()) + pad_orientation_value.setToolTipText("Older TeleMetrum firmware must fly antenna forward"); + else if (is_telemini()) + pad_orientation_value.setToolTipText("TeleMini doesn't care how it is mounted"); + else + pad_orientation_value.setToolTipText("Can't select orientation"); + } + } + /* Build the UI using a grid bag */ public AltosConfigUI(JFrame in_owner, boolean remote) { super (in_owner, "Configure TeleMetrum", false); @@ -216,6 +273,7 @@ public class AltosConfigUI main_deploy_value.setEditable(true); main_deploy_value.addItemListener(this); pane.add(main_deploy_value, c); + main_deploy_value.setToolTipText("Height above pad altitude to fire main charge"); /* Apogee delay */ c = new GridBagConstraints(); @@ -240,6 +298,7 @@ public class AltosConfigUI apogee_delay_value.setEditable(true); apogee_delay_value.addItemListener(this); pane.add(apogee_delay_value, c); + apogee_delay_value.setToolTipText("Delay after apogee before charge fires"); /* Frequency */ c = new GridBagConstraints(); @@ -263,6 +322,7 @@ public class AltosConfigUI radio_frequency_value = new AltosFreqList(); radio_frequency_value.addItemListener(this); pane.add(radio_frequency_value, c); + radio_frequency_value.setToolTipText("Telemetry, RDF and packet frequency"); /* Radio Calibration */ c = new GridBagConstraints(); @@ -288,6 +348,7 @@ public class AltosConfigUI if (remote) radio_calibration_value.setEnabled(false); pane.add(radio_calibration_value, c); + set_radio_calibration_tool_tip(); /* Radio Enable */ c = new GridBagConstraints(); @@ -311,6 +372,7 @@ public class AltosConfigUI radio_enable_value = new JRadioButton("Enabled"); radio_enable_value.addItemListener(this); pane.add(radio_enable_value, c); + set_radio_enable_tool_tip(); /* Callsign */ c = new GridBagConstraints(); @@ -334,6 +396,7 @@ public class AltosConfigUI callsign_value = new JTextField(AltosPreferences.callsign()); callsign_value.getDocument().addDocumentListener(this); pane.add(callsign_value, c); + callsign_value.setToolTipText("Callsign reported in telemetry data"); /* Flight log max */ c = new GridBagConstraints(); @@ -358,6 +421,7 @@ public class AltosConfigUI flight_log_max_value.setEditable(true); flight_log_max_value.addItemListener(this); pane.add(flight_log_max_value, c); + set_flight_log_max_tool_tip(); /* Ignite mode */ c = new GridBagConstraints(); @@ -382,6 +446,7 @@ public class AltosConfigUI ignite_mode_value.setEditable(false); ignite_mode_value.addItemListener(this); pane.add(ignite_mode_value, c); + set_ignite_mode_tool_tip(); /* Pad orientation */ c = new GridBagConstraints(); @@ -406,6 +471,7 @@ public class AltosConfigUI pad_orientation_value.setEditable(false); pad_orientation_value.addItemListener(this); pane.add(pad_orientation_value, c); + set_pad_orientation_tool_tip(); /* Buttons */ c = new GridBagConstraints(); @@ -521,6 +587,8 @@ public class AltosConfigUI public void set_product(String product) { radio_frequency_value.set_product(product); product_value.setText(product); + set_pad_orientation_tool_tip(); + set_flight_log_max_tool_tip(); } public void set_version(String version) { @@ -585,12 +653,14 @@ public class AltosConfigUI } public void set_radio_enable(int new_radio_enable) { - if (new_radio_enable >= 0) + if (new_radio_enable >= 0) { radio_enable_value.setSelected(new_radio_enable > 0); - else { + radio_enable_value.setEnabled(true); + } else { radio_enable_value.setSelected(true); radio_enable_value.setEnabled(false); } + set_radio_enable_tool_tip(); } public int radio_enable() { @@ -612,10 +682,12 @@ public class AltosConfigUI if (new_flight_log_max == 0) flight_log_max_value.setEnabled(false); flight_log_max_value.setSelectedItem(Integer.toString(new_flight_log_max)); + set_flight_log_max_tool_tip(); } public void set_flight_log_max_enabled(boolean enable) { flight_log_max_value.setEnabled(enable); + set_flight_log_max_tool_tip(); } public int flight_log_max() { @@ -642,6 +714,7 @@ public class AltosConfigUI ignite_mode_value.setEnabled(true); } ignite_mode_value.setSelectedIndex(new_ignite_mode); + set_ignite_mode_tool_tip(); } public int ignite_mode() { @@ -660,6 +733,7 @@ public class AltosConfigUI pad_orientation_value.setEnabled(true); } pad_orientation_value.setSelectedIndex(new_pad_orientation); + set_pad_orientation_tool_tip(); } public int pad_orientation() { diff --git a/altosui/AltosConfigureUI.java b/altosui/AltosConfigureUI.java index abb54c74..0c865d0e 100644 --- a/altosui/AltosConfigureUI.java +++ b/altosui/AltosConfigureUI.java @@ -125,6 +125,7 @@ public class AltosConfigureUI c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; pane.add(enable_voice, c); + enable_voice.setToolTipText("Enable/Disable all audio in-flight announcements"); c.gridx = 2; c.gridy = 2; @@ -139,6 +140,7 @@ public class AltosConfigureUI } }); pane.add(test_voice, c); + test_voice.setToolTipText("Play a stock audio clip to check volume"); /* Log directory settings */ c.gridx = 0; @@ -161,6 +163,7 @@ public class AltosConfigureUI c.fill = GridBagConstraints.BOTH; c.anchor = GridBagConstraints.WEST; pane.add(configure_log, c); + configure_log.setToolTipText("Which directory flight logs are stored in"); /* Callsign setting */ c.gridx = 0; @@ -178,6 +181,7 @@ public class AltosConfigureUI c.fill = GridBagConstraints.BOTH; c.anchor = GridBagConstraints.WEST; pane.add(callsign_value, c); + callsign_value.setToolTipText("Callsign sent in packet mode"); /* Serial debug setting */ c.gridx = 0; @@ -195,6 +199,7 @@ public class AltosConfigureUI AltosPreferences.set_serial_debug(enabled); } }); + serial_debug.setToolTipText("Enable/Disable USB I/O getting sent to the console"); c.gridx = 1; c.gridy = 5; @@ -223,6 +228,7 @@ public class AltosConfigureUI AltosConfigFreqUI.show(owner); } }); + manage_frequencies.setToolTipText("Configure which values are shown in frequency menus"); // BLUETOOTH // c.gridx = 2; c.gridx = 1; diff --git a/altosui/AltosFlightUI.java b/altosui/AltosFlightUI.java index 51768046..abe08a18 100644 --- a/altosui/AltosFlightUI.java +++ b/altosui/AltosFlightUI.java @@ -172,7 +172,10 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { }); c.gridx = 0; c.gridy = 0; + c.weightx = 0; + c.weighty = 0; c.insets = new Insets(3, 3, 3, 3); + c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; bag.add (frequencies, c); @@ -186,6 +189,8 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { telemetry = Altos.ao_telemetry_standard; telemetries.setSelectedIndex(telemetry - 1); telemetries.setMaximumRowCount(Altos.ao_telemetry_max); + telemetries.setPreferredSize(null); + telemetries.revalidate(); telemetries.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int telemetry = telemetries.getSelectedIndex() + 1; @@ -195,6 +200,8 @@ public class AltosFlightUI extends JFrame implements AltosFlightDisplay { }); c.gridx = 1; c.gridy = 0; + c.weightx = 0; + c.weighty = 0; c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.WEST; bag.add (telemetries, c); diff --git a/altosui/AltosIgniteUI.java b/altosui/AltosIgniteUI.java index 806b87b9..c11a8614 100644 --- a/altosui/AltosIgniteUI.java +++ b/altosui/AltosIgniteUI.java @@ -341,8 +341,8 @@ public class AltosIgniteUI c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.CENTER; c.insets = i; - c.weightx = 1; - c.weighty = 1; + c.weightx = 0; + c.weighty = 0; c.gridx = 0; c.gridy = 0; @@ -412,7 +412,6 @@ public class AltosIgniteUI close.addActionListener(this); close.setActionCommand("close"); - pack(); setLocationRelativeTo(owner); diff --git a/altosui/AltosScanUI.java b/altosui/AltosScanUI.java index dd6672aa..bce4b32c 100644 --- a/altosui/AltosScanUI.java +++ b/altosui/AltosScanUI.java @@ -386,7 +386,7 @@ public class AltosScanUI set_label(); - c.fill = GridBagConstraints.NONE; + c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.WEST; c.insets = i; c.weightx = 1; diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java index 36c08882..27c41838 100644 --- a/altosui/AltosUI.java +++ b/altosui/AltosUI.java @@ -508,6 +508,10 @@ public class AltosUI extends JFrame { } public static void main(final String[] args) { + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception e) { + } /* Handle batch-mode */ if (args.length == 0) { AltosUI altosui = new AltosUI(); diff --git a/ao-tools/Makefile.am b/ao-tools/Makefile.am index 2850e909..8144be1c 100644 --- a/ao-tools/Makefile.am +++ b/ao-tools/Makefile.am @@ -1 +1 @@ -SUBDIRS=lib ao-rawload ao-dbg ao-dumplog ao-bitbang ao-eeprom ao-list ao-load ao-postflight ao-view +SUBDIRS=lib ao-rawload ao-dbg ao-bitbang ao-eeprom ao-list ao-load diff --git a/ao-tools/lib/Makefile.am b/ao-tools/lib/Makefile.am index 79972f46..da355db5 100644 --- a/ao-tools/lib/Makefile.am +++ b/ao-tools/lib/Makefile.am @@ -2,6 +2,9 @@ noinst_LIBRARIES = libao-tools.a AM_CFLAGS=$(WARN_CFLAGS) $(LIBUSB_CFLAGS) $(GNOME_CFLAGS) +libao_tools_a_uneeded = \ + cc-log.c + libao_tools_a_SOURCES = \ ccdbg-command.c \ ccdbg-debug.c \ @@ -17,7 +20,6 @@ libao_tools_a_SOURCES = \ cc-analyse.c \ cc-convert.c \ cc-dsp.c \ - cc-log.c \ cc-integrate.c \ cc-period.c \ cc-process.c \ diff --git a/configure.ac b/configure.ac index 93f53115..0a6001b8 100644 --- a/configure.ac +++ b/configure.ac @@ -95,20 +95,6 @@ if test "x$GCC" = "xyes"; then fi AC_SUBST(WARN_CFLAGS) -AC_CHECK_HEADERS(flite/flite.h,HAVE_FLITE_H=yes,HAVE_FLITE_H=no) -AC_CHECK_LIB(flite, flite_init,HAVE_LIBFLITE=yes,HAVE_LIBFLITE=no,-lasound -lm) - -if test "x$HAVE_FLITE_H" = "xyes" -a "x$HAVE_LIBFLITE" = "xyes"; then - AC_DEFINE(HAVE_FLITE,1,[Define if the flite library is usable]) - AC_SUBST(FLITE_LIBS,"-lflite_cmu_us_kal16 -lflite_usenglish -lflite_cmulex -lflite -lasound -lm") - AC_SUBST(FLITE_INCS,-Iflite) - save_LIBS="$LIBS" - LIBS="$LIBS $FLITE_LIBS" - AC_CHECK_FUNCS([register_cmu_us_kal16 register_cmu_us_kal],break) - LIBS="$save_LIBS" -fi -AM_CONDITIONAL(USE_FLITE,test "x$HAVE_FLITE_H" = "xyes" -a "x$HAVE_LIBFLITE" = "xyes") - AC_CHECK_PROG([HAVE_SDCC], [sdcc], yes, no) if test "x$HAVE_SDCC" = "xno"; then AC_MSG_ERROR([Please install sdcc to build AltOs]) @@ -121,16 +107,8 @@ fi AC_CHECK_LIB(readline, readline) -PKG_CHECK_MODULES([GNOME], [gtk+-2.0 libglade-2.0 gconf-2.0]) - PKG_CHECK_MODULES([LIBUSB], [libusb-1.0]) -PKG_CHECK_MODULES([ALSA], [alsa]) - -PKG_CHECK_MODULES([PLPLOT], [plplotd]) - -PKG_CHECK_MODULES([SNDFILE], [sndfile]) - AC_OUTPUT([ Makefile altosui/Makefile @@ -140,13 +118,10 @@ ao-tools/Makefile ao-tools/lib/Makefile ao-tools/ao-rawload/Makefile ao-tools/ao-dbg/Makefile -ao-tools/ao-dumplog/Makefile ao-tools/ao-bitbang/Makefile ao-tools/ao-eeprom/Makefile ao-tools/ao-list/Makefile ao-tools/ao-load/Makefile -ao-tools/ao-postflight/Makefile -ao-tools/ao-view/Makefile ao-utils/Makefile src/Version ]) diff --git a/debian/control b/debian/control index fc70c8e0..f784a702 100644 --- a/debian/control +++ b/debian/control @@ -3,13 +3,13 @@ Section: otherosfs Priority: extra Maintainer: Bdale Garbee Uploaders: Keith Packard -Build-Depends: debhelper (>= 7), autoconf, automake, flite1-dev, gawk, libasound2-dev, libgconf2-dev, libglade2-dev, libgtk2.0-dev, libreadline-dev, libusb-1.0-0-dev, nickle, sdcc, libplplot-dev, xsltproc, fop, docbook-xml, docbook-xsl, libsndfile1-dev, swig, openjdk-6-jdk, freetts, libtool, libjfreechart-java, libbluetooth-dev +Build-Depends: debhelper (>= 7), autoconf, automake, gawk, libreadline-dev, libusb-1.0-0-dev, nickle, sdcc, xsltproc, fop, docbook-xml, docbook-xsl, swig, openjdk-6-jdk, freetts, libtool, libjfreechart-java, libbluetooth-dev Standards-Version: 3.9.2 Homepage: http://altusmetrum.org/AltOS Package: altos Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, default-jre | java2-runtime, freetts, nickle, plplot9-driver-cairo +Depends: ${shlibs:Depends}, ${misc:Depends}, default-jre | java2-runtime, freetts, nickle Suggests: slim | gdm Replaces: altusmetrum-themes, slim-altusmetrum Conflicts: altusmetrum-themes, slim-altusmetrum