Show what has gone out in the transmit pane
The transmit pane is now the type-ahead buffer. What has gone to the engine is in red beside the box and cannot be reached; what is still to go is in the box and can be typed over, added to or deleted while the engine works through it. A macro fills the pane rather than the engine, so the operator can correct a call the message is still sending. The cursor holds the pump: nothing behind it goes out, so an engine that catches up with the operator idles instead of transmitting half a word. With the box out of focus there is no cursor and everything goes. Escape and the RX button drop what has not gone out and stop the engine where it is. Enter puts in the carriage return the engine takes as a new line. The pane starts empty for the next message. The baud rate the pump counts by is in the digital setup window, beside the alignment frequency. It has to match the engine: 45.45 unless the contest says otherwise. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RoGtneMQaz4M9w7Kk49AVD
This commit is contained in:
@@ -103,13 +103,17 @@
|
||||
</Border>
|
||||
</HeaderedContentControl>
|
||||
|
||||
<HeaderedContentControl Header="Alignment Frequency">
|
||||
<HeaderedContentControl Header="Alignment Frequency and Speed">
|
||||
<Border BorderThickness="1" BorderBrush="#40808080" Padding="8">
|
||||
<StackPanel>
|
||||
<TextBlock Classes="label" Text="MMTTY mark frequency (Hz)" Margin="0,0,0,1" />
|
||||
<TextBox Name="MarkBox" Width="120" HorizontalAlignment="Left" />
|
||||
<TextBlock Classes="label" TextWrapping="Wrap"
|
||||
Text="The Align button retunes the radio so the signal that was clicked in the waterfall sits on this tone." />
|
||||
<TextBlock Classes="label" Text="Baud rate" Margin="0,8,0,1" />
|
||||
<TextBox Name="BaudBox" Width="120" HorizontalAlignment="Left" />
|
||||
<TextBlock Classes="label" TextWrapping="Wrap"
|
||||
Text="The speed the engine transmits at, which paces the transmit pane. Set it to the same speed as the engine: 45.45 baud unless the contest says otherwise." />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</HeaderedContentControl>
|
||||
|
||||
@@ -88,6 +88,7 @@ public sealed partial class DigitalDialog : Window
|
||||
ForegroundHighlightBox.IsChecked = !settings.DigitalHighlightBackground;
|
||||
BackgroundHighlightBox.IsChecked = settings.DigitalHighlightBackground;
|
||||
MarkBox.Text = settings.DigitalMarkHertz.ToString(CultureInfo.InvariantCulture);
|
||||
BaudBox.Text = settings.DigitalBaud.ToString(CultureInfo.InvariantCulture);
|
||||
WindowBox.ItemsSource = WindowSizes;
|
||||
WindowBox.SelectedItem =
|
||||
WindowSizes.FirstOrDefault(s => s == settings.DigitalEngineWindow) ?? WindowSizes[0];
|
||||
@@ -300,6 +301,10 @@ public sealed partial class DigitalDialog : Window
|
||||
DigitalWineCommand = WineBox.Text?.Trim() is { Length: > 0 } wine ? wine : "wine",
|
||||
DigitalPttPort = PttBox.Text?.Trim() ?? "",
|
||||
DigitalMarkHertz = int.TryParse(MarkBox.Text, out int mark) ? mark : settings.DigitalMarkHertz,
|
||||
DigitalBaud = double.TryParse(BaudBox.Text, NumberStyles.Float, CultureInfo.InvariantCulture,
|
||||
out double baud) && baud > 0
|
||||
? baud
|
||||
: settings.DigitalBaud,
|
||||
DigitalEngineWindow = WindowBox.SelectedItem as string ?? "Normal",
|
||||
DigitalEngineOnTop = OnTopBox.IsChecked == true,
|
||||
DigitalEnabled = (EngineBox.Text?.Trim().Length ?? 0) > 0,
|
||||
|
||||
Reference in New Issue
Block a user