Skip to main content

pamoja_lorawan/
version.rs

1//! Which revision of the LoRaWAN 1.0 link layer a device follows.
2
3/// A revision of the LoRaWAN 1.0 link layer specification.
4///
5/// Both revisions frame and secure data the same way, and a network is told which one a
6/// device follows when the device is registered. They differ in a handful of device rules,
7/// and wherever this crate follows one or the other, the documentation says which.
8#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
9pub enum Version {
10    /// LoRaWAN 1.0.3, published in 2018.
11    V1_0_3,
12    /// LoRaWAN L2 1.0.4 (TS001-1.0.4), published in 2020, which settled several rules 1.0.3
13    /// left open: a join nonce that counts rather than repeats at random, a frame counter
14    /// with no gap limit, a staged adaptive data rate back-off, and an answer to every
15    /// `LinkADRReq` rather than one per block.
16    #[default]
17    V1_0_4,
18}