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

Problem with connection

Hi, I created firmware to nRF51822 Development Kit but I have a problem with connection. PCA10004 board is programmed to advertising packets whole the time and measure battery voltage level every hour (APP_TIMER_PRESCALER 8, BATTERY_LEVEL_MEAS_INTERVAL APP_TIMER_TICKS(3600000, APP_TIMER_PRESCALER)) but from time to time I am connecting with it by USB dongle to read values from services. Everything works fine in short period after flash programing, but there is a problem after few hours or when I leave board to next day because I can't connect with it then. From Master Control Panel i am getting this logs:

[14:58:19.8] ConnectToDevice() [14:58:20.4] ---------------------------- [14:58:20.4] Received Connection Parameter Update Request [14:58:20.4] Connected to device [14:58:20.4] Role: 0 [14:58:20.4] PeerAddressType: 1 [14:58:20.4] PeerAddress (MSB): D2C54EA47F0C [14:58:20.4] Connection Interval: 20.0ms [14:58:20.4] Connection Latency: 0 [14:58:20.4] Supervision Timeout: 3000ms [14:58:20.4] Clock Accuracy: (1) [14:58:20.4] ---------------------------- [14:58:20.4] Connected to D2C54EA47F0C [14:58:20.4] Lost connection to device. Reason: BTLE_REMOTE_USER_TERMINATED_CONNECTION [14:58:20.4] ConnectionParameterUpdateResponse sent with ACCEPTED response [14:58:20.4] Connection Parameters Update sent. ConnInterval:40.0ms, SlaveLatency:0, SupervisionTimeout:4000.0ms [14:58:20.4] SERVER: Received packet <HciEvent: eventCode=0x0A> - <HciEvent: eventCode=0x0A> [14:58:20.4] SERVER: Received Link Loss

I have to make power reset and then everything works fine but after some time the whole situation has repeated. Do you have any idea whan can cause this problem?

Best regards,

P.S. I'm using softdevice 6.0 with SDK 5.1.

Parents
  • As Balaji points out, it seems as if your application immediately disconnects on connection, so there seem to be some problem with the way your applicaiton handles this timer. If you can find the problem, can you please supply the complete code project you're working with, either by uploading it here or creating a regular support case?

    However, I'd also like to point out that given connection interval equal to the advertising interval, it's much cheaper power-wise to stay in a connection than advertising. The reason is that staying in a connection will keep all communication on one channel, while advertising will send and receive on all three advertising channels. You therefore may want to reconsider this timer, if not strictly needed.

Reply
  • As Balaji points out, it seems as if your application immediately disconnects on connection, so there seem to be some problem with the way your applicaiton handles this timer. If you can find the problem, can you please supply the complete code project you're working with, either by uploading it here or creating a regular support case?

    However, I'd also like to point out that given connection interval equal to the advertising interval, it's much cheaper power-wise to stay in a connection than advertising. The reason is that staying in a connection will keep all communication on one channel, while advertising will send and receive on all three advertising channels. You therefore may want to reconsider this timer, if not strictly needed.

Children
No Data
Related