pub struct Board {
pub amplifier: PowerAmplifier,
pub tcxo: Option<(TcxoVoltage, u32)>,
pub dio2_rf_switch: bool,
pub regulator: RegulatorMode,
pub llcc68: bool,
}Expand description
How a module wires its SX126x: the amplifier, the clock, the antenna switch, and the regulator.
The SPI interface cannot tell an SX1261 from an SX1262 or an LLCC68, and it cannot see the parts around the chip, so these come from the module’s schematic.
§Examples
use pamoja_radios::sx126x::config::{PowerAmplifier, RegulatorMode, TcxoVoltage};
use pamoja_radios::sx126x::Board;
// An SX1262 clocked by a 1.8 V TCXO that settles in 5 ms, with DIO2 on the antenna switch.
let board = Board::new(PowerAmplifier::HighPower)
.with_tcxo(TcxoVoltage::V1_8, 5_000)
.with_dio2_rf_switch()
.with_dc_dc();
assert_eq!(board.regulator, RegulatorMode::DcDc);Fields§
§amplifier: PowerAmplifierThe power amplifier: PowerAmplifier::LowPower for the SX1261 and
PowerAmplifier::HighPower for the SX1262 and the LLCC68.
tcxo: Option<(TcxoVoltage, u32)>The voltage DIO3 supplies a TCXO with, and how long the TCXO takes to settle in microseconds, for a module clocked by a TCXO rather than a crystal.
dio2_rf_switch: boolWhether DIO2 drives the antenna switch, high while transmitting (section 13.3.5).
regulator: RegulatorModeThe regulator: the DC-DC converter where the module fits its inductor, else the LDO.
llcc68: boolWhether the chip is an LLCC68, which Sx126x::configure holds to the spreading
factors and bandwidths llcc68_supports allows.