cancel
Showing results for 
Search instead for 
Did you mean: 

ModusToolbox Bluetooth SDK

YoTa_1693656
Valued Contributor

Hello Cypress IoT team

We evaluate CYW20819 with ModusToolBox for their next products. Let us confirm about timeout_ms in "wiced_rtos_wait_for_event_flags".

==

wiced_result_t wiced_rtos_wait_for_event_flags ( wiced_event_flags_t * event_flags,

uint32_t flags_to_wait_for,

uint32_t * flags_set,

wiced_bool_t clear_set_flags,

wiced_event_flags_wait_option_t wait_option,

uint32_t timeout_ms

)

・・・

[in] timeout_ms milliseconds to block

==

[Question]

According to the above description, the unit of timeout_ms is msec.

However, under our evaluation, the unit looks like 10 msec actually. Is it expected behavior?

==example==

timeout_ms = 50

The timeout seems to occur per 500 msec actually. (Not 50msec.)

===========

Thanks,

Yoshinori

0 Likes
1 Solution
DheerajPK_41
Moderator
Moderator

Hi YoTa_1693656 ,

I could reproduce similar issue at my side regarding the msec timeout. I believe, the issue is with the API which is not accurately setting the timeout. You can workaround by factoring it down to an appropriate value.

We will communicate the issue with our software team and will be fixing it in the future software releases.

Thanks,

-Dheeraj

View solution in original post

3 Replies
DheerajPK_41
Moderator
Moderator

Hi Yoshinori Takano,

It seems to be msec only. Not 10msec.

How did you evaluate it? Could you please share your code with me, so that I can take a look at it.

Thanks,

-Dheeraj

0 Likes
YoTa_1693656
Valued Contributor

Hello Dheeraj-san

We tried to evaluate it with an attachment source code. The timeout value sets 50 msec, we expected that LED1 blinked per 50 mesc. But actual behavior looks like 500 msec. It was observed by oscilloscope.

====

static void threadFunctionBlinkLed(uint32_t arg ){

int count = 1;

for(;;){

uint32_t flagSet;

wiced_rtos_wait_for_event_flags(eventHandleBlinkLed, 1, &flagSet, WICED_TRUE, WAIT_FOR_ANY_EVENT, 50);

count ^= 1;

wiced_hal_gpio_set_pin_output(WICED_GET_PIN_FOR_LED(1), count);

}

}

====

Thanks,

Yoshinori

0 Likes
DheerajPK_41
Moderator
Moderator

Hi YoTa_1693656 ,

I could reproduce similar issue at my side regarding the msec timeout. I believe, the issue is with the API which is not accurately setting the timeout. You can workaround by factoring it down to an appropriate value.

We will communicate the issue with our software team and will be fixing it in the future software releases.

Thanks,

-Dheeraj

View solution in original post