infineon / wifi-connection-manager Goto Github PK
View Code? Open in Web Editor NEWThis library provides a set of APIs that are useful to establish and monitor Wi-Fi connections on Cypress platforms that support Wi-Fi connectivity
License: Other
This library provides a set of APIs that are useful to establish and monitor Wi-Fi connections on Cypress platforms that support Wi-Fi connectivity
License: Other
Description:
All WCM API return assertion of code snippet 9 (in the docs) are wrong:
https://github.com/Infineon/wifi-connection-manager/blob/master/docs/api_reference_manual/html/index.html#L946-L1218
if (result == CY_RSLT_SUCCESS)
{
...
return;
}
should be
if (result != CY_RSLT_SUCCESS)
{
...
return;
}
Have you looked for an answer?
Documentation and seached online
Question/Issue:
The question is related to how to disconnect from an access point meanwhile a lot of data is being sent (to me).
What can we help you with?
So, I´m connected to a "server" using udp. I´ve decided to disconnect and call cy_wcm_deinit().
Sometimes this function works as expected and it may take anywhere from 500ms-1000ms to disconnect.
Once in a while it take very long time, 15-20sec. I can see that the underlying threads keep pumping data into the lwIP stack (using debug logs)
Is there someway to avoid this state?
Context
LBEE5PK2AE chip
STM32CubeIde with STM32-Connectivity 1.2.0
Where did you expect to find the answer?
Online
Prerequisites
Can you reproduce the problem reliably?
yes
Did you check current release notes for known issues?
yes
If this is not the latest release, have you checked newer releases?
Description:
There are few places in the cy_wcm.c in \COMPONENT_LWIP which call cy_worker_thread_enqueue() to add callback and local variable as parameter, the local variable (cy_wcm_event_t) will soon be invalid after take out by cy_rtos_get_queue for dispatcher from cy_worker_thread_func() in cy_worker_thread.c. this issue will lead unexpected value of cy_wcm_event_t.
Steps to Reproduce:
add register after success of cy_wcm_init():
cy_wcm_register_event_callback(my_call_back_func);
we won't get proper event value such as CY_WCM_EVENT_CONNECTED, etc.
Expected Result:
we should get all valid belong to cy_wcm_event_t event value such as CY_WCM_EVENT_CONNECTED, etc.
Actual Result:
we won't get CY_WCM_EVENT_CONNECTED, instead, it give us invalid value which is out of range cy_wcm_event_t.
Frequency (1/1, 1/50, 1/100):
1/1
Build/Commit:
Target:
STM32H7 with ThreadX+Lwip
Compiler:
IAR 8.50
My fix:
where call cy_worker_thread_enqueue() with non-NULL parameter of *arg, make this local variable as staic, example in
function internal_scan_callback() change
uint32_t scan_status; ----> static uint32_t scan_status;
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.