Added a new practice type option "Characters + Numbers" that allows training with a random mix of characters (letters) and numbers from the selected session.
File: src/cw_academy_training.rs
Added CharactersAndNumbers to the PracticeType enum:
pub enum PracticeType {
Characters,
CharactersAndNumbers, // NEW!
Words,
Abbreviations,
Numbers,
Callsigns,
Phrases,
}The new practice type shows as "Characters + Numbers" in the UI dropdown.
The new practice type intelligently combines:
- Letters: All letters from the session's character set (A, E, N, T, etc.)
- Numbers: Individual digits extracted from the session's number sequences
Example for Session 2:
- Characters: A, E, N, T, S, I, O
- Numbers: 1, 4 (extracted from sequences like "1441", "4114")
- Combined Pool: A, E, N, T, S, I, O, 1, 4
When practicing, the system randomly selects from this combined pool, giving you:
- Sometimes a letter: "A", "E", "T"
- Sometimes a number: "1", "4"
- Random mix for realistic practice
- Open Training Window
- Select Session (e.g., Session 2, Session 5, etc.)
- Choose Practice Type: Select "Characters + Numbers"
- Start Training Session
- Practice with random mix of letters and numbers!
Session 2 Example:
- Random selections from: A, E, N, T, S, I, O, 1, 4
- Could be: "A", "4", "T", "1", "O", "N", "4", "E", etc.
Session 5 Example:
- Characters include: U, C, M, W
- Numbers include: 2, 3, 5, 6
- Random selections from all of these
Session 7 Example:
- Full alphabet coverage with 7, 9 added
In real QSOs, you constantly switch between letters and numbers:
- Callsigns: "N2AB", "W3RD", "K4XYZ"
- Signal reports: "599", "RST"
- Frequencies: "7054"
- QTH Grid squares: "FN20"
Switching between letter patterns and number patterns:
- Trains mental agility
- Improves recognition speed
- Reduces hesitation when mode-switching
- Pure character practice: brain anticipates letters
- Pure number practice: brain expects numbers
- Mixed practice: Keeps you alert and engaged!
Only uses characters and numbers taught in that session:
- Session 1: A, E, N, T (no numbers yet)
- Session 2: A, E, N, T, S, I, O, 1, 4
- Session 5: Adds U, C, M, W, 2, 3, 5, 6
- Session 7: Adds F, Y, G, P, Q, 7, 9
- And so on...
The practice types now appear in this order:
- Characters - Letters only (traditional)
- Characters + Numbers - Mixed letters and numbers (NEW!)
- Words - Complete words
- CW Abbreviations - Common ham radio abbreviations
- Numbers - Number sequences only
- Callsigns - Amateur radio callsigns
- Phrases - Complete phrases
- ✅ Works with all 10 sessions
- ✅ Works with Sending Practice mode
- ✅ Works with Listening Practice mode
- ✅ Works with Random Blocks mode
- ✅ Works with statistics tracking
- ✅ Works with timeout features
The system:
- Takes all single-character items from the session's character list
- Extracts individual digits from number sequences
- Removes duplicates
- Creates a combined pool for random selection
Only includes:
- Single alphanumeric characters from character set
- Individual digits (0-9) from number sequences
- No special characters or prosigns in this mode
Play: "A" → Send: .-
Play: "4" → Send: ....-
Play: "T" → Send: -
Play: "1" → Send: .----
Play: "N" → Send: -.
Play: "O" → Send: ---
Play: "M" → Send: --
Play: "3" → Send: ...--
Play: "W" → Send: .--
Play: "5" → Send: .....
Play: "C" → Send: -.-.
Play: "6" → Send: -....
- Start with Session 2: First session with numbers (1, 4)
- Progress Gradually: Master each session before advancing
- Use Listening Mode: Most realistic for mixed character practice
- Enable Timeout: Adds pressure, simulates real QSO timing
- Track Statistics: Monitor your character vs. number accuracy
Possible additions:
- Weight ratio (70% letters, 30% numbers)
- Difficulty levels (predictable vs. totally random)
- Focus mode (practice only missed characters)
- Group mode (2-3 character groups with mixed types)