Timers freeze after about 1 sec.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi, I am using the timer startup as used in most of the sample apps by inserting the following two lines in the _create() function:

    bleprofile_regTimerCb(temperature_sensor_fine_timeouty, temperature_sensor_timeout);

    bleprofile_StartTimer();

The fine timer is set to 100ms in the BLE_PROFILE_CFG:

        /*.fine_timer_interval            =*/ 100,  // ms

I use the fine timer for running all the repetitive tasks that need to occur at a regular interval. The normal timer (which I think is always set to 1 sec), using the temperature_sensor_timeout callback, is an empty function.

The problem that I am facing is that the custom 20736 board runs normally for about 1 sec, and then it freezes. A copy of the debug trace is included below. One thing that I noticed in the trace is that normal timer shows a setting of 0 sec:

        15:46:21   Normal Timer(0 s, 0 tick)

Is this how it is supposed to show up? What is the reason for timers to lock up? I have spent plenty of hours looking through the discussions and trying various alternatives, but nothing seems to work, and so I am stuck with this issue.

I also upgraded SDK from 2.1.1 to 2.2.1, but that did not change the outcome.

Please help!!

hanks.

Debug Trace:

==========

15:46:21 - temperature_sensor_create()

15:46:21 -

15:46:21 - 0118

15:46:21 - 0018

15:46:21 - 021600002a

15:46:21 - 326e6445645f556c747261536f756e64

15:46:21 - 021800012a

15:46:21 - 0002

15:46:21 - Writing LED Driver registers ...

15:46:21 - LED Driver init complete

15:46:21 -

15:46:21 - Reading identification registers...

15:46:21 - Temp. Sensor Manufacturer ID returned    0

15:46:21 -

15:46:21 - Temp. Sensor device ID =  0

15:46:21 -    Rev. ID =  0

15:46:21 -

15:46:21 - Configuring Temp. Sensor...

15:46:21 -

15:46:21 - Configuring Upper and Lower threshold registers...

15:46:21 -

15:46:21 - Setting up resolution

15:46:21 -

15:46:21 - Temp. Sensor init complete

15:46:21 -

15:46:21 - Initializing various functions, ports, and peripherals.

15:46:21 -

15:46:21 - 0201061109326e6445645f556c747261

15:46:21 - 536f756e64

15:46:21 - 020a04

15:46:21 -

15:46:21 - blecm evt handler:

15:46:21 - 0e0401082000

15:46:21 -

15:46:21 - blecm evt handler:

15:46:21 - 0e0401092000

15:46:21   Trace Decoding Error - Could not find line number 314

15:46:21   Perm  : 0002

15:46:21   Len, Max Len : 0010, 0010

15:46:21   UUID  : 2A00

15:46:21   Attribute bytes

15:46:21   Handle: 0017

15:46:21   Perm  : 0002

15:46:21   Len, Max Len : 0005, 0005

15:46:21   UUID  : 2803

15:46:21   Attribute bytes

15:46:21   Handle: 0018

15:46:21   Perm  : 0002

15:46:21   Len, Max Len : 0002, 0002

15:46:21   UUID  : 2A01

15:46:21   Attribute bytes

15:46:21   Gatt DB Dump complete

15:46:21   bd_addr[5:2] = 20 73 6A 1E

15:46:21   bd_addr[1:0] = C181 00

15:46:21   GPIO 0001 (11)

15:46:21   GPIO 0014 (104)

15:46:21   GPIO 0025 (1003)

15:46:21   GPIO 0015 (20)

15:46:21   GPIO 0027 (2001)

15:46:21   Interrupt mask[0,1]:4000 0000

15:46:21   Interrupt mask[2]:0000

15:46:21   GPIO_WP:OFF= 00

15:46:21   GPIOBTN1:OFF=1,INT:0

15:46:21   GPIO_LED:OFF=1

15:46:21   GPIOBAT

15:46:21   GPIO_BUZ:OFF=0

15:46:21   Fine Timer(100 ms, 10/sec)

15:46:21   Fine TImer tick 8

15:46:21   Normal Timer(0 s, 0 tick)

15:46:21 - hello_sensor_fine_timeout:1

15:46:21 -

15:46:21 - Starting new temperature measurement.

15:46:21 -

15:46:21 - Power Button read value = 1

15:46:21 -

15:46:21 - UP/DOWN Button read value = 1

15:46:21 -

15:46:21 - Power setting read value = 0

15:46:21 -

15:46:21 - Current Temperature Setting = 36

15:46:21 -

15:46:21 - Temp. Sensor Manufacturer ID returned    0

15:46:21 -

15:46:21 - Temp. Sensor device ID =  0

15:46:21 -    Rev. ID =  0

15:46:21 -

15:46:21 - MCP9808 Temperature Register raw data returned 0

15:46:21 -

15:46:21 - The current temperature is: 0 degrees C

15:46:21 - Heater output turned OFF

15:46:21 - hello_sensor_fine_timeout:2

15:46:21 -

15:46:21 - Starting new temperature measurement.

15:46:21 -

15:46:21 - Power Button read value = 1

15:46:21 -

15:46:21 - UP/DOWN Button read value = 1

15:46:21 -

15:46:21 - Power setting read value = 0

15:46:21 -

15:46:21 - Current Temperature Setting = 36

15:46:21 -

15:46:21 - Temp. Sensor Manufacturer ID returned    0

15:46:21 -

15:46:21 - Temp. Sensor device ID =  0

15:46:21 -    Rev. ID =  0

15:46:21 -

15:46:21 - MCP9808 Temperature Register raw data returned 0

15:46:21 -

15:46:21 - The current temperature is: 0 degrees C

15:46:21 - Heater output turned OFF

15:46:21 - hello_sensor_fine_timeout:3

15:46:21 -

15:46:21 - Starting new temperature measurement.

15:46:21 -

15:46:21 - Power Button read value = 1

15:46:21 -

15:46:21 - UP/DOWN Button read value = 1

15:46:21 -

15:46:21 - Power setting read value = 0

15:46:21 -

15:46:21 - Current Temperature Setting = 36

15:46:21 -

15:46:21 - Temp. Sensor Manufacturer ID returned    0

15:46:21 -

15:46:21 - Temp. Sensor device ID =  0

15:46:21 -    Rev. ID =  0

15:46:21 -

15:46:21 - MCP9808 Temperature Register raw data returned 0

15:46:21 -

15:46:21 - The current temperature is: 0 degrees C

15:46:21 - Heater output turned OFF

Debug trace freezes at this point.

0 Likes
1 Solution
Anonymous
Not applicable
0 Likes
2 Replies
Anonymous
Not applicable

vahuja49 can you try crystal warm up workaround described here by JT?

Re: WICED Sense board stops advertising after first few advertising events

0 Likes
Anonymous
Not applicable

vahuja49

did you get a chance to try the crystal warm up workaround?

0 Likes