X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosConfigFCUI.java;h=75b294d9b2c01d5acdd440d80a64350420580045;hb=b4960336c0ae960bee40fdd337e58fcc8846ac87;hp=5ccb107783a9a7922cf17f85c73ee5f86115b654;hpb=c1b754c12ac32ed38a561d8b35dcbdf82beea896;p=fw%2Faltos diff --git a/altosui/AltosConfigFCUI.java b/altosui/AltosConfigFCUI.java index 5ccb1077..75b294d9 100644 --- a/altosui/AltosConfigFCUI.java +++ b/altosui/AltosConfigFCUI.java @@ -42,6 +42,7 @@ public class AltosConfigFCUI JLabel radio_calibration_label; JLabel radio_frequency_label; JLabel radio_enable_label; + JLabel radio_10mw_label; JLabel rate_label; JLabel aprs_interval_label; JLabel aprs_ssid_label; @@ -69,6 +70,7 @@ public class AltosConfigFCUI AltosUIFreqList radio_frequency_value; JLabel radio_calibration_value; JRadioButton radio_enable_value; + JRadioButton radio_10mw_value; AltosUIRateList rate_value; JComboBox aprs_interval_value; JComboBox aprs_ssid_value; @@ -140,6 +142,9 @@ public class AltosConfigFCUI }; static String[] beep_values = { + "2000", + "2100", + "2200", "3750", "4000", "4250", @@ -346,6 +351,13 @@ public class AltosConfigFCUI beep_value.setToolTipText("Older firmware could not select beeper frequency"); } + void set_radio_10mw_tool_tip() { + if (radio_10mw_value.isVisible()) + radio_10mw_value.setToolTipText("Should transmitter power be limited to 10mW"); + else + radio_10mw_value.setToolTipText("Older firmware could not limit radio power"); + } + /* Build the UI using a grid bag */ public AltosConfigFCUI(JFrame in_owner, boolean remote) { super (in_owner, title, false); @@ -357,7 +369,8 @@ public class AltosConfigFCUI Insets il = new Insets(4,4,4,4); Insets ir = new Insets(4,4,4,4); - pane = getContentPane(); + pane = getScrollablePane(); + pane.setLayout(new GridBagLayout()); /* Product */ @@ -578,6 +591,31 @@ public class AltosConfigFCUI set_radio_enable_tool_tip(); row++; + /* Radio 10mW limit */ + c = new GridBagConstraints(); + c.gridx = 0; c.gridy = row; + c.gridwidth = 4; + c.fill = GridBagConstraints.NONE; + c.anchor = GridBagConstraints.LINE_START; + c.insets = il; + c.ipady = 5; + radio_10mw_label = new JLabel("Limit transmit to 10mW:"); + pane.add(radio_10mw_label, c); + + c = new GridBagConstraints(); + c.gridx = 4; c.gridy = row; + c.gridwidth = 4; + c.fill = GridBagConstraints.HORIZONTAL; + c.weightx = 1; + c.anchor = GridBagConstraints.LINE_START; + c.insets = ir; + c.ipady = 5; + radio_10mw_value = new JRadioButton("Limited"); + radio_10mw_value.addItemListener(this); + pane.add(radio_10mw_value, c); + set_radio_10mw_tool_tip(); + row++; + /* Telemetry Rate */ c = new GridBagConstraints(); c.gridx = 0; c.gridy = row; @@ -1434,6 +1472,22 @@ public class AltosConfigFCUI return AltosLib.MISSING; } + public void set_radio_10mw(int new_radio_10mw) { + if (new_radio_10mw != AltosLib.MISSING) { + radio_10mw_value.setSelected(new_radio_10mw != 0); + } + radio_10mw_value.setVisible(new_radio_10mw != AltosLib.MISSING); + radio_10mw_label.setVisible(new_radio_10mw != AltosLib.MISSING); + set_radio_10mw_tool_tip(); + } + + public int radio_10mw() { + if (radio_10mw_value.isVisible()) + return radio_10mw_value.isSelected() ? 1 : 0; + else + return AltosLib.MISSING; + } + String[] tracker_motion_values() { if (AltosConvert.imperial_units) return tracker_motion_values_ft;