Skip to content

New port for Infineon PSoC6 microcontrollers #11365

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

Closed
wants to merge 20 commits into from

Conversation

jaenrig-ifx
Copy link
Contributor

@jaenrig-ifx jaenrig-ifx commented Apr 28, 2023

Hi MicroPython code owners,

The current contribution is an ongoing development of the PSoC6 port:

  • Initial board CY8CPROTO-062-4343W
  • Enabled machine classes : I2C, GPIO, RTC.
  • Enabled ITF STA of network.WLAN (Using LwIP and mbedTLS Infineon dependencies)
  • All relevant docs for this port and current state

In upcoming contributions we plan to:

  • Remove all external dependencies and content imported from the ModusToolbox Infineon SDK. (Many of these files are a bit trashy and irrelevant to the MicroPython projects :))
  • machine, network and ble modules completion

Minor changes are done outside the ports/psoc6 itself, or any dedicated sections in tools/ and test/.
Looking forward to hear your feedback :)

Thanks!

@github-actions
Copy link

Code size report:

   bare-arm:    +0 +0.000% 
minimal x86:    +0 +0.000% 
   unix x64:    +0 +0.000% standard
      stm32:    +0 +0.000% PYBV10
        rp2:    +0 +0.000% PICO

@codecov-commenter
Copy link

codecov-commenter commented May 1, 2023

Codecov Report

Merging #11365 (50897a7) into master (1093dea) will not change coverage.
The diff coverage is n/a.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@           Coverage Diff           @@
##           master   #11365   +/-   ##
=======================================
  Coverage   98.39%   98.39%           
=======================================
  Files         156      156           
  Lines       20603    20603           
=======================================
  Hits        20272    20272           
  Misses        331      331           

@jaenrig-ifx jaenrig-ifx force-pushed the ports-psoc6 branch 4 times, most recently from 5068cba to 7c19b48 Compare May 5, 2023 00:02
jaenrig-ifx added 20 commits May 7, 2023 00:02
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
- CY8CPROTO-062-4343W as first board integrated.
- Added GPIO, I2C (slave) and RTC machines modules.
- Added network WLAN (ITF_STA) module.
- Using LwIP and mbedTLS from ModusToolbox.
- Added FAT and LFS2 as os module file systems.
- Based on ModusToolbox code example project.
- BSP and MCU drivers external imported from MTB.

Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
- Added PSoC6 quick reference to docs.
- Added sphinx-tabs as install requirement.
- Added PSoC6 to topindex templates.

Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
Signed-off-by: jaenrig-ifx <enriquezgarcia.external@infineon.com>
@mattytrentini
Copy link
Contributor

There's a huge amount of effort here and it's looking promising! Still seems under active development though; is it a good time for a review?

@jaenrig-ifx
Copy link
Contributor Author

Hi @mattytrentini,

Thanks for your comment and support!
The complete port is work in progress. But we will stop making changes to this branch, and add further contribution in new PRs.

Any recommendation for such big contribution like a new port?

To make it a little bit less overwhelming, be aware that many of boards/CYC8PROTO-062-4343W files currently hardcoded for convenience, will be removed as soon as we have a proper integration with the ModusToolbox PSoC6 SDK, and will become an external dependency.

We could also wait a bit and have more completion (and some cleanup) but the intention is to make what is there available already to the community, and get feedback to avoid any wrongdoing in upcoming work 😃.

@mattytrentini
Copy link
Contributor

Hi @jaenrig-ifx,

It's great to submit a PR - especially a large one like this - early! We just need to figure out how best to manage it, because there is a lot to review.

It might be helpful if you could provide a little guidance of the areas you feel are most stable so we can start there? Or if there are parts where you'd particularly like feedback (maybe some implementation that's quite different to other ports?) that would be useful too.

The main thing I'd like to avoid is folks spending time reviewing code that's likely to change. :)

@jaenrig-ifx
Copy link
Contributor Author

Hi @mattytrentini,

Agree :) The parts that are not worth a thorough review right now:

  • ports/psoc6/boards/** -> But the mpconfigboard.mk and mpconfigboard.h most will be refactored removing all third party and importing by using the PSoC6 SDK.
  • ports/psoc6/modules/network -> This is still very preliminary work in progress.

The rest is quite complete, beside some improvements or secondary missing functionality. Little has been changed outside the port or its corresponding section in /tests, /tools or /docs. But those changes (some metafiles and common scripts) which affect the rest of the project would be of extra consideration for review I would say.

Does this help already?

We have put quite some care in fulfilling all the conventions and consciously get all green in the quality gates , but maybe from a more high level source tree, overall project architecture, convention in modules implementation... a more expert contributor have additional considerations, guidelines or requirements we are yet unaware.

Thanks a lot!

@dpgeorge dpgeorge added the ports Relates to multiple ports, or a new/proposed port label Sep 1, 2023
@projectgus
Copy link
Contributor

This is an automated heads-up that we've just merged a Pull Request
that removes the STATIC macro from MicroPython's C API.

See #13763

A search suggests this PR might apply the STATIC macro to some C code. If it
does, then next time you rebase the PR (or merge from master) then you should
please replace all the STATIC keywords with static.

Although this is an automated message, feel free to @-reply to me directly if
you have any questions about this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ports Relates to multiple ports, or a new/proposed port
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy