6 releases
0.1.5 | Nov 11, 2024 |
---|---|
0.1.4 | Jan 20, 2024 |
0.1.3 | Oct 11, 2023 |
0.1.2 | Sep 14, 2023 |
#482 in Embedded development
192 downloads per month
Used in 4 crates
(3 directly)
13KB
212 lines
lora-modulation
A minimal crate for providing LoRa modulation characteristics of:
- Bandwidth
- Spreading factor
- Coding rate
Provides utility for calculating time on air.
Usage
use lora_modulation::{BaseBandModulationParams, SpreadingFactor, Bandwidth, CodingRate};
let length = 12;
let params = BaseBandModulationParams::new(SpreadingFactor::_9, Bandwidth::_125KHz, CodingRate::_4_5);
let time_on_air = params.time_on_air_us(
Some(8), // preamble
true, // explicit header
length); // length of payload
// Time on air is 144.384 ms
assert_eq!(time_on_air, 144384);
use lora_modulation::{BaseBandModulationParams, SpreadingFactor, Bandwidth, CodingRate};
let symbols = 14;
let params = BaseBandModulationParams::new(SpreadingFactor::_12, Bandwidth::_125KHz, CodingRate::_4_5);
let timeout = params.symbols_to_ms(symbols);
// Timeout is 458 ms
assert_eq!(timeout, 458);
Dependencies
~215KB