X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosConfigFCUI.java;h=8df3c022a398c3067a7222768befb981ad5ff0d0;hb=64d8d41e6c1820f8147505f49d2a58a489a9b89a;hp=2eb6ae752c73f70ba7eed833ebce4ff1ab95eda2;hpb=47f4121ae6596bdf18566295df2fdbe94fe676b8;p=fw%2Faltos diff --git a/altosui/AltosConfigFCUI.java b/altosui/AltosConfigFCUI.java index 2eb6ae75..8df3c022 100644 --- a/altosui/AltosConfigFCUI.java +++ b/altosui/AltosConfigFCUI.java @@ -142,11 +142,18 @@ public class AltosConfigFCUI "4250", }; - static String[] pad_orientation_values = { + static String[] pad_orientation_values_radio = { "Antenna Up", "Antenna Down", }; + static String[] pad_orientation_values_no_radio = { + "Beeper Up", + "Beeper Down", + }; + + String[] pad_orientation_values; + static String[] tracker_motion_values_m = { "2", "5", @@ -203,6 +210,25 @@ public class AltosConfigFCUI return product != null && product.startsWith("TeleMetrum"); } + boolean is_telemega() { + String product = product_value.getText(); + return product != null && product.startsWith("TeleMega"); + } + + boolean is_easymega() { + String product = product_value.getText(); + return product != null && product.startsWith("EasyMega"); + } + + boolean is_easytimer() { + String product = product_value.getText(); + return product != null && product.startsWith("EasyTimer"); + } + + boolean has_radio() { + return is_telemega() || is_telemetrum() || is_telemini(); + } + void set_radio_enable_tool_tip() { if (radio_enable_value.isVisible()) radio_enable_value.setToolTipText("Enable/Disable telemetry and RDF transmissions"); @@ -277,6 +303,8 @@ public class AltosConfigFCUI pad_orientation_value.setToolTipText("Older TeleMetrum firmware must fly antenna forward"); else if (is_telemini() || is_easymini()) pad_orientation_value.setToolTipText("TeleMini and EasyMini don't care how they are mounted"); + else if (is_easytimer()) + pad_orientation_value.setToolTipText("EasyTimer can be mounted in any of six orientations"); else pad_orientation_value.setToolTipText("Can't select orientation"); } @@ -759,6 +787,11 @@ public class AltosConfigFCUI c.anchor = GridBagConstraints.LINE_START; c.insets = ir; c.ipady = 5; + if (has_radio()) + pad_orientation_values = pad_orientation_values_radio; + else + pad_orientation_values = pad_orientation_values_no_radio; + pad_orientation_value = new JComboBox(pad_orientation_values); pad_orientation_value.setEditable(false); pad_orientation_value.addItemListener(this); @@ -1271,16 +1304,18 @@ public class AltosConfigFCUI return AltosLib.MISSING; } - public void set_flight_log_max_limit(int new_flight_log_max_limit) { + public void set_flight_log_max_limit(int new_flight_log_max_limit, int new_storage_erase_unit) { flight_log_max_limit = new_flight_log_max_limit; if (new_flight_log_max_limit != AltosLib.MISSING) { flight_log_max_value.removeAllItems(); for (int i = 8; i >= 1; i--) { int size = flight_log_max_limit / i; + if (new_storage_erase_unit != 0) + size &= ~(new_storage_erase_unit - 1); flight_log_max_value.addItem(String.format("%d (%d flights)", size, i)); } } - if (flight_log_max != 0) + if (flight_log_max != 0 && flight_log_max != AltosLib.MISSING) set_flight_log_max(flight_log_max); }