new port pull request

C programming, build, interpreter/VM.
Target audience: MicroPython Developers.
Post Reply
ExXec
Posts: 71
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: 401
Joined: Tue Aug 08, 2017 1:57 am
Location: Sydney, Australia

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: 71
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: 401
Joined: Tue Aug 08, 2017 1:57 am
Location: Sydney, Australia

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: 71
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

Post Reply