Laird Sterling Wi-Fi Performance

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

cross mob
MaDo_4749886
Level 1
Level 1
First reply posted First question asked Welcome!

Hello,

I have implemented an example web application based on the angular framework which I would like to host on the Laird EWB platform.
So far I´ve managed to place all web resources (roughly 1.2 MByte) on the extrnal 2MByte SPI Flash and link them to the http server via the read only filesystem.
I can access the page using a http browser but the Wi-Fi performance is questionable:
-> Accessing the main .js file (~450kByte) while the EWB is configured as client in my home network takes roughly 75 seconds. (equals 6.3 kByte per second)
-> Accessing the same file while the EWB acts as access point any my Laptop is connected to it takes even 2 minutes. (equals 4 kByte per second)

Are these numbers reasonable or is there an issure with my demo application?

I am using WICED_SECURITY_WPA2_AES_PSK and standard http (not https) server (libraries\daemons\HTTP_server) with WICED Studio 6.6. There are no other devices connected to the access point and the web browser runs on my laptop and is surely fast enough. The demo is based on /snip/http_server_sent_events example without much modifications. The make target configuration is LAIRD_EWB-FreeRTOS-LwiP-SDIO download run

 

Thanks,

Martin

0 Likes
1 Solution

To be completely sure of what you are looking at or what feature that you want for the project to help you decide, it is better to look at the official documentation provided by the respective vendors.

This thread on reddit https://www.reddit.com/r/embedded/comments/hh7bvj/threadx_azure_vs_freertos/ has kind of listed out the differences, but its highly recommended that you go by the official documentation

View solution in original post

0 Likes
4 Replies
MaDo_4749886
Level 1
Level 1
First reply posted First question asked Welcome!

Update:

I just repeated the experiment using ThreadX RTOS and NetX TCP/IP stack and the loading times decreased to ~7 seconds independent of AP or STA role.

How can this difference in performance be explained and where is it documented?

0 Likes

@MaDo_4749886 

I had read on some blogs sometime in the past saying that ThreadX does provide better numbers than FreeRTOS. Although we haven't physically tested this out, this maybe one of the reasons why you are seeing better numbers when using ThreadX.

If available, can you carry out these tests in an RF chamber and check out the numbers that you get.

Also, you can carry out iperf tests using the test.console app and if this yields, the required numbers in your environment, the application that you are using may have to be optimized to yield better results.

 

Thanks

0 Likes

Are the differences between ThreadX and FreeRTOS documented anywhere? Or on what basis should a developer decide which OS/Stack combination is better suited for the project?

Regarding performance, it seemed to help to re-write the wiced_http_response_stream_write_resource(). Originally, it just allocated as much heap as it could, basically blocking the whole system. Reducing the allocation to chunk sizes of max. 32 kByte seemed to stabilize the system.

0 Likes

To be completely sure of what you are looking at or what feature that you want for the project to help you decide, it is better to look at the official documentation provided by the respective vendors.

This thread on reddit https://www.reddit.com/r/embedded/comments/hh7bvj/threadx_azure_vs_freertos/ has kind of listed out the differences, but its highly recommended that you go by the official documentation

0 Likes