We are using NRF52832 + RFX2411N for our product, and for lower the power consumption. we wonder if there has any way to know the CONNECT_REQ event.
In advertising state, PA chip will be bypassed, when received CONNECT_REQ packet from a central device, then it turn on PA chip.
From SDK 15.2, the BLE_GAP_EVT_CONNECTED is too late to turn PA chip on, but I can't find relate event about CONNECT_REQ packet.
Please give us some suggestion， thanks！
SDK ： nRF5_SDK_15.2.0_9412b96
As far as I know the BLE_GAP_EVT_CONNECTED comes right after we receive and decode the CONNECT_REQ.
Which issue you have when you turn on the PA when BLE_GAP_EVT_CONNECTED arrive ?
I assume you don't use the PA/LNA support from the softdevice ?
I'm not sure why you don't want to use PA when you do advertising ? How would a device far away receive your message ?
Hi Hung Bui,
Thanks for your quick response.
Because we want to optimize the power consumption, currently we set advertising interval to 1 second, and average
power consumption get ~200uA, this is too more for a low power device which use 4 AA batteries. Our product in a metal shield, has a gateway which maybe 5~10 meters away. We assume the advertising packet can be received by gateway in this range.
We use PA/LNA support, and the PA chip RFX2411N has a bypass mode, in bypass mode, the power consumption will ~70uA.
The gateway also has PA chip to extend range, after the gateway send CONNECT_REQ, and device receive this packet,
then set PA chip exit bypass mode, the communication between gateway and device will more reliable.
If you don't have a high requirement on the timing (which I don't see in your use case), what is the issue if you turn on PA/LNA when BLE_GAP_EVT_CONNECTED arrives ?
I don't think you can catch the CONNECT_REQ packet arrival directly on the application.
The BLE_GAP_EVT_CONNECTED maybe too late to turn on PA/LNA, because we has test this implementation on our older production which base on NRF51822, and found out it's not stable to build connection.
If we can't catch the CONNECT_REQ packet from application side, is there has any event earlier than BLE_GAP_EVT_CONNECTED. If no, we may try another solution. Thanks.
Sorry for late reply.
I'm not really sure why BLE_GAP_EVT_CONNECTED could be too late.
Note that when you receive the CONNECT_REQ packet, the communication on both way was without the PA. If that works, the first packet after should most probably work.
We don't have any other event before BLE_GAP_EVT_CONNECTED