| Age | Commit message (Collapse) | Author |
|
|
|
This module uses ESP8266's SPI hardware, which allows much higher
speeds. It uses a library from
https://github.com/MetalPhreak/ESP8266_SPI_Driver
|
|
Of them, 0x87000 is irom0 segment.
This is required to ship increasing number of modules and examples
developed in teh course of ESP8266 port project.
|
|
|
|
|
|
esponewire.c contains low-level timing-critical functions that go in
iRAM. modonewire.c contains Python wrapper code.
|
|
Currently UART(0) and UART(1) are exposed and only uart.write works.
|
|
With .rodata being in FlashROM now, gap can be much smaller now. InstRAM
can be max 32K, and with segment headers, that already makes it more than
32K. Then there's some .data still, and the next Flash page boundary is
0x9000. That figure should be more or less future-proof.
TODO: Refactor makeimg to take FlashROM segment offset from file name.
|
|
Needed for frozen scripts, and for future growth of binary.
|
|
|
|
|
|
|
|
|
|
|
|
PWM implementation uses a timer and interrupts (FRC1), taken from
Espressif's/NodeMCU's implementation and adapted for our use.
8 channels are supported, on pins 0, 2, 4, 5, 12, 13, 14, 15.
Usage:
import machine
pwm0 = machine.PWM(machine.Pin(0))
pwm0.freq(1000)
pwm0.duty(500)
Frequency is shared (ie the same) for all channels. Frequency is
between 1 and 1000. Duty is between 0 and 1023.
|
|
Supports speeds up to 500k baud, polarity=0/1, phase=0/1, and using any
pins. Only supports MSB output at the moment.
|
|
Requires special lexer to access their contents.
|
|
Also explicitly name the py/*.o files in the linker file, to enable easy
testing of putting certain ones in iRAM.
|
|
|
|
Otherwise, os.uname() returns empty string for SDK version.
|
|
No complex numbers though.
|
|
|
|
1. Updated linker script, now user app appears to contain exception vector
table and oesn't work (faults) without it.
2. Commened out support for GPIO pulldown, which was removed in this SDK
version without clear explanation, but apparently because it was released
without proper validation, and now turns out it doesn't work as expected,
or there's a different function there.
|
|
With newer versions of esp_iot_sdk the iram1_0_seg started to overflow.
Now it doesn't.
Addresses issue #1254.
|
|
Moved modesp.o to flash and increased size of the irom0_0_seg segment. The new
value was taken from NodeMCU linker script.
|
|
rodata can only go in iram/irom if it's accessed only using word loads
(ie no byte or half-word access).
|
|
Some rodata items can go in iram/irom segment, but not others. With
this patch ESP now has 24256 bytes of heap ram. It passes 228 out of
248 tests from tests/basics directory.
|
|
|