| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
https://github.com/pfalcon/yaota8266 is a (WIP) OTA-enabled bootloader
which doesn't require reserving space 2x size of a firmware.
|
|
|
|
|
| |
There's no need to force ports to copy-and-paste this initialisation
code. If FSUSERMOUNT is enabled then this zeroing out must be done.
|
|
|
|
| |
With this patch, @micropython.asm_xtensa can be used on the esp8266 port.
|
|
|
|
|
|
|
| |
This patch allows esp8266 to use @micropython.native and
@micropython.viper function decorators. By default the executable machine
code is written to the space at the end of the iram1 region. The user can
call esp.set_native_code_location() to make the code go to flash instead.
|
|
|
|
|
|
| |
The 512k build recently overflowed because of the newly-enabled uselect
module. uselect is arguable more important than framebuf for small
devices so we disable framebuf to keep the 512k build within its limit.
|
| |
|
|
|
|
|
|
| |
So long as a port defines relevant mp_hal_pin_xxx functions (and delay) it
can make use of this software SPI class without the need for additional
code.
|
|
|
|
|
|
| |
websocket_helper.py is used by webrepl. If webrepl is enabled and
websocket_helper.py is not frozen bytecode it leads to heap
fragmentation.
|
|
|
|
| |
Select and poll will now work on socket objects.
|
| |
|
|
|
|
|
|
| |
If a port defines MICROPY_READER_POSIX or MICROPY_READER_FATFS then
lexer.c now provides an implementation of mp_lexer_new_from_file using
the mp_reader_new_file function.
|
|
|
|
|
|
|
| |
Implementations of persistent-code reader are provided for POSIX systems
and systems using FatFS. Macros to use these are MICROPY_READER_POSIX and
MICROPY_READER_FATFS respectively. If an alternative implementation is
needed then a port can define the function mp_reader_new_file.
|
| |
|
|
|
|
|
|
| |
Its addition was due to an early exploration on how to add CPython-like
stream interface. It's clear that it's not needed and just takes up
bytes in all ports.
|
| |
|
|
|
|
|
|
|
| |
The ESP SDK supports configuring the hostname that is
reported when doing a DHCP request in station mode. This commit
exposes that under network.WLAN(network.STA_IF).config('dhcp_hostname')
as a read/write value similar to other parameters.
|
|
|
|
|
|
| |
Now, to use frozen bytecode all a port needs to do is define
FROZEN_MPY_DIR to the directory containing the .py files to freeze, and
define MICROPY_MODULE_FROZEN_MPY and MICROPY_QSTR_EXTRA_POOL.
|
| |
|
|
|
|
|
|
| |
Previously, it was included only in release builds, but it's important
tool which should be always at the fingertips to be useful (and to
pump up its usage).
|
|
|
|
|
|
|
|
| |
At the WS2812 driver level, a 400ns value was used for T0H (time high to
send a 0 bit) but LED specification says it should be 350ns +- 150ns.
Due to loop overhead the 400ns value could lead to T0H close to 500ns
which is too close from the limit value and gave glitches (bad data to
pixels) in some cases. This patch makes the calculated T0H value 350ns.
|
| |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
Following best-practice use of the const feature, to make it compatible
with Python.
|
| |
|
|
|
|
|
|
| |
Size 64 was incorrect and will lead to stack corruption. Size 88 was
verified empirically. Also, allow to skip defining it if MD5_CTX
preprocessor macro is already defined (to avoid header conflict).
|
| |
|
|
|
|
|
|
|
| |
ESP8266 SDK2.0 fixes (at least, I can't reproduce it) an infamous bug
with crash during scan. 36K seams to be a safe value based on a download
test (test_dl.py), over 1GB was downloaded. More testing is needed, but
let's have other people participate by committing it now.
|
|
|
|
|
|
|
|
|
| |
There is no automatic reconnect after wlan.active(False);
wlan.active(True). This commit provide the possibility to run
wlan.connect() without parameter, to reconnect to the previously
connected AP.
resolve #2493
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The NeoPixel class now handles 4 bytes-per-pixel LEDs (extra byte is
intensity) and arbitrary byte ordering. APA102 class is now derived from
NeoPixel to reduce code size and support fill() operation.
|
|
|
|
|
|
|
|
| |
To build, "make 512k".
Disabled are FatFs support (no space for filesystem), Python functionality
related to files, btree module, and recently enabled features. With all
this, there's only one free FlashROM page.
|
|
|
|
|
|
|
|
| |
As we're looking towards adding OTA support, calculation of a FlashROM
area which can be used for filesystem (etc.) may become complex, so
introduce C function for that. So far it just hardcodes current value,
0x90000. In the future the function may be extended (and renamed) to
return the size of area too.
|
| |
|
| |
|
|
|
|
|
|
|
| |
In order to have more fine-grained control over how builtin functions are
constructed, the MP_DECLARE_CONST_FUN_OBJ macros are made more specific,
with suffix of _0, _1, _2, _3, _VAR, _VAR_BETEEN or _KW. These names now
match the MP_DEFINE_CONST_FUN_OBJ macros.
|
|
|
|
|
| |
Now frozen modules generation handled fully by py.mk and available for reuse
by any port.
|
|
|
|
|
| |
Concurrent WebREPL connections were never supported, now actually check
for this.
|
|
|
|
|
| |
It's probably not strictly needed so far, but serves as an example of
MP_FASTCODE use and may be helpful in the future.
|
|
|
|
|
|
| |
It can be used in the following manner:
void MP_FASTCODE(foo)(int arg) { ... }
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
SDK 2.0.0 goes into boot loop if a firmware is programmed over erased flash,
causing problems with user experience. This change implements behavior
similar to older SDKs': if clean flash is detected, default system
parameters are used.
|
| |
|
| |
|
|
|
|
|
|
| |
As long as a port implement mp_hal_sleep_ms(), mp_hal_ticks_ms(), etc.
functions, it can just use standard implementations of utime.sleel_ms(),
utime.ticks_ms(), etc. Python-level functions.
|
| |
|