1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//! Radio command implementations
//!
//! This module contains the implementation of all SX126x radio commands.
//! Commands are organized into functional categories:
//!
//! # Command Categories
//! - [`dio`]: DIO and IRQ control commands
//! - Configure DIO pin functionality
//! - Map and control interrupts
//! - Control RF switch and TCXO
//!
//! - [`operational`]: Operating mode control commands
//! - Set operating modes (Sleep, Standby, etc)
//! - Configure power management
//! - Control calibration
//! - Configure PA operation
//!
//! - [`rf`]: RF and packet configuration commands
//! - Set frequency and modulation
//! - Configure packet formatting
//! - Control TX/RX parameters
//! - Manage data buffering
//!
//! - [`status`]: Status and monitoring commands
//! - Read device status
//! - Monitor signal strength
//! - Track packet statistics
//! - Handle error conditions
//!
//! # Command Execution
//! Most commands have specific requirements for execution:
//! - Operating mode (usually STDBY_RC)
//! - Command sequencing (e.g. packet type before modulation)
//! - Parameter validation
//! - Timing constraints
//!
//! The BUSY line indicates when commands can be issued:
//! - High = Device busy, wait before sending command
//! - Low = Device ready for next command
//!
//! # Common Patterns
//! 1. Check BUSY is low before sending command
//! 2. Send command with required parameters
//! 3. Wait for BUSY to go low again
//! 4. Check status/errors if needed
//! 5. Proceed with next configuration step
//!
//! # Important Notes
//! - Commands cannot be sent during sleep mode
//! - Some commands require specific timing gaps
//! - Parameter ranges depend on operating conditions
//! - Error checking is recommended for critical commands
//! - BUSY must be monitored for reliable operation
pub use *;
pub use *;
pub use *;
pub use *;