WrathPak
·
2025-04-24
keyers.h
1#pragma once
2
3#define MAX_KEYER_QUEUE 5
4
5typedef enum {
6 PADDLE_DIT = 0,
7 PADDLE_DAH = 1,
8 PADDLE_STRAIGHT,
9} Paddle;
10
11class Transmitter {
12public:
13 virtual void BeginTx();
14 virtual void EndTx();
15};
16
17class Keyer {
18public:
19 virtual void SetOutput(Transmitter *output);
20 virtual void Reset();
21 virtual void SetDitDuration(unsigned int d);
22 virtual void Release();
23 virtual bool TxClosed();
24 virtual bool TxClosed(int relay);
25 virtual void Tx(int relay, bool closed);
26 virtual void Key(Paddle key, bool pressed);
27 virtual void Tick(unsigned int millis);
28};
29
30Keyer *GetKeyerByNumber(int n, Transmitter *output);
31int getKeyerNumber(Keyer* k);