sx1262 0.3.0

A embedded-hal driver for the Semtech SX1261/2 sub-GHz radio transceiver
Documentation
# SX1262 Radio Driver

A type-safe embedded-hal driver for the Semtech SX1261/2 sub-GHz radio transceivers. This crate provides a robust interface for controlling these highly integrated, long range, low power radio transceivers designed for ISM band applications.

## Features

- **Frequency Range**: 150-960 MHz
- **Modulation Support**:
  - LoRa: SF5-12, BW 7.8-500kHz
  - (G)FSK: BR 0.6-300kbps
- **Output Power**:
  - SX1261: -17 to +15 dBm
  - SX1262: -9 to +22 dBm
- **High Sensitivity**: Down to -148 dBm
- **Power Management**: Integrated voltage regulation (DC-DC or LDO)
- **Flexible I/O**: Programmable DIO pins for interrupts and control
- **`no_std` Compatible**: Suitable for embedded systems
- **Type-safe Interface**: Built on `regiface` for reliable register access

## Installation

Add this to your `Cargo.toml`:

```toml
[dependencies]
sx1262 = "0.1.0"
```

## Usage

The main entry point is the `Device` type which wraps an SPI interface and provides methods for register access and command execution:

```rust
use sx1262::{Device, commands::operational::SetStandby};
use embedded_hal::spi::SpiDevice;

fn configure_radio<SPI: SpiDevice>(spi: SPI) -> Result<Device<SPI>, SPI::Error> {
    // Create new device instance
    let mut device = Device::new(spi);
    
    // Read/write registers
    let reg_value: /* register type */ = device.read_register()?;
    device.write_register(/* register */)?;
    
    // Execute commands
    let cmd_resp = device.execute_command(/* command */)?;
    
    Ok(device)
}
```

The driver is organized into modules for registers and commands:

- **device**: Main interface for hardware interaction
  - Wraps SPI communication
  - Provides register access methods
  - Handles command execution

- **registers**: Hardware register definitions
  - rf: Frequency, power, etc.
  - packet: Packet handling
  - dio: Digital I/O configuration
  - system: System configuration

- **commands**: Control interface
  - rf: RF/modulation configuration
  - dio: Interrupt control
  - operational: Mode control
  - status: Monitoring and statistics

## License

Licensed under either of:

- Apache License, Version 2.0 ([LICENSE-APACHE]LICENSE-APACHE)
- MIT license ([LICENSE-MIT]LICENSE-MIT)

at your option.