arduino / arduino/ArduinoCore-samd
Major performance issue with MKR4000 vidor compared to MKR1000 doing fine
- Dominant language
- C
- Stars
- 502
- Forks
- 740
- PR merge metrics
- No merged PRs in 30d
Description
I performed the following profiling on my sketch, MKR4000 vs MKR1000. The sketch used is the very same on MKR4000 and MK1000, except for conditional compilation to include the right WiFi header file for both platforms.
> Board Name | FirmWare | Library | Time
> MKR4000 | 1.1.0 | 1.0.0 | doesn't compile
> | 1.1.0 | 1.1.0 | 15,3 sec
> | 1.1.0 | 1.2.0 | 15,3 sec
> | 1.1.0 | 1.3.0 | 14,7 sec
> | 1.1.0 | 1.4.0 | 14,7 sec
> | 1.1.0 | 1.5.0 | **14,7 sec**
> MKR1000 | 1.1.0 | 0.16.0 | **0,3 sec**
>
Vidor Wifi is about 50 (yes: fifty!!) times slower on MKR4000, compared MK1000!
I closed the door to several potential issues, namely : my code, CPU speed, RSSI etc...
Having read a lot of things about the history of this issue on the MKR4000 in Arduino's forum and in other places, my guess is that this is really either a WiFiNINA library issue, either as I read (I didn't check yet), caused by the board design that makes data path between the CPU and the NINA chip going through the FPGA (an issue or the design, due to FPGA related constrains?).
More complete description: https://forum.arduino.cc/index.php?topic=681564.0
Do you confirm this issue?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the reported profiling sketch on the MKR4000 and MKR1000, using the listed firmware and WiFi library versions. Compare the WiFiNINA library path and the board's CPU-to-NINA data path through the FPGA; done means identifying and documenting the source of the performance difference.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100