aboutsummaryrefslogtreecommitdiff
path: root/esp8266/esponewire.c
AgeCommit message (Collapse)Author
2017-06-22esp8266/modonewire: Move low-level 1-wire bus code to modonewire.c.Damien George
The reason it was separated is so that the low-level code could be put in iRAM, for timing reasons. But: 1. Tests show that it's not necessary to have this code in iRAM for it to function correctly, and taking it out of iRAM reclaims some of that precious resource. Furthermore, even though these functions were in iRAM there were some functions that it called (eg pin get/set functions) which were not in iRAM, so partially defeated the purpose of putting the 1-wire code in iRAM. 2. It's easier to reuse this 1-wire code in other ports if it's in a single file. 3. If it turns out that certain code does need to be in iRAM then one can use the MP_FASTCODE macro to do that.
2017-06-20esp8266: Make onewire module and support code usable by other ports.Damien George
2016-11-06esp8266: Rename "machine" module implementation to use contemporary naming.Paul Sokolovsky
Previously they used historical "pyb" affix causing confusion and inconsistency (there's no "pyb" module in modern ports; but people took esp8266 port as an example, and "pyb" naming kept proliferating, while other people complained that source structure is not clear).
2016-04-14esp8266: Separate 1-wire timing funcs from Python module to save iRAM.Damien George
esponewire.c contains low-level timing-critical functions that go in iRAM. modonewire.c contains Python wrapper code.