Add CW keying, function key messages and the documentation
The function keys send through cwdaemon or a WinKeyer, with N1MM's message macros. Escape stops sending. Settings are read with the reflection serializer rather than a generated one: the generated one hands back null for every property the file leaves out instead of the value the property is declared with, which crashed the program the first time a new setting was added. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
17
src/Nonemm.Keying/MessageSender.cs
Normal file
17
src/Nonemm.Keying/MessageSender.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
namespace Nonemm.Keying;
|
||||
|
||||
/// Something that sends a message on the air: a CW keyer, or a voice keyer
|
||||
/// playing a recording.
|
||||
public interface MessageSender : IDisposable
|
||||
{
|
||||
bool IsReady { get; }
|
||||
|
||||
/// Sends the text. Whatever is already going out is finished first unless
|
||||
/// `Abort` is called.
|
||||
Task SendAsync(string text, CancellationToken cancellation = default);
|
||||
|
||||
/// Stops sending straight away, which is what Escape does mid-message.
|
||||
Task AbortAsync(CancellationToken cancellation = default);
|
||||
|
||||
Task SetSpeedAsync(int wordsPerMinute, CancellationToken cancellation = default);
|
||||
}
|
||||
Reference in New Issue
Block a user