Skip to main content

nrf_modem_dect_phy_tx_params

Struct nrf_modem_dect_phy_tx_params 

Source
#[repr(C)]
pub struct nrf_modem_dect_phy_tx_params { pub start_time: u64, pub handle: u32, pub network_id: u32, pub phy_type: u8, pub lbt_rssi_threshold_max: i8, pub carrier: u16, pub lbt_period: u32, pub phy_header: *mut nrf_modem_dect_phy_hdr, pub bs_cqi: u8, pub data: *mut u8, pub data_size: u32, }
Expand description

TX operation.

Fields§

§start_time: u64

Operation start time as modem time.

If zero, the operation will be executed immediately.

This kind of scheduling can only be done when the modem is idle.

§handle: u32

Handle for the operation.

An application-defined handle for the operation.

§network_id: u32

Network ID for scrambling.

Must not be zero.

§phy_type: u8

Physical layer control field type.

Valid values are 0 and 1 corresponding Type 1 and Type 2.

See 6.2.1 of @ref DECT-SPEC “DECT-2020 NR Part 4”.

§lbt_rssi_threshold_max: i8

Listen before talk maximum RSSI threshold, in dBm.

The measured RSSI-1 needs to be smaller than this value for the channel to be considered available for TX.

@note RSSI measurements during LBT are quantized to implementation defined limits, so the value given here may not be exactly the applied LBT RSSI threshold.

See 5.1.2 of @ref DECT-SPEC “DECT-2020 NR Part 4”.

§carrier: u16

The absolute channel frequency number for the transmission.

See 5.4.2 of @ref DECT-SPEC “DECT-2020 NR Part 2”.

@warning You must ensure that you are complying with applicable regulations when transmitting. If you are operating your device in Europe, you must refer to table 4.3.2.3-2 of @ref DECT-SPEC “DECT Harmonised Standard”. If you are operating your device in the United States, you must refer to @ref DECT-SPEC “47 CFR Part 15.323”.

§lbt_period: u32

Listen before talk period in modem time units.

This is the required duration for the channel to be assessed as “free” or “available” before starting transmission. This duration is divided into as many as 64 separate integration periods, with each period being a multiple of the symbol duration. Each integration period is of equal length, up to a maximum of 7 symbols. The maximum number of integration periods is utilized. For instance, LBT durations of up to 64 symbols are divided into integration periods of one symbol each, and LBT durations of 65-128 symbols are divided into two-symbol integration periods. The LBT duration may be adjusted slightly to meet these requirements without exceeding the specified LBT length, for example, a duration of 71 symbols would be adjusted to 70 symbols (35 periods of 2 symbols each).

If the channel is initially found to be “busy,” the modem will cease further measurement of the channel and will report an error instead. It is then the responsibility of the higher layer to reschedule the transmission.

If set to zero, LBT is not used. Otherwise the acceptable value range is [@ref NRF_MODEM_DECT_LBT_PERIOD_MIN, @ref NRF_MODEM_DECT_LBT_PERIOD_MAX].

§phy_header: *mut nrf_modem_dect_phy_hdr

Physical header corresponding to the physical layer control field type.

§bs_cqi: u8

Buffer status and channel quality indicator.

Only used for HARQ transmissions, with @ref nrf_modem_dect_phy_tx_harq.

Set to @ref NRF_MODEM_DECT_PHY_BS_CQI_NOT_USED otherwise.

See 6.2.2-3 and 6.2.2-4 of @ref DECT-SPEC “DECT-2020 NR Part 4”.

§data: *mut u8

The data to be sent.

§data_size: u32

Size of the data in bytes.

Trait Implementations§

Source§

impl Clone for nrf_modem_dect_phy_tx_params

Source§

fn clone(&self) -> nrf_modem_dect_phy_tx_params

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for nrf_modem_dect_phy_tx_params

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for nrf_modem_dect_phy_tx_params

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.