Skip to content

Latest commit

ย 

History

History
326 lines (258 loc) ยท 7.55 KB

File metadata and controls

326 lines (258 loc) ยท 7.55 KB

๐ŸŽฒ Random Blocks Feature - Quick Summary

โœ… What Was Added

New Training Mode: Random Blocks

Generate random combinations of characters and numbers from selected CW Academy sessions!

๐ŸŽฏ Key Features

1. Session Range Selection

  • From Session: 1-10
  • To Session: 1-10
  • Example: From 1 to 5 = Use all characters from sessions 1, 2, 3, 4, 5

2. Block Size Options

  • 2 characters: "AT", "N4", "E2"
  • 3 characters: "NET", "5A1", "THO"
  • 4 characters: "SENT", "4TE2", "HOLD"
  • 5 characters: "STONE", "14T2N", "HORSE"
  • Dynamic (1-5): Random length each time!

3. Works With Both Modes

  • โœ… ๐Ÿ“ Sending Practice: See block, send it
  • โœ… ๐ŸŽง Listening Practice: Hear block, decode it

๐Ÿš€ How to Use

Quick Start (5 Steps)

1. Enable Training Mode
   โ””โ”€> Click [Enable Training]

2. Enable Random Blocks
   โ””โ”€> Check โ˜‘ ๐ŸŽฒ Random Blocks Mode

3. Configure Settings
   โ”œโ”€> From Session: [1]
   โ”œโ”€> To Session: [5]
   โ””โ”€> Block Size: [3 characters]

4. Select Mode
   โ””โ”€> Click [๐Ÿ“ Sending] or [๐ŸŽง Listening]

5. Practice!
   โ””โ”€> Click [Next Item] for new random blocks

๐Ÿ“‹ UI Layout

๐ŸŽ“ CW Academy Training Mode

[Disable Training]

Session: [Session 1 โ–ผ]
Practice Type: [Characters โ–ผ]

โ˜‘ ๐ŸŽฒ Random Blocks Mode  โ† NEW!

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Random Blocks Settings               โ”‚
โ”‚                                      โ”‚
โ”‚ From Session: [1 โ–ผ]  To: [5 โ–ผ]     โ”‚
โ”‚ Block Size: [3 characters โ–ผ]        โ”‚
โ”‚                                      โ”‚
โ”‚ ๐Ÿ“š Training characters from          โ”‚
โ”‚    Session 1 to 5                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Training Mode:
[๐Ÿ“ Sending Practice]  [๐ŸŽง Listening Practice]

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘   Practice This:         โ•‘
โ•‘                          โ•‘
โ•‘       N4T                โ•‘  โ† Random!
โ•‘     (yellow)             โ•‘
โ•‘                          โ•‘
โ•‘   [Next Item]            โ•‘  โ† New block
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐ŸŽ“ Example Configurations

Beginner

From: 1  To: 1
Size: 2 characters
Chars: A E N T
Examples: "AT", "NE", "TA"

Intermediate

From: 1  To: 5
Size: 3 characters
Chars: 22 characters + numbers
Examples: "NET", "C3M", "W1U"

Advanced

From: 1  To: 10
Size: Dynamic (1-5)
Chars: All 44 characters
Examples: "A", "QX", "B8K", "M,W?Y"

๐Ÿ’ก Why Use Random Blocks?

โœ… No Memorization - Every combination is random โœ… Character Recognition - Focus on individual sounds โœ… Real-World Practice - Like copying random callsigns โœ… Progressive Learning - Control difficulty with session range โœ… Flexible Training - Adjust block size as you improve

๐Ÿ”ง Implementation Details

Files Modified

  • โœ… src/cw_academy_training.rs - Added random block generator (+117 lines)
  • โœ… src/main.rs - Added UI and state management
  • โœ… paddle_decoder_linux_amd64 - Rebuilt binary (8.3MB)

New Functions

// Get characters from session range
get_characters_from_range(from, to) -> Vec<char>

// Generate random block
generate_random_block(from, to, size) -> String

// Block size options
BlockSize::Fixed2, Fixed3, Fixed4, Fixed5, Dynamic

State Management

AppState {
    random_blocks_mode: bool,
    block_from_session: SessionNumber,
    block_to_session: SessionNumber,
    block_size: BlockSize,
}

๐Ÿ“Š Character Coverage

Session Range Characters Example Blocks (size 3)
1-1 4 "ATE", "NET", "TAN"
1-2 9 "NO1", "S4I", "T14"
1-3 15 "DHL", "R2S", "5TE"
1-5 22 "MCW", "U3?", "6WM"
1-10 44 "QXZ", "B8K", "J0."

๐ŸŽฎ Usage Scenarios

Scenario 1: Character Reinforcement

Just learned Session 3?
- Set From: 3, To: 3
- Size: 2 characters
- Practice new chars in isolation

Scenario 2: Mixed Review

Review Sessions 1-5?
- Set From: 1, To: 5
- Size: 3 characters
- Mix all learned characters

Scenario 3: Pre-QSO Practice

Preparing for on-air?
- Set From: 1, To: 10
- Size: Dynamic
- Simulate random callsigns

Scenario 4: Speed Building

Building speed?
- Set From: 1, To: 3
- Size: 4 characters
- Increase WPM gradually

โš™๏ธ Settings Guide

Session Range Strategy

Tight (1-2):   Easy, focused practice
Medium (1-5):  Moderate difficulty
Wide (1-10):   Maximum challenge
Single (3-3):  Isolate specific session

Block Size Strategy

2 chars: Learn new characters
3 chars: Build fluency (recommended)
4 chars: Challenge yourself
5 chars: Advanced practice
Dynamic: Simulate real copying

๐ŸŽฏ Recommended Progression

Week 1-2: Foundation

Sessions: 1-1
Size: 2 chars
WPM: 15
Goal: Master A E N T

Week 3-4: Expansion

Sessions: 1-2
Size: 2-3 chars
WPM: 18
Goal: Add S I O 1 4

Week 5-8: Building

Sessions: 1-3
Size: 3 chars
WPM: 18-20
Goal: Add D H L R 2 5

Month 2: Consolidation

Sessions: 1-5
Size: 3-4 chars
WPM: 20
Goal: 22 characters solid

Month 3+: Mastery

Sessions: 1-10
Size: Dynamic
WPM: 20-25
Goal: Full alphabet ready

๐Ÿ”„ Integration with Existing Features

Works With

โœ… Sending Practice Mode โœ… Listening Practice Mode โœ… WPM adjustment (5-40) โœ… Frequency adjustment (300-1000 Hz) โœ… All feedback features (RIGHT/FALSE) โœ… Automatic replay on errors โœ… Answer reveal after 2 attempts

Independent From

โŒ Session selector (overridden in Random Blocks) โŒ Practice Type selector (uses characters only) โŒ Specific word lists

๐Ÿ› Troubleshooting

Q: How do I enable Random Blocks? A: Check the โ˜‘ ๐ŸŽฒ Random Blocks Mode checkbox

Q: Can I use it with Words practice? A: No, Random Blocks generates character combinations, not words

Q: From/To session dropdowns are confusing A: From = Start, To = End. Example: From 1 To 3 = Sessions 1, 2, 3

Q: What does Dynamic block size do? A: Each block is randomly 1-5 characters long

Q: Blocks seem too hard A: Reduce session range (e.g., 1-2 instead of 1-10) or block size

Q: Blocks seem too easy A: Increase session range (e.g., 1-10) or use larger block size

โœ… Verification Checklist

After restart, verify:

  • โ˜‘ ๐ŸŽฒ Random Blocks Mode checkbox visible
  • From Session dropdown works (1-10)
  • To Session dropdown works (1-10)
  • Block Size dropdown works (5 options)
  • Blue info text shows session range
  • Random blocks appear in yellow
  • Next Item generates new random blocks
  • Works in both Sending and Listening modes
  • Characters match selected session range

๐Ÿ“ž Support

Documentation

  • Detailed Guide: RANDOM_BLOCKS_GUIDE.md (414 lines)
  • This Summary: RANDOM_BLOCKS_SUMMARY.md
  • Listening Mode: LISTENING_MODE_GUIDE.md
  • Training Mode: TRAINING_MODE_ADDED.md

Quick Help

  • Session range too wide โ†’ Reduce range
  • Blocks too long โ†’ Reduce block size
  • Not random enough โ†’ Click Next Item more
  • Characters wrong โ†’ Check session range

๐ŸŽ‰ Ready to Practice!

  1. Restart the application
  2. Enable Training Mode
  3. Check Random Blocks Mode
  4. Configure your settings
  5. Click Next Item
  6. Practice and improve!

73 and enjoy your random block training! ๐ŸŽฒ ๐Ÿ“ป