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

Configure TLM Frame type by default in Eddystone beacon - SDK 12.2.0

Hi, in the current project I'm working on, I need to develop an Eddystone beacon with UID and TLM frames configured by default. Based on the experimental_eddystone example, there is only one slot (slot 0) for configuring a default frame type. I successfully set it as UID frame type (in example it is URL type) and for configuring TLM frame type by default in slot 1, I modified es_slots.c. When I run the code on nRF51822xxAA and then scanning the device using nRFConnect, I receive both frame types, UID and TLM, but for TLM, voltage and temperature values are missed. However, after 2 and a half minutes, I started receiving voltage and temperature values.

When I test the same code on nRF52DK, TLM frame is OK since power-up so I'm not sure if the issue is related with changes I've made to es_slots.c or is something with ADC handling.

Is there any recommendation on how to set properly more than one slot with a default frame?

EDIT 1:

I've found that beacon starts sending real values of voltage and temperature when adv_cnt is 58-60, it is not time-related. In my first description I had an advertising interval in 5 seconds which results in 2 minutes and a half for 60 adv pkts (2.5 secs * 60 adv pkts = 150 secs). Then I test using 2 seconds as advertising interval, and after a minute, voltage and temperature values sent, were correct (1 sec * 60 adv pkts = 60 secs)

Parents
  • Have you tried adjusting the values es_app_config.h. E.g:

    #define APP_ETLM_DELAY_MS                      300    //!< The delay that is introduced between advertisement slots of type eTLM.
    #define APP_CONFIG_TLM_TEMP_INTERVAL_SECONDS  (30)   //!< How often should the temperature of the beacon be updated when TLM slot is configured.
    #define APP_CONFIG_TLM_VBATT_INTERVAL_SECONDS (30)  //!< How often should the battery voltage of the beacon be updated when TLM slot is configured.
    
Reply
  • Have you tried adjusting the values es_app_config.h. E.g:

    #define APP_ETLM_DELAY_MS                      300    //!< The delay that is introduced between advertisement slots of type eTLM.
    #define APP_CONFIG_TLM_TEMP_INTERVAL_SECONDS  (30)   //!< How often should the temperature of the beacon be updated when TLM slot is configured.
    #define APP_CONFIG_TLM_VBATT_INTERVAL_SECONDS (30)  //!< How often should the battery voltage of the beacon be updated when TLM slot is configured.
    
Children
No Data
Related