}
}
+ 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);
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();
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();
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();
if (remote)
radio_calibration_value.setEnabled(false);
pane.add(radio_calibration_value, c);
+ set_radio_calibration_tool_tip();
/* Radio Enable */
c = new GridBagConstraints();
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();
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();
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();
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();
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();
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) {
}
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() {
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() {
ignite_mode_value.setEnabled(true);
}
ignite_mode_value.setSelectedIndex(new_ignite_mode);
+ set_ignite_mode_tool_tip();
}
public int ignite_mode() {
pad_orientation_value.setEnabled(true);
}
pad_orientation_value.setSelectedIndex(new_pad_orientation);
+ set_pad_orientation_tool_tip();
}
public int pad_orientation() {
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])
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
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
])
Priority: extra
Maintainer: Bdale Garbee <bdale@gag.com>
Uploaders: Keith Packard <keithp@keithp.com>
-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