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

Adapting BLE Eddystone Beacon Example

Good day,

I wish to adapt the Eddystone Beacon example for nRF51822 with S130 in e.g.:

..\nRF5_SDK_12.3.0\examples\ble_peripheral\ble_app_beacon\pca10028\s130\armgcc

as follows:

1)  Configure slot 1 as TLM in the application code (retain slot 0 as default URL);

2)  Disable 'connectability' in the code (as per step 1 above, this will no longer be required);

3)  Increase period between transmissions

all in order to reduce power consumption.

Please provide information as to how/where to implement the above changes.

Thank you.

Regards

Jacques

  • Hi

    I sincerly apologize for the very late reply. This one fell through the cracks. Are you still having issues with the Eddystone example?

    Best regards

    Bjørn

  • No problem Bjørn,

    I am using my beacons as described above, but would like to have the possibilities outlined above i.e.

    - TLM frames also able to transmit -30dBm like one can with URL frames
    - increase the interframe period to longer than 10.23 seconds

    Possibly the Eddystone specification is prescriptive in this regard, so cannot be changed?

    Thank you 
    Regards
    Jacques

  • Hi Bjørn

    I assume no further update means you're unable to recreate the issue?

    I decided to try the following:

    In ..\examples\ble_peripheral\ble_app_eddystone\es_app_config.h set the value of DEFAULT_FRAME_TX_POWER to 0xEC which is -20dBm and recompile.  This seems to have caused the NRF Beacon for Eddystone Android app to show -20dBm for the TLM framem, and can be adjusted to other values.

    However this experience was short-lived, so still trying to recreate the steps to have consistent results  I am beginning to think that either the Android app has a bug, or is problematic on the 2 Android versions I am using (4.3 and latest) on 3 different phone models (Huawei phone, Huawei tablet and Moto G5).

    In the meantime please let me know how I can change es_app_config.h to only have slot 0 send out TLM frame at -20dBm (i.e. nothing in slots 1 to 4)?

    Thank you

    Jacques

    EDIT:

    Solution probably as follows: in es_app_config.h:
    - under "// Eddystone URL data" add 2 new lines:
    #define APP_ES_TLM_FRAME_TYPE ES_FRAME_TYPE_TLM
    #define DEFAULT_FRAME_TYPE APP_ES_TLM_FRAME_TYPE
    - change default power:
    #define DEFAULT_FRAME_TX_POWER 0xEC <<< or whatever power level

    I will try that tonight.

    EDIT2:

    The changes above did the trick in nRF5_SDK_15.3.0_59ac345 on my nRF52-DK, but on my nRF51422 (PCA10028) beacon the power setting stays on 0dBm (using S130 and nRF5_SDK_12.3.0)...

    EDIT3:

    I finally found nrf_ble_es.c in nRF5_SDK_12.3.0 where radio_tx_pwr is set to 0.  I changed that to DEFAULT_FRAME_TX_POWER so now my TLM beacon transmits at -20dBm on start-up.

Related