-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
ports/renesas-ra: Add support for Portenta C33. #11405
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ports/renesas-ra: Add support for Portenta C33. #11405
Conversation
aab6c1b
to
9ef7b76
Compare
When VK-RA6M5 is merged, how much will this board have in common with that one, in the I notice that |
That depends on how similar the project configs are, all of those files are auto-generated based on the chip, package, project settings, enabled stacks/peripherals etc.. I guess maybe one very generic project per chip/series can be generated, and shared, but somehow it must enable/support everything that could be needed by all boards that use it. |
See #11590 for a start at reducing the amount of code in the board directories. I would like to simplify things a lot more before adding support for new boards, so those new boards can be much simpler. |
That's okay I'm still waiting on all of the deps above (updated), and btw I'm going to add networking support in this PR for this board/port via lwip, it's going to use raw eth <-> esp. |
Adding #11680 as a dependency, because it's needed for bluetooth (which is working now btw) and now I'm working on WiFi. |
Note this PR is outdated, will update it once the main deps are merged. |
Do we need to wait for TinyUSB support for this board? |
Yes, will ping them to merge the support, update the submodule and rebase this PR, then it will be ready for a review. Note this PR is Very outdated (been working in my fork). |
9ef7b76
to
3531c37
Compare
Codecov Report
@@ Coverage Diff @@
## master #11405 +/- ##
=======================================
Coverage 98.38% 98.38%
=======================================
Files 158 158
Lines 20940 20940
=======================================
Hits 20602 20602
Misses 338 338 |
a2c017c
to
af4c660
Compare
@dpgeorge This is now rebased and updated, it can be reviewed & merged, and the board can be added to the build script later when the TinyUSB PR is merged, or it can wait. Any idea why code-formatting fails ? I can't understand the error output. Bluetooth tests: ./run-multitests.py -i pyb:a0 -i pyb:a1 multi_bluetooth/*py
18 tests performed
14 tests passed
2 tests skipped: multi_bluetooth/ble_deepsleep.py multi_bluetooth/stress_log_filesystem.py
2 tests failed: multi_bluetooth/ble_l2cap.py multi_bluetooth/perf_l2cap.py
./run-multitests.py -i pyb:a1 -i pyb:a0 multi_bluetooth/*py
18 tests performed
14 tests passed
2 tests skipped: multi_bluetooth/ble_deepsleep.py multi_bluetooth/stress_log_filesystem.py
2 tests failed: multi_bluetooth/ble_l2cap.py multi_bluetooth/perf_l2cap.py Networking tests: ./run-multitests.py -i pyb:a0 -i pyb:a1 multi_net/*
20 tests performed
16 tests passed
2 tests skipped: multi_net/asyncio_tcp_client_rst.py multi_net/tcp_client_rst.py
2 tests failed: multi_net/asyncio_tcp_readall.py multi_net/udp_data.py
./run-multitests.py -i pyb:a1 -i pyb:a0 multi_net/*
20 tests performed
16 tests passed
2 tests skipped: multi_net/asyncio_tcp_client_rst.py multi_net/tcp_client_rst.py
2 tests failed: multi_net/ssl_cert_rsa.py multi_net/udp_data.py CC @robert-hh you may find this new ESP32 "hosted" driver/firmware interesting. |
Code size report:
|
af4c660
to
b0f85c1
Compare
b0f85c1
to
d768f3c
Compare
That can happen when the code formatter gets confused by |
I think I ran it on all files before sending the PR, also it tends to print out a lot of errors/warnings when I run it on my local machine, so I'm never sure if it's actually working or failing. |
6ab66c2
to
55695d2
Compare
@dpgeorge I ran the code formatter again on all files, and disabled format checking for the 2 auto-generated protobuf files (which were already formatted) and it's not passing the format check not sure what else to do, otherwise it's ready for review. |
55695d2
to
3b7fd29
Compare
It needs to be enabled explicitly by a board. Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: iabdalkader <[email protected]>
This is a host driver for ESP32 chips running the esp-hosted firmware, which turns ESP32s into a WLAN/BT co-processor. Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: iabdalkader <[email protected]>
Add DAC, SCE and USB FSP config files. Signed-off-by: iabdalkader <[email protected]>
b8307c9
to
78d8d9f
Compare
@iabdalkader I'm about to merge this and have force pushed it with some minor changes. But I just noticed that the If yes I will remove it during the merge, so please just let me know either way. |
Yes it's definitely not used. |
Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: iabdalkader <[email protected]>
78d8d9f
to
174bb28
Compare
OK, thanks for confirming. I have removed it. |
@iabdalkader Just tried to build that firmware, which fails with a problem of the protobuf compiler, which seems not to be built. Any hint?
It does not find Edit: There is a command
Edit 2: In addition to protobuf-compiler I had to install protobuf-codegen. |
@robert-hh I have no problem building here on Arch, this command is echo'd:
Also the autobuild seems to be working https://micropython.org/download/ARDUINO_PORTENTA_C33/ However, for renesas-ra it seems to be missing the |
After adding protobuf-generator, protoc-c is available as well, which is linked to protoc-gen-c. |
Out of interest, I combined the esp-hosted MicroPython firmware and a ESP32 with NINA firmware. BLE works, not much better that with the NINAW10 MicroPython firmware, but consistent. Test coverage is still low, but consistent. Interestingly, |
Unfortunately updating the Nina firmware to a newer IDF is not that easy. |
@iabdalkader Yesterday I tested again the esp_hosted based WiFi/BLE support for the SAMD port after having rebased the respective PR when needed. But now it refuses to work properly. The TCP test is slow and error-prone. Webrepl works only if started in foreground mode. UDP tests are fine. |
Yes I can test it later today and get back to you. |
The Portenta C33 firmware no longer works. It seems that the last working firmware is CC @dpgeorge |
@robert-hh managed to get 1.24 working again and ran the tests again. Note NTP is set and all .der files are copied to FS.
And
|
Thank you for the feedback. What are the transfer rates in a test with iperf3. What I observed is a huge drop in transfer speed for TCP. UDP still works fine. |
>>> iperf3.client("192.168.1.100")
CLIENT MODE: TCP sending
Connecting to ('192.168.1.100', 5201)
Interval Transfer Bitrate
0.00-1.01 sec 116 KBytes 940 Kbits/sec
1.01-2.01 sec 133 KBytes 1.09 Mbits/sec
2.01-3.01 sec 200 KBytes 1.63 Mbits/sec
3.01-4.01 sec 222 KBytes 1.82 Mbits/sec
4.01-5.01 sec 228 KBytes 1.87 Mbits/sec
5.01-6.01 sec 231 KBytes 1.89 Mbits/sec
6.01-7.01 sec 231 KBytes 1.89 Mbits/sec
7.01-8.01 sec 228 KBytes 1.87 Mbits/sec
8.01-9.01 sec 234 KBytes 1.92 Mbits/sec
9.01-10.00 sec 225 KBytes 1.87 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0.00-10.00 sec 2.00 MBytes 1.68 Mbits/sec sender
0.00-10.44 sec 2.00 MBytes 1.60 Mbits/sec receiver |
I can't find the old number but they look in line with what I remember. |
@iabdalkader Thanks. I managed to get it back to speed. It was a test version of the esp_hosted firmware, which was rebased to the current master. So maybe better not use it. |
This PR depends on:
External dependencies: