How to receive the instant timestamp of ADC value received for BLE

Hi all,
I'm having doubt regarding getting the timestamp of a value that is received from a module. How can I get the timestamp? And how can i use this to plot the chart.

Remove the BLE_Operations call from the bytes received event.

Use the clock timer code there.

1 Like

Hello Anandan

We would need to see the code that sends the time stamp to your App. What is the BLE Device? A microcontroller (Arduino, ESP32 etc)? What is the exact name/model of the device and the exact name/model of the Bluetooth module?

ok thanks for the reply,
I have managed the construct graph as per my need, but the issue Iam facing is my device wakes up from sleep after every 10 seconds and sends the ADC value . So I need to reconnect my app to the device precisely after 10 seconds. But its taking more than that and not connecting consistently. How should I fix this.

Hi there,
Seems there is a delay in response for my query. can u please make it fast.

Why do you insist on disconnecting after each incoming list of bytes?

I blame the poorly named procedure BLE Operations, which lacks a verb in its name to express its purpose.

A procedure should have one job, not a sinecure.

Hi there,
I have tried removing Ble operations but still face the same issue that my Ble fails to connect to module after 10 sec.

Show us everything

Hi,
thanks for the reply this is the new code

If you post the code from that device, maybe that behavior can be changed?

Hi,
this how the app works Iam not able to get a constant timestamp after reconnecting

Your graph looks fine to me.

Were you expecting constant intervals on the x axis?

Life is fuzzy.

Hi
here my device sends data and goes to sleep and wakes up after every 10 second so Iam expecting my graph to plot the values after every 10 seconds.

You never answered How to receive the instant timestamp of ADC value received for BLE - #4 by ChrisWard

The device Iam using is DA14531(Dialog RENESAS)and also Iam not sending the timestamp from my device Iam using the phone's instant time when the value is received.

rtc_time_t time = {.hour_mode = RTC_HOUR_MODE_24H, .pm_flag = 0, .hour = 11,
.minute = 55, .sec = 30, .hsec = 00};

// Alarm interrupt in ten seconds
alarm_time = time;
alarm_time.sec += 10;

// Initialize RTC, set time and data, register interrupt handler callback function and enable seconds interrupt
rtc_init(&cfg);

it is the code for waking up the device after 10 seconds. and the device can be found in the list picker after 10 seconds(I mean in the scanned device list)but why it is not reconnecting after 10 second. Actually the app is waking up after 10 seconds. I confirmed it with other apps.

So you have code for the transmitter side.

I am guessing the transmission side is doing something to say Goodbye to the app every ten seconds.

Without all the source codes, it's only a guess.

This is a very well documented module.

In browsing the documentation, I came across several topics that might lead to solutions:

  • sleep (3 types)
  • hibernate
  • advertise

I'm not a BLE expert, so I don't know how long BLE connections persist without data traffic.

How do you power your module, and how important to you is it to let it sleep or hibernate?

Hi thanks for the reply,
I power up my module using a button cell. Each sleep is to reduce power consumption.