Ivan Grokhotkov [Fri, 21 Oct 2016 10:44:57 +0000 (18:44 +0800)]
spi_flash: implement partition API, drop trivial wrappers
This implements esp_partition_read, esp_partition_write, esp_partition_erase_range, esp_partition_mmap.
Also removed getters which didn't add much sugar after all.
Ivan Grokhotkov [Fri, 21 Oct 2016 09:28:50 +0000 (17:28 +0800)]
spi_flash: change argument types
spi_flash_read and spi_flash_write currently have a limitation that source and destination must be word-aligned.
This can be fixed by adding code paths for various unaligned scenarios, but function signatures also need to be adjusted.
As a first step (since we are pre-1.0 and can still change function signatures) alignment checks are added, and pointer types are relaxed to uint8_t.
Later we will add handling of unaligned operations.
This change also introduces spi_flash_erase_range and spi_flash_get_chip_size functions.
We probably need something like spi_flash_chip_size_detect which will detect actual chip size.
This is to allow single application binary to be used on a variety of boards and modules.
Ivan Grokhotkov [Thu, 27 Oct 2016 09:47:45 +0000 (17:47 +0800)]
Merge branch 'feature/vfs' into 'master'
Virtual filesystem APIs
This changeset adds virtual filesystem APIs. As an example, UART devices are mapped to `/dev/uart/x`.
Also fixes an issue with per-task FILE descriptors.
Ivan Grokhotkov [Wed, 26 Oct 2016 06:05:56 +0000 (14:05 +0800)]
vfs and newlib: small fixes
- spaces->tabs in tasks.c
- update vfs_uart.c to use per-UART locks
- add license to vfs_uart.c
- allocate separate streams for stdout, stdin, stderr, so that they can be independently reassigned
- fix build system test failure
- use posix off_t instead of newlib internal _off_t
Ivan Grokhotkov [Tue, 25 Oct 2016 14:12:07 +0000 (22:12 +0800)]
vfs and newlib: small fixes
- spaces->tabs in tasks.c
- update vfs_uart.c to use per-UART locks
- add license to vfs_uart.c
- allocate separate streams for stdout, stdin, stderr, so that they can be independently reassigned
- fix build system test failure
Ivan Grokhotkov [Thu, 27 Oct 2016 09:09:35 +0000 (17:09 +0800)]
Merge branch 'feature/wdts' into 'master'
Feature/wdts
This adds two watchdogs to esp-idf:
- An interrupt watchdog. Kicks in if the FreeRTOS timer interupt on either the PRO_CPU or (when configured) the APP CPU isn't called for a configurable time. Panics, displaying which CPU caused the problem and the registers that may lead to the offending code.
- A task watchdog. A task has to feed it every once in a while. If not, it will print the name of the offending tasks, as well as the tasks currently running on both CPUs, and optionally panic.
Also adds a panic reason to the panic call, as well as fixes the panic code a bit.
Ivan Grokhotkov [Thu, 27 Oct 2016 05:44:31 +0000 (13:44 +0800)]
Merge branch 'feature/freertos_static_buffers' into 'master'
Backport the static allocation feature from FreeRTOS V9.0.0
This feature allows to use static buffers (or from a pool of memory which is not
controlled by FreeRTOS).
In order to reduce the impact of the changes, the static feature has only been added
to the queus (and in consequence to the semaphores and the mutexes) and the tasks.
The Timer task is always dynamically allocated and also the idle task(s), which in the
case of the ESP-IDF is ok, since we always need to have dynamic allocation enabled.
Original PR on Github: https://github.com/espressif/esp-idf/pull/21
Wu Jian Gang [Thu, 27 Oct 2016 03:33:56 +0000 (11:33 +0800)]
Merge branch 'feature/add_api_to_get_ap_info' into 'master'
esp32: add esp_wifi_sta_get_ap_info
The customers need to get information about AP that associated with ESP32 station,
these information includes RSSI, channel number etc, so add this new API
Liu Zhi Fu [Thu, 27 Oct 2016 02:42:01 +0000 (10:42 +0800)]
esp32: add esp_wifi_sta_get_ap_info
The customers need to get information about AP that associated with ESP32 station,
these information includes RSSI, channel number etc, so add this new API
liuzhifu [Wed, 26 Oct 2016 12:02:39 +0000 (20:02 +0800)]
esp32/tcpip_adapter: rework according to review comments
1. Modify sta to station in comments
2. Modify esp_wifi_get_ap_num to esp_wifi_scan_get_ap_num
3. Modify esp_wifi_get_ap_list to esp_wifi_scan_get_ap_records
liuzhifu [Wed, 26 Oct 2016 06:09:54 +0000 (14:09 +0800)]
components esp32/lwip: modify code according to review comments
1. Modify comments for esp_wifi_internal_tx
2. Fix delay time error in esp32_tx_flow_ctrl which is found in code review,
modify _wait_delay init value from 0 to 1
liuzhifu [Wed, 26 Oct 2016 05:53:00 +0000 (13:53 +0800)]
components/esp32: update wifi lib
6ce01d76: rename some wifi internal APIs aa4d2aa9: last rx buffer is reserved for mgmt frame bb0ff4a8: tw7775 fix assert when rx auth frame before create bss
Jeroen Domburg [Tue, 25 Oct 2016 10:08:55 +0000 (18:08 +0800)]
Make CPU1 int wdt / idle task wdt configurable, panic now properly disables other cpu, tick handler now also is called on cpu1, task wdt prints currently running tasks.
Wu Jian Gang [Tue, 25 Oct 2016 03:03:34 +0000 (11:03 +0800)]
Merge branch 'bugfix/tw7458_dhcps_wrong_after_mode_switch' into 'master'
component/tcpip_adapter: not update dhcps status when it is stopped after mode switch
When switch the mode from WIFI_MODE_STA/WIFI_MODE_NULL to WIFI_MODE_AP/WIFI_MODE_APSTA,
if the dhcp server is STOPPED, then dhcp server will not start automatically.
liuzhifu [Tue, 25 Oct 2016 01:26:10 +0000 (09:26 +0800)]
component/tcpip_adapter: not update dhcps status when it is stopped after mode switch
When switch the mode from WIFI_MODE_STA/WIFI_MODE_NULL to WIFI_MODE_AP/WIFI_MODE_APSTA,
if the dhcp server is STOPPED, then dhcp server will not start automatically.
Jeroen Domburg [Fri, 21 Oct 2016 10:16:12 +0000 (18:16 +0800)]
Merge branch 'feature/trax' into 'master'
Feature/trax
Add Trax support to esp-idf. OpenOCD already has trax support, this allows an esp-idf program to also trigger this when needed. Also included: some more logic to correctly reserve memory blocks for Trax.
Ivan Grokhotkov [Fri, 21 Oct 2016 02:56:03 +0000 (10:56 +0800)]
Merge branch 'feature/release_build' into 'master'
Add menuconfig setting for optimization level
This change adds two options (Debug/Release) for optimization level.
- Debug (default) enables -O0
- Release enables -Os and adds `-DNDEBUG`, which removes all assert() statements
These options may be overriden at project level by adding necessary flags to CFLAGS/CXXFLAGS.
Debugging symbols are kept in both cases, although we may add an option to strip output file if necessary.
Also we used to define all common compiler flags in CPPFLAGS, and then prepended them to CFLAGS/CXXFLAGS.
It made it impossible to add preprocessor macros to CPPFLAGS at component level (one had to use CFLAGS/CXXFLAGS instead).
Some third party libraries are not compatible with this approach. Changed to the more common way of using these variables.
Ivan Grokhotkov [Mon, 17 Oct 2016 04:38:17 +0000 (12:38 +0800)]
build system: add menuconfig choice for optimization level, reorganize C*FLAGS
This change adds two options (Debug/Release) for optimization level.
Debug enables -O0, release enables -Os and adds -DNDEBUG (which removes all assert() statements).
Debugging symbols are kept in both cases, although we may add an option to strip output file if necessary.
Also we used to define all common compiler flags in CPPFLAGS, and then appended them to CFLAGS/CXXFLAGS.
It makes it impossible to add preprocessor macros to CPPFLAGS at component level (one has to use CFLAGS/CXXFLAGS instead).
Some third party libraries are not compatible with this approach. Changed to the more common way of using these variables.
Jeroen Domburg [Wed, 12 Oct 2016 13:13:34 +0000 (21:13 +0800)]
Merge branch 'bugfix/small_fixes_jd' into 'master'
Some small fixes
- Kill unused uxReturn in task.c, https://github.com/espressif/esp-idf/issues/48
- Line end conversion in gpio.c
- Move heap_alloc_caps.h so components can also use it
Yinling [Wed, 12 Oct 2016 03:17:56 +0000 (11:17 +0800)]
rename components/test to idf_test:
1. test will be categorized by test level
2. add test level as attribute to test cases
3. will select TestCaseScript by the test cases added to CI (currently no test case uses test case script)
4. adding test level to test jobs
5. update .gitlab-ci.yml, each job need to set its test case file path
6. update .gitlab-ci.yml, test case path for test report is changed to idf_test
1. test report job should be put to deploy stage, otherwise it can't get logs from test stage
2. allow test fail so that test report job will be executed for failed test