summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
09252ec)
Teledongle uses the callsign in packet mode; this provides a way to
set that.
Signed-off-by: Keith Packard <keithp@keithp.com>
/* voice preference name */
final static String voicePreference = "VOICE";
/* voice preference name */
final static String voicePreference = "VOICE";
+ /* callsign preference name */
+ final static String callsignPreference = "CALLSIGN";
+
/* Default logdir is ~/TeleMetrum */
final static String logdirName = "TeleMetrum";
/* Default logdir is ~/TeleMetrum */
final static String logdirName = "TeleMetrum";
/* Voice preference */
static boolean voice;
/* Voice preference */
static boolean voice;
+ static String callsign;
+
public static void init(Component ui) {
preferences = Preferences.userRoot().node("/org/altusmetrum/altosui");
public static void init(Component ui) {
preferences = Preferences.userRoot().node("/org/altusmetrum/altosui");
channel = preferences.getInt(channelPreference, 0);
voice = preferences.getBoolean(voicePreference, true);
channel = preferences.getInt(channelPreference, 0);
voice = preferences.getBoolean(voicePreference, true);
+
+ callsign = preferences.get(callsignPreference,"N0CALL");
}
static void flush_preferences() {
}
static void flush_preferences() {
public static boolean voice() {
return voice;
}
public static boolean voice() {
return voice;
}
+
+ public static void set_callsign(String new_callsign) {
+ callsign = new_callsign;
+ synchronized(preferences) {
+ preferences.put(callsignPreference, callsign);
+ flush_preferences();
+ }
+ }
+
+ public static String callsign() {
+ return callsign;
+ }
printf("m 0\nc r %d\nm 1\n", channel);
}
printf("m 0\nc r %d\nm 1\n", channel);
}
+ public void set_callsign(String callsign) {
+ if (altos != null)
+ printf ("c c %s\n", callsign);
+ }
+
public AltosSerial() {
altos = null;
input_thread = null;
public AltosSerial() {
altos = null;
input_thread = null;
serial_line.open(device);
DeviceThread thread = new DeviceThread(serial_line);
serial_line.set_channel(AltosPreferences.channel());
serial_line.open(device);
DeviceThread thread = new DeviceThread(serial_line);
serial_line.set_channel(AltosPreferences.channel());
+ serial_line.set_callsign(AltosPreferences.callsign());
run_display(thread);
} catch (FileNotFoundException ee) {
JOptionPane.showMessageDialog(AltosUI.this,
run_display(thread);
} catch (FileNotFoundException ee) {
JOptionPane.showMessageDialog(AltosUI.this,
+ void ConfigureCallsign() {
+ String result;
+ result = JOptionPane.showInputDialog(AltosUI.this,
+ "Configure Callsign",
+ AltosPreferences.callsign());
+ if (result != null) {
+ AltosPreferences.set_callsign(result);
+ if (serial_line != null)
+ serial_line.set_callsign(result);
+ }
+ }
+
/*
* Open an existing telemetry file and replay it in realtime
*/
/*
* Open an existing telemetry file and replay it in realtime
*/
menu.setMnemonic(KeyEvent.VK_F);
menubar.add(menu);
menu.setMnemonic(KeyEvent.VK_F);
menubar.add(menu);
+ item = new JMenuItem("Replay File",KeyEvent.VK_R);
+ item.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ Replay();
+ }
+ });
+ menu.add(item);
+
+ item = new JMenuItem("Save Flight Data",KeyEvent.VK_S);
+ item.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ SaveFlightData();
+ }
+ });
+ menu.add(item);
+
item = new JMenuItem("Quit",KeyEvent.VK_Q);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
ActionEvent.CTRL_MASK));
item = new JMenuItem("Quit",KeyEvent.VK_Q);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
ActionEvent.CTRL_MASK));
- item = new JMenuItem("Save Flight Data",KeyEvent.VK_S);
+ item = new JMenuItem("Set Callsign",KeyEvent.VK_S);
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- item = new JMenuItem("Replay",KeyEvent.VK_R);
- item.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Replay();
- }
- });
menu.add(item);
}
// Log menu
menu.add(item);
}
// Log menu