This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Regarding PA-LNA in mesh sdk

Hello,

        As nordic has implemented sdk for mesh and i have been using mesh sdk v3.0.0 LIGHT_SWITCH_EXAMPLE but i am facing some problem regarding pa_lna. Actually wt i have done is i send a data and it has to be relayed to particular device so that among many devices in a group it can reach to speicific device and it was implemented successfully but here while i need to receive the advertising packets from different devices it is showing more RSSI .here i am using nrf52832 developed with separate ble boards with different gpio's .so as mentioned by nordic semi related to pa_lna ,the pins were used as 24 and 25 but we are using different gpio's according to our boards.so here we are facing problems that when ever the data is advertising it is showing more RSSI and when ever command/data has been send from client to specific server then suddenly the RSSI shows less .

softdevice S132 and mesh sdk v3.0.0

windows using keil

so i am expecting that both pa_lna has to switch its role frequently but in my case its not happening,only when sending any command its showing less RSSI and the remaining advertising time its been more.

As i couldn't find any other solution related to this . so i hope could anyone help me regarding this problem .it will be so much helpful if i could complete this work with your help.

Thank You.

Parents
  • Hi, 

    Please explain if you have any external hardware PA and LNA on your board ?

    Did you modify anything to enable PA LNA in your code ? 

    Could you explain this: " when ever the data is advertising it is showing more RSSI and when ever command/data has been send from client to specific server then suddenly the RSSI shows less ." . Data is always sending over advertising channel in Mesh. And there isn't an empty data packet, there will always some data in a mesh packet. 

  • Hello,

    Here we are using nRF52832 with skyworks66112 for pa_lna for ble module on our board.

    So related to our board we are using 23 pin for PA and 20 pin for LNA  as shown below

    and by using this pins of our board we have implemented for central and peripheral profiles of nrf sdk by using this call

     static ble_opt_t pa_lna_opts = {
            .common_opt = {
                .pa_lna = {
                                
                    .pa_cfg = {
                        .enable = 1,
                        .active_high = 1,
                        .gpio_pin = APP_PA_PIN
                    },
                                
                                    
                    .lna_cfg = {
                        .enable = 1,
                        .active_high = 1,
                        .gpio_pin = APP_LNA_PIN
                    },
                                    
                    .ppi_ch_id_set = APP_AMP_PPI_CH_ID_SET,
                    .ppi_ch_id_clr = APP_AMP_PPI_CH_ID_CLR,
                    .gpiote_ch_id = APP_AMP_GPIOTE_CH_ID
                }
            }
        };
        NRF_GPIO->DIRSET |= (1 << APP_PA_PIN) | (1 << APP_LNA_PIN) ;
        err_code = sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, &pa_lna_opts);
        APP_ERROR_CHECK(err_code);


    and it used to work fine but whereas coming to sdk mesh pa and lna pins are 24 and 25 for sdk mesh we are using this

     mesh_pa_lna_gpiote_enable(&m_pa_lna_params);

    for mesh pa_lna it is not working

    And about advertising what i meant to say is actually we are advertising our manufacturing data through advertising.Here we have faced a problem is for advertising, the RSSI is showing more so advertising packets is unable to receive to near by device also.

     if( network_flag >= 1)
         {
           mesh_adv_stop();
           mesh_adv_data_set(PROXY_UUID_SERVICE1, buff_data[y++], sizeof(aqua_data));
           mesh_adv_start();

    network_flag = 0;

    }

    the above block of statement is used for advertising and this is happening for every 500msec ,as the flag is set in timer handler for every 500ms and this call is been called in while loop.....

    buff_data[0th location] ,device own data will be advertise

    and in the remaining locations data received by near by devices has to be advertised and for receiving we are using this callback

    void rx_cb(const nrf_mesh_adv_packet_rx_data_t * p_rx_data);

    but because of more RSSI ,if the device is little far from one another it is unable to receive advertising packets

    If i keep the devices very near to each other ,every device advertise all devices data for every 500msec interval.

    here buffer size is 20 bytes so each device advertise 20 bytes of data for 500ms.

    so i hope i have given u the required details regarding my problem and i wish i could solve this issue with your help.

    thank you.

  • Hi,

    can you please suggest me how to use addr2line.exe syntax for checking the error line code.

  • Hi,

    Thank you for the help in pa_lna enabling issue, now it is working.

    Right now i initialised saadc in my application which is getting conflicted with pa_lna channels as in the mesh pa_lna example 

    .ppi_ch_id_set = 0,
    .ppi_ch_id_clr = 1,

    if i am using same channel id's in both the stacks,then my pa_lna is working 

    now my problem is for saadc initalization for my board application i am using three channels 0,1,2 for PPI initializatian

    which are getting conflicted with my pa_lna channels so according my board application i changed the pa_lna channel id to

    .ppi_ch_id_set = 4,//0,
    .ppi_ch_id_clr = 5,//1,

    in both stack then my saadc started working but pa_lna not working properly.

    In our coustom board we physicaly attached adc(0,1,2) pins to our sensors is it possible to change these adc pins 

    please help,

    thank you,

  • Hi, 

    I'm not sure why PALNA wouldn't work on channel 4&5, but can you try change the saadc channel to use PPI channel 4&5&6 instead ? 

  • Thanks for the suggestion, i tried it and it's working 

    Thank you

Reply Children
No Data
Related