Skip to content
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

pure lwip2 integration proposal #271

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

d-a-v
Copy link

@d-a-v d-a-v commented Jun 13, 2017

This is a proposal, following this thread.

@d-a-v
Copy link
Author

d-a-v commented Jun 14, 2017

It has to be noted that there is not and won't be any ICACHE_FLASH_ATTR modifiers in original lwip source repository. So unlike with esp-open-lwip, liblwip2.a must appear in ldscripts to put symbols in the appropriate sections. I also use some objcopy tweaks for keeping some symbols in iram.
This PR is not sufficient in itself, and I'm not sure about how to properly further integrate it in here.
Comments are welcome.

@pfalcon
Copy link
Owner

pfalcon commented Jun 14, 2017

@d-a-v : Thanks for taking effort to separate your solution to a separate project and to post a patch here! As a quick reply, I'm very busy these weeks, and small time I have, goes towards low-hanging or long-waiting things in other projects (that's why I didn't have chance to reply to your mail, sorry). So, I apologize in advance if it may take weeks to look into this in detail. (I hope other interested folks will look into it in the meantime, @davydnorris et al)

@d-a-v
Copy link
Author

d-a-v commented Jun 22, 2017

@pfalcon: some updates here.

I am nearly successful in compiling micropython (changes) with this PR. I am missing a "millis()"-like function. Instead of me going to pick one somewhere, is there some kind of similar function I could use in esp-open-sdk (or in micropython) ?

That and ldscripts update for lwip2 and it will be tryable.

@pfalcon
Copy link
Owner

pfalcon commented Jun 22, 2017

In MicroPython, there's mp_hal_ticks_ms() which returns number of milliseconds since arbitrary point of time. esp-open-sdk doesn't offer any functions on its own, it's just a Makefile. ESP8266 system however itself offers system_get_time() which returns number of microseconds since arbitrary point of time.

@someburner
Copy link

@pfalcon - I took some time to make changes to @d-a-v's repo to get it to compile cleanly with esp-open-sdk and all the changes made since this PR (lwip 2.1.2) - PR open here. It would be great if you could read over that and let me know your thoughts on what to do about SNTP / millis(), as well as the patching of the SDK headers.

@pfalcon
Copy link
Owner

pfalcon commented Mar 20, 2019

@someburner:

I took some time to make changes to @d-a-v's repo

Sorry, wanted to post this reply earlier, but it slipped. But anyway, I don't do much of esp8266 hacking lately. I'd like to get back to it, but don't know when that would be. I see that @d-a-v continues doing some great work there, so I suggest to cooperate with him directly.

@d-a-v
Copy link
Author

d-a-v commented Mar 20, 2019

@someburner I suggest you create a new pull-request here, made with your walkthrough.
To get a chance for adoption, it should be disabled by default (make LWIP2=1) and probably be tagged as 'experimental'.

A way for esp-open-sdk users to easily test it should be provided
(something like this, replacing 271 with your PR #number)

git fetch origin pull/271/head:lwip2
git checkout lwip2

If testing is as easy as this, hopefully @pfalcon would be able to run some basic validating tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants