new port pull request

C programming, build, interpreter/VM.
Target audience: MicroPython Developers.
ExXec
Posts: 83
Joined: Sat Oct 20, 2018 4:02 pm

new port pull request

Post by ExXec » Mon Jul 08, 2019 8:38 pm

Hey,
I forked the repo a while ago for a port to the TivaLaunchpad.
I got some things to work so far.
At what point can I consider creating a pull request into the main repo?

Thanks!
-ExXec

User avatar
jimmo
Posts: 2262
Joined: Tue Aug 08, 2017 1:57 am
Location: Sydney, Australia
Contact:

Re: new port pull request

Post by jimmo » Tue Jul 09, 2019 1:00 am

New ports seem to require some consideration because it adds an ongoing maintenance burden. Is this a popular/common chip? It's unrelated to the TI MSP432 right? I guess there's no harm in raising a bug to start the discussion?

I'd love to see an equivalent of the "external c modules" feature for ports, allowing you to have an "out of tree" port. (i.e. you don't have to fork micropython to maintain your port). See https://docs.micropython.org/en/latest/ ... dules.html

ExXec
Posts: 83
Joined: Sat Oct 20, 2018 4:02 pm

Re: new port pull request

Post by ExXec » Tue Jul 09, 2019 12:19 pm

Thanks for your response!

Yes it is unrelated to the MSP432.
I cannot say if the chip is popular, I saw only one forum post asking for it.
I'm doing this port as a project for my masters and because our laboratory gets free TivaBoards every year, its used a lot in other projects.

I would still maintain the port myself, of course, I wanted to do this mainly because I need people to try it out and get feedback on what I can do better etc. And I thought it will get more attention in the main repo.

Or do you mean, that all general updates will be checked for compatibility on every port? How does this work here?

I think I will start a bug as soon as I am confident that my port is at least somewhat reliable.

Thanks again!

User avatar
jimmo
Posts: 2262
Joined: Tue Aug 08, 2017 1:57 am
Location: Sydney, Australia
Contact:

Re: new port pull request

Post by jimmo » Tue Jul 09, 2019 1:21 pm

ExXec wrote:
Tue Jul 09, 2019 12:19 pm
I would still maintain the port myself, of course
The problem is that if you add this to github.com/micropython/micropython, then you can't be the maintainer any more. You can send PRs of course, but you're not the "maintainer".
ExXec wrote:
Tue Jul 09, 2019 12:19 pm
Or do you mean, that all general updates will be checked for compatibility on every port? How does this work here?
Yeah. The problem is that it's unlikely anyone will have the development toolchain set up for it, so other people won't be able to verify that general changes don't break it.


(This is just my observation of the way the project works, the core project can really only take responsibility in the main repo for boards/toolchains that the maintainers have access to).

But it's still worthwhile to provide a port -- if users can find your github repo, then that's great! (Set a good description and readme.md and Google will take care of the rest!) And there are lots of examples of this. And even better if in the future a port doesn't need to be a full micropython fork (as I described earlier).

ExXec
Posts: 83
Joined: Sat Oct 20, 2018 4:02 pm

Re: new port pull request

Post by ExXec » Tue Jul 09, 2019 5:53 pm

You can send PRs of course, but you're not the "maintainer".
Hm, I see. I imagined this would be a lot simpler.
And even better if in the future a port doesn't need to be a full micropython fork
My Port is contained in its folder. (Besides the toolchain)
Someone could download micropython, then my port folder and edit the makefile a bit and it would work.
Or create a submodule for it? I am not 100% on the possibilities and limits of git.
I'd love to see an equivalent of the "external c modules" feature for ports
Instead of adding the port to micropython, you could add micropyhton to the port.
Or did you think about something a bit more sophisticated?

Anyway, thanks for your advice!
-ExXec

ExXec
Posts: 83
Joined: Sat Oct 20, 2018 4:02 pm

Re: new port pull request

Post by ExXec » Thu Jan 07, 2021 8:04 pm

Hey,
do you know if the requirements for integrating ports has change since this thread was opened?

User avatar
pythoncoder
Posts: 5145
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: new port pull request

Post by pythoncoder » Fri Jan 08, 2021 9:22 am

The explanation of @jimmo still makes perfect sense.
Peter Hinch

Online
stijn
Posts: 619
Joined: Thu Apr 24, 2014 9:13 am

Re: new port pull request

Post by stijn » Fri Jan 08, 2021 12:08 pm

In the other thread you mention your thesis is finished and don't have time to work on the port anymore, right? In that case it's not very interesting to add it to MicroPython if no one can actively keep it working/tested, I think. Perhaps someone else can though?

ExXec
Posts: 83
Joined: Sat Oct 20, 2018 4:02 pm

Re: new port pull request

Post by ExXec » Fri Jan 08, 2021 3:13 pm

Yes, my thesis is finished.
Two other teams are currently expanding the functionality though and they will be merged into my repo.

If there is someone who will keep it updated, be it me or someone else, is there another condition for an inclusion into the main repo?
I guess the workload would be to test the port before/with each release and keep it compatible?
The number of implemented features of the controller is not 100% but could be expanded by future theses or volunteers.

ExXec
Posts: 83
Joined: Sat Oct 20, 2018 4:02 pm

Re: new port pull request

Post by ExXec » Fri Jan 08, 2021 3:22 pm

How much work is it to keep the ports up to date with the changes?

If the workload is not too high, I could still do this by myself.

Post Reply