Sagar Bijwe [Fri, 8 Jun 2018 12:09:00 +0000 (17:39 +0530)]
FATFS support without wear levelling
This change allows readonly FATFS to be mounted without wear levelling
support. This will provide the customers a simple way to mount FATFS images
generated on host and flashed onto the chip during factory provisioning.
Since NVS encryption is not supported yet and NVS entry size is limited,
the change will provide an easy alternative for securing the provisioning data
by just marking FATFS parition as encrypted.
Roland Dobai [Wed, 13 Jun 2018 05:48:52 +0000 (07:48 +0200)]
Fix the console performance issue
The IDF monitor waits for one second before printing the last
unterminated line. This is necessary for the correct filtering.
However, this causes poor performance, for example, in the case of the
system/console example.
This fix reduces the waiting time which improves the response time of
the console example and doesn't seem to influence the monitor filter.
Markus Becker [Mon, 7 May 2018 19:35:13 +0000 (21:35 +0200)]
bt: PORT_WriteDataCO: fixed a bug, reduced heap memory allocation
* a missing pointer increment caused error, if available was > 0 after the first iteration of while(available) loop.
* changed memory allocation strategy from large fixed size (RFCOMM_DATA_BUF_SIZE) to just the needed
size, which will be below MTU
Cherry-picked from https://github.com/espressif/esp-idf/pull/1923/
Ivan Grokhotkov [Tue, 12 Jun 2018 12:23:26 +0000 (20:23 +0800)]
sleep: make sure input enable is set for EXT0/EXT1 wakeup
Since commit 94250e4, EXT0 wakeup mechanism, when wakeup level was set
to 0, started waking up chip immediately after entering deep sleep.
This failure was triggered in that commit by a change of
RTC_CNTL_MIN_SLP_VAL (i.e. minimum time in sleep mode until wakeup
can happen) from 128 cycles to 2 cycles.
The reason for this behaviour is related to the way input enable (IE)
signal going into an RTC pad is obtained:
PAD_IE = (SLP_SEL) ? SLP_IE & CHIP_SLEEP : IE,
where SLP_IE, SLP_SEL, and IE are bits of an RTC_IO register related
to the given pad. CHIP_SLEEP is the signal indicating that chip has
entered sleep mode.
The code in prepare_ext{0,1}_wakeup did not enable IE, but did enable
SLP_SEL and SLP_IE. This meant that until CHIP_SLEEP went high, PAD_IE
was 0, hence the input from the pad read 0 even if external signal
was 1. CHIP_SLEEP went high on the 2nd cycle of sleep. So when
RTC_CNTL_MIN_SLP_VAL was set to 2, the input signal from the pad was
latched as 0 at the moment when CHIP_SLEEP went high, causing EXT0
wakeup with level 0 to trigger.
This commit changes the way PAD_IE is enabled: SLP_SEL and SLP_IE are
no longer used, and IE is set to 1. If EXT0 wakeup is used, RTC_IO is
not powered down, so IE signal stays 1 both before CHIP_SLEEP goes
high and after. If EXT1 wakeup is used, RTC_IO may be powered down.
However prepare_ext1_wakeup enables Hold on the pad, locking states
of all the control signals, including IE.
Ivan Grokhotkov [Wed, 23 May 2018 13:50:55 +0000 (21:50 +0800)]
esp_timer: don’t busy loop in esp_timer_impl_set_alarm
Previously the loop in esp_timer_impl_set_alarm was necessary to catch
the case when timer count wraps around (goes from 2^32 - 1 to 0).
Since ALARM_OVERFLOW_VAL was reduced from 2^32 - 1 to 0xefffffff,
this is no longer necessary.
Ivan Grokhotkov [Fri, 8 Jun 2018 11:41:18 +0000 (19:41 +0800)]
ci: remove stale submodules after checkout
When ‘fetch’ strategy is used, Gitlab removes untracked files before
checking out new revision. However if the new revision doesn’t
include some of the submodules which were present in the old
revision, such submodule directories would not be removed by the
checkout. This extra step ensures that these stale submodules are
removed.
partition_table: Expanding the space under the bootloader
Allows you to move the partition table, it gives more space for the bootloader.
Added a new utility - parttool.py. This utility can search for the offset and/or size of the partitions by name and type/subtype. Use for getting APP_OFFSET and PHY_DATA_OFFSET.
The linker(esp32.bootloader.ld) made changes that allow you to write a custom bootloader code more.
Ivan Grokhotkov [Wed, 6 Jun 2018 15:55:06 +0000 (23:55 +0800)]
docs/jtag: use ‘flushregs’ instead of ‘x $a1=0” in gdbinit
The old command caused was incorrect (x is “examine”, not “execute”)
and caused GDB register update only by chance. This replaces it with
“flushregs” command which purpose is exactly that — force GDB to
fetch registers from the remote.
Renz Bagaporo [Tue, 22 May 2018 08:47:30 +0000 (16:47 +0800)]
spiffs: Make spiffs runnable on host
Makes spiffs component runnable on host. Depends on the host library build
of flash emulator. Includes a basic sanity test of
mounting a volume, opening a file, writing to the file, reading the file,
closing the file and unmounting volume.
Renz Bagaporo [Thu, 17 May 2018 08:19:29 +0000 (16:19 +0800)]
fatfs: Make fatfs runnable on host
Makes fatfs component runnable on host. Depends on the host library build
of wear levelling and flash emulator. Includes a basic sanity test of
mounting a volume, opening a file, writing to the file, reading the file,
closing the file and unmounting volume.
Renz Bagaporo [Thu, 17 May 2018 10:56:52 +0000 (18:56 +0800)]
wl, spi_flash: Make wl API runnable on host
Makes the entirety of the wl API runnable on host. Flash emulator
is separated into spi_flash component directory to be reused by
other storage components.
esp32: Fix not the right time spent in a deep sleep
Before entering the deep sleep, the RTC and FRC counters are synchronized. Updating the boot_time.
Added a unit test for this case.
Fixed warnings for MULTIPLE_STAGES