DECT NR+ Data Length Limitation

I am transmitting a buffer of 300 bytes over DECT NR+ connection. The transmitting device is an nrf9151dk running the DECT NR+ modem FW 1.0.1. The receiving device is an nrf9161DK with the same modem FW.

Both are running the DECT NR+ PHY Hello sample program, with slight modifications. Below is a summary of the modifications.

The transmitting device is transmitting a buffer as below:

uint8_t buffer[2048];
        for (int i = 0; i < sizeof(buffer); i++)
        {
            buffer[i] = 'A' + i;
        }

        int err = transmit(0, buffer, 300);
        if (err)
        {
            LOG_ERR("Transmission failed, err %d", err);
            return err;
        }
        LOG_INF("Transmission successful");
where the transmit function is unchanged from the PHY Hello sample.
The receiving device is logging the length of the buffer that is received in addition to writing the data to the log in the pdc handler, as below:
/* Physical Data Channel reception notification. */
static void pdc(const uint64_t *time,
                const struct nrf_modem_dect_phy_rx_pdc_status *status,
                const void *data, uint32_t len)
{
    /* Received RSSI value is in fixed precision format Q14.1 */
    LOG_INF("Received data (RSSI: %d.%d): %s - Len:%u", (status->rssi_2 / 2),
            (status->rssi_2 & 0b1) * 5, (char *)data, len);
}
My problem is that I am consistently receiving only the first 37 characters in this buffer on the receiving device. Below is a screenshot of the Log entry that is created by the pdc handler on the receiving device:
The op_complete handler is not returning any error on the transmitting device. Below is the Log entry from the Operation Complete handler on the transmitting device:
 
The devices are physically located next to each other.
Could you please guide me through why I may be losing the rest of the data during transmission? Is there a limit to how much data can be transferred over one transmit call?
Parents
  • Hi,

    If you have not changed the sample's modulation scheme, it has the value of 1 as can be seen from the sample's Kconfig file. If you further look at transmission length in the documentation, you can see that the value of 37x8=296 is the value that is given in the table "Bits per subslot index with given modulation scheme" for Modulation Coding Scheme (MCS) with value 1. You could try to change MCS to some other larger value than 1. You can find possible values in the mentioned table.

    Best regards,
    Dejan

Reply
  • Hi,

    If you have not changed the sample's modulation scheme, it has the value of 1 as can be seen from the sample's Kconfig file. If you further look at transmission length in the documentation, you can see that the value of 37x8=296 is the value that is given in the table "Bits per subslot index with given modulation scheme" for Modulation Coding Scheme (MCS) with value 1. You could try to change MCS to some other larger value than 1. You can find possible values in the mentioned table.

    Best regards,
    Dejan

Children
No Data
Related