DWM3000EVB Sniffer Config vs DWM1000

Hi everybody

I’m having trouble implementing the sniffer with BW3000. As I see it, it should be matter of matching the provided “rx_sniffer” example with what I’m transmitting, for instance:

TX side and Sniffer side (DW1000)

static dwt_config_t config = {
>     5,                /* Channel number. */
>     DWT_PRF_64M,      /* Pulse repetition frequency. */
>     DWT_PLEN_128,     /* Preamble length. Used in TX only. */
>     DWT_PAC8,         /* Preamble acquisition chunk size. Used in RX only. */
>     9,               /* TX preamble code. Used in TX only. */
>     9,               /* RX preamble code. Used in RX only. */
>     1,                /* 0 to use standard SFD, 1 to use non-standard SFD. */
>     DWT_BR_6M8,       /* Data rate. */
>     DWT_PHRMODE_STD,  /* PHY header mode. */
>     (129 + 8 - 8)     /* SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
> };

Sniffer side (DW3000)

static dwt_config_t config = {
    5,                /* Channel number. */
    DWT_PRF_64M,      /* Pulse repetition frequency. */
    DWT_PLEN_128,     /* Preamble length. Used in TX only. */
    DWT_PAC8,         /* Preamble acquisition chunk size. Used in RX only. */
    9,               /* TX preamble code. Used in TX only. */
    9,               /* RX preamble code. Used in RX only. */
    1,                /* 0 to use standard SFD, 1 to use non-standard SFD. */
    DWT_BR_6M8,       /* Data rate. */
    DWT_PHRMODE_STD,  /* PHY header mode. */
    (129 + 8 - 8),     /* SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
    // DW3000-only CONFIG
    //DWT_SFD_IEEE_4Z,     /*SFD type */
    DWT_PDOA_M0,      /* PDOA mode off */
    DWT_PHRRATE_STD,  /* PHY header rate. */
    DWT_STS_MODE_OFF, /* STS disabled */
    //DWT_STS_LEN_128  /* STS length see allowed values in Enum dwt_sts_lengths_e */

As I use DW1000 I have no problem at all changing communication configuration, I can listen and show received frames. However, when I use DW3000 nothing happens unless I change when the IC will listen for frames. In such case ever frame I get will be invalid the previous parameters.

Has anybody managed to do something similar?

I hope my question is clear enough, thanks in advance !

Hello again,

I managed to make the sniffer work. In one hand was my fault as I didn’t respect the order of the parameters in dwt_config_t but in the other hand SNIFF_ON_TIME parameter has to be set for DWM3000 at 0 (while DWM1000 uses 1).

Hope someone will find this post useful.