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

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.

So here's a research topic for you.

Just like this board closing a thread for inactivity after a week, does BLE close connections for inactivity, and if so, what is the time interval?

Also, does your sleep technique induce amnesia?

There was a movie about a man whose wife got amnesia each night and he had to reintroduce himself to her each morning, seduce and marry her each day.

Does the chip forget its connection?

so you implicitly saying the reconnection problem is to be fixed in my chip and also as I have already said If my chip has amnesia then why it is reconnecting(my problem is why it is not reconnecting after 10 seconds wakeup time)

I have no answers, only questions.

So far, it think this is a really strange discussion. You have a BLE device that sends ADC values.
How does it work?
Are you able to get an ADC value once? What does ADC mean, it is a value of what?
How are you requesting the value? using UART?

Do you expect your app to stay on indefinetely? That is not possible without much more work.

If your device sends values all by itself, then you should use an event block to catch the values, not a timer, like this one:

If the BLE device takes the initiative, you never need to disconnect, but as said you will have problems keeping your app running, unless you use one of those notifier or background operation extensions.

so what is the thing I need to do can u show with examole and also is there a way to debug the app

I don't know what examole is.
Anyway, go back to something that works, but first of all update your BLE extension.
Make a copy of your app by using saveAs and then import the latest BLE extension (see it here): Extension updates
Just download it and import as you did before, it will automatically update the older version.

Then, wipe out everything in your app except the code for connecting the device.
Just use the companion and do not build the app for now. It makes your life a whole lot simpler.

In your screenshot you have indeed some blocks to recieve values from the device, but do you ever get any values?

If that works, ask yourself, how does the communication with my device work? Do you send it a request, if yes how? If not, how is the device supposed to communicate?

If your story is right, you just use the bytesrecieved block and you should see new values appear every 10 seconds.

Maybe you can point to the doc of your device.