Commit graph

2500 commits

Author SHA1 Message Date
Ivan Grokhotkov
5de7c91a54 add console component and example 2017-08-21 15:58:27 +08:00
Jiang Jiang Jian
363f201603 Merge branch 'bugfix/exection_not_init_bt_use_smp_api_#13691' into 'master'
component/bt: Added the bluedorid status checkout for the BLE security API.

See merge request !1045
2017-08-21 14:51:17 +08:00
Liu Zhi Fu
b45433110f tcpip_adapter/lwip: optimize wifi/ip event 2017-08-21 14:36:44 +08:00
Angus Gratton
2c0ff0c1e1 mbedtls: Add a shim header to account for including "mbedtls/config.h" directly in program
Previously this resulted in a config mismatch between default config and esp_config.h

Closes https://github.com/espressif/esp-idf/issues/711
2017-08-21 12:37:53 +10:00
Angus Gratton
f44091e48a Merge branch 'feature/mbedtls_cipher_config' into 'master'
mbedtls: Add compile-time configuration, better default configuration

See merge request !1118
2017-08-21 07:19:24 +08:00
zhiweijian
6276e71fc1 Component/bt: add check value and length for esp_ble_gatts_get_attr_value(uint16_t attr_handle, uint16_t *length, const uint8_t **value); 2017-08-20 19:12:57 +08:00
Ivan Grokhotkov
bb7d5fc10f Merge branch 'feature/remove_ethernet_config_option' into 'master'
ethernet: remove CONFIG_ETHERNET

See merge request !1116
2017-08-18 18:45:49 +08:00
Angus Gratton
66ad84d318 mbedtls: Add more config options to disable Elliptic Curve features
Can save up to an additional 20KB when not using EC in TLS, or disable
unwanted features as needed.
2017-08-18 17:44:33 +10:00
Angus Gratton
c0f65f6680 mbedtls: Expose compile-time config, disable some things by default
* Disables 3DES, Camellia, Blowfish, RC4, RIPEMD160, SSLv3, TLS-PSK modes, DTLS by default
* Saves about 40KB from the default TLS client code size
* Defaults no longer get "Bad" howsmyssl.com rating (no more vulnerable 3DES)
  (ping https://github.com/espressif/arduino-esp32/issues/575 )
* Allows up to another 20-30KB code size to be trimmed without security
  implications if using DER formatted certificates, RSA ciphersuites only,
  etc.
* Can save up to another 8KB by setting the TLS Role to Server or Client only.
2017-08-18 17:15:08 +10:00
Angus Gratton
979eabeba5 libsodium: Use mbedTLS implementations for SHA256 & SHA512
* Adds support for hardware accelerated SHA
* Saves code size (~5.5KB) for SHA256 & SHA512 where libsodium & mbedTLS both used
2017-08-18 16:29:04 +10:00
Kedar Sovani
4c1c62a453 wifi: refactor code to match ethernet's init function structure 2017-08-18 08:33:02 +05:30
Kedar Sovani
8348a71847 ethernet: remove CONFIG_ETHERNET
1. Hello World application shows no footprint difference before and
after this change
2. examples/ethernet/ethernet application compiles properly (can't
test with my board)
2017-08-18 08:31:43 +05:30
michael
a01db5569c fix(spi_dma): fix the receive error with RX DMA start with non-aligned address. 2017-08-18 10:14:49 +08:00
Ivan Grokhotkov
eddc07eebf Merge branch 'feature/set_static_ip_to_zero' into 'master'
Zero static IP address can also be set

See merge request !1101
2017-08-16 19:12:01 +08:00
Ivan Grokhotkov
14c96838bf sdmmc: add more comments about card initialization steps 2017-08-16 18:59:04 +08:00
Ivan Grokhotkov
6baf8195ee sdmmc: add support for high speed (HS) mode
By default SD cards are initialized in default speed (DS) mode. Enabling
HS mode requires SWITCH_FUNC command to be sent twice: first time to
query if the card supports switching to HS mode, second time to perform
the switch.

This change implements SWITCH_FUNC command and adds the procedure to
switch to HS mode.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov
9253d316e7 sdmmc: implement deselecting a card
In some cases the card needs to be returned to standby mode from data
transfer mode. This is done using CMD7 command, which does not receive
any response in this case.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov
f908425b13 sdmmc: introduce is_app_cmd flag, check it along with opcode
‘make_hw_cmd’ function checks opcodes in a few cases. Comparing opcode
does not tell the whole story, because for some SD commands there is are
APP commands with the same opcodes. This change introduces a flag which
indicates whether the next command is going to be an APP command.
The check for APP_SET_BUS_WIDTH command is updated to use this flag.
This fixes a bug with an unexpected STOP_TRANSMISSION command sent after
SWITCH_FUNC command, which has opcode 6, same as APP_SET_BUS_WIDTH.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov
e6258ac6cb sdmmc: don’t flip word order in MMC_RSP_BITS
MMC_RSP_BITS helper function had a hack that it flipped word order in
the response, assuming that response size is 4 words. This hack does not
work for responses which are not 4 words long (such as the SWITCH_FUNC
response, which is 64 words long).

This change removes the hack and the matching word order reversal code
in sdmmc driver.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov
159a2d01d1 Merge branch 'bugfix/spi_dma' into 'master'
bugfix(spi_master): fix several issues when using RX DMA

See merge request !1006
2017-08-16 18:55:25 +08:00
Ivan Grokhotkov
8a7bc34b78 Merge branch 'feature/remove_wifi_config_option' into 'master'
Remove wifi config option

Remove Wi-Fi enable/disable option from Kconfig. This can be detected by the presence of esp_wifi_init() function in the application. Minimum footprint impact after the change.

See merge request !1098
2017-08-16 18:43:56 +08:00
Kedar Sovani
6405d6f874 kconfig: Add an option for skipping binary blobs 2017-08-16 15:55:42 +05:30
Kedar Sovani
ba8cd58b08 kconfig: Remove Wi-Fi on/off as a menuconfig option
This is no longer required since the functions automatically get
pulled in based on the usage. A quick summary of footprint
comparisions before and after these set of patches is shown below:

Hello-World: (simplified for readability)
 old Total image size:~ 104902 bytes (.bin may be padded larger)
 old Total image size:~ 105254 bytes (.bin may be padded larger)
 Per-archive contributions to ELF file:
             Archive File DRAM .data & .bss   IRAM Flash code & rodata   Total
 old              libesp32.a       1973    177   4445       3939     2267   12801
 new              libesp32.a       1973    185   4473       3939     2267   12837

 new             libnvs_flash.a          0     92      0        274        8     374
 new             libstdc++.a          0      0      0         24        0      24

For some reason, nvs_flash.a (~400bytes) gets pulled in (particularly
the nvs_flash_init() function).

Power-Save: (simplified for readability)
 old Total image size:~ 421347 bytes (.bin may be padded larger)
 old Total image size:~ 421235 bytes (.bin may be padded larger)

 old      libtcpip_adapter.a          0     81      0       1947      115       2143
 new      libtcpip_adapter.a          0     69      0       1897      115       2081

The size actually shrinks a bit, since the AP interface function
doesn't get pulled in.
2017-08-16 15:55:28 +05:30
Kedar Sovani
a24130b390 tcpip_adapter: Decompose tcpip_adapter_start() into interface specification options
Since only the used interface's start function gets called, it pulls
in only the functions that are required in the current application,
thereby saving footprint.
2017-08-16 15:54:29 +05:30
Kedar Sovani
159e7e81b4 esp32: Make 'restart' function independent of Wi-Fi
Restart being a lower-layer system-level function, needn't depend on
the higher level Wi-Fi libraries.

This also enables us to get rid of one more WIFI_ENABLED ifdef check
2017-08-16 15:54:28 +05:30
Kedar Sovani
a41b1a9d1f esp32: Register event handlers on the esp_wifi_init() call 2017-08-16 15:54:28 +05:30
Kedar Sovani
55a6aca355 wifi: Map esp_wifi_init() to esp_wifi_init_internal()
Follow-on patches will include additional functionality in
esp_wifi_init()
2017-08-16 15:54:28 +05:30
Kedar Sovani
8063b93497 wifi_lib: Update to the change in the wifi_lib repository 2017-08-16 15:54:13 +05:30
Ivan Grokhotkov
1633582ac4 Merge branch 'bugfix/spi_address' into 'master'
fix(spi_master): make the address field more intuitive to use.

See merge request !1074
2017-08-16 10:25:21 +08:00
michael
ed1d084aea fix(spi_master): make the address field more intuitive to use.
The address field should be placed at the highest bits of address and slv_wr_status registers. Instead of breaking the address into two parts and fill in each register, move the address to the highest bits and write to the registers respectively.

Breaking change: if you fill-in the SPI address filed in a previous version in some way and it works correctly, you still have to rewrite the address, in a more intuitive way.
2017-08-15 14:49:31 +08:00
Angus Gratton
969f1bb9be Merge branch 'bugfix/ota_failsafe' into 'master'
bootloader: Fallback if OTA data is invalid

See merge request !1033
2017-08-15 08:11:38 +08:00
Angus Gratton
5eef5e7a5d bootloader: Fallback if OTA data is invalid
Make bootloader more robust if either OTA data or some OTA app slots are corrupt.
2017-08-15 09:42:19 +10:00
michael
366e4397e9 fix(spi_dma_rx): fixed the invalid argument issue in full-duplex mode.
force rxlength=length and mosi=1 and inlink.start=1 on in full-duplex mode.
set rxlength > length is forbidden in full-duplex mode.

TW#12609, TW#14240, https://www.esp32.com/viewtopic.php?f=13&t=2519
2017-08-14 17:25:30 +08:00
michael
227b011f6a fix(spi_master): fix SPI master, now able to transfer more than 32 bytes in non-DMA-accessable area.
apply for internal space to hold these data.
use DMA when it's enabled, no matter long or short.

TW#12226, github#551
2017-08-14 17:19:57 +08:00
Angus Gratton
8f44efc619 Merge branch 'bugfix/ledc_fade_divided_by_zero' into 'master'
bugfix(ledc): fix integer divided by zero in function ledc_set_fade_with_time

See merge request !1048
2017-08-14 13:52:36 +08:00
Ivan Grokhotkov
5fdde089e5 Merge branch 'bugfix/wl_ext_size_test' into 'master'
wear_levelling: fix unit test, fix sector erase in performance mode

See merge request !1093
2017-08-14 09:35:12 +08:00
Kedar Sovani
0cc59d5f67 build: Print real paths for 'ulp' build objects as well
Signed-off-by: Kedar Sovani <kedars@gmail.com>
2017-08-11 14:26:44 +05:30
XiaXiaotian
67b6327c4e Zero static IP address can also be set 2017-08-10 19:43:26 +08:00
Ivan Grokhotkov
43b81c8f11 Merge branch 'feature/fast_crypto_used_in_supplicant' into 'master'
Add the fast crypto function in supplicant, relate to the task tw13712

See merge request !1075
2017-08-09 21:55:05 +08:00
Deng Xin
57bc38d867 Add the fast crypto function in supplicant
optimize the speed when do wifi connect
2017-08-09 21:36:13 +08:00
Dmitry Yakovlev
af414eadbd Log level changed to remove useless info. 2017-08-09 10:25:40 +03:00
Dmitry Yakovlev
8f0f9d8ab0 Fix: tests now process correct. The length of written array now fit to the defined range.
Fix: perfomance mode bugfix for big sector sizes.
2017-08-09 09:35:32 +03:00
Yulong
4efc97efc1 component/bt: All esp_bluedroid_get_status check-return could be used as MACRO ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED); 2017-08-08 05:28:19 -04:00
Ivan Grokhotkov
5539bfb83b sdmmc: mark new unit test as ignored 2017-08-08 03:51:54 +08:00
Ivan Grokhotkov
59a28ebccc wear_levelling: temporarily disable 512 byte sectors
Unit tests are failing with the new 512 byte sector option. Disabling
this option to let the tests pass.
2017-08-08 03:26:14 +08:00
Ivan Grokhotkov
097dced499 wear_levelling: clean up Kconfig 2017-08-08 03:26:14 +08:00
Ivan Grokhotkov
b260f6cb25 Merge branch 'bugfix/sdmmc_unaligned_write' into 'master'
sdmmc: fix reads/writes to/from unaligned buffers

See merge request !1071
2017-08-08 02:55:13 +08:00
Ivan Grokhotkov
a88435ccbf Merge branch 'feature/aws_iot_menuconfig' into 'master'
aws_iot: Expose common SDK compile-time configuration in menuconfig

See merge request !1030
2017-08-07 17:22:48 +08:00
Ivan Grokhotkov
dfda0fa67b Merge branch 'feature/add_gpio_drive_capability' into 'master'
feature(gpio): add APIs to set and get pad drive capability.

See merge request !1010
2017-08-07 17:21:42 +08:00
Ivan Grokhotkov
7421452ca2 Merge branch 'bugfix/nghttp_build_port' into 'master'
nghttp: build port directory

See merge request !1057
2017-08-07 17:21:15 +08:00
Ivan Grokhotkov
72ee0120cd Merge branch 'feature/wl_ext_sector_size' into 'master'
Feature/wl ext sector size

See merge request !1038
2017-08-07 17:20:34 +08:00
Ivan Grokhotkov
938085e749 Merge branch 'bugfix/windows_build' into 'master'
Disable link time optimisation for bootloader

See merge request !1044
2017-08-07 17:19:16 +08:00
Jiang Jiang Jian
a92806b089 Merge branch 'bugfix/tw14130_fix_buf_err' into 'master'
emac:fix rx buf err

See merge request !1073
2017-08-04 15:17:33 +08:00
shangke
01a2c31e1f change copy right 2017-08-04 14:56:58 +08:00
Jiang Jiang Jian
886ea722ec Merge branch 'bugfix/btdm_add_set_local_privacy_callback' into 'master'
component/bt: add set local privacy func callback

See merge request !1026
2017-08-04 14:52:02 +08:00
Jiang Jiang Jian
ea3b3046c2 Merge branch 'bugfix/btdm_fix_esp_ble_gatts_set_attr_value_memory_leak' into 'master'
component/bt: fix esp_ble_gatts_set_attr_value() memory leak

See merge request !1068
2017-08-04 14:40:54 +08:00
shangke
05aa09fbb9 beautify the code 2017-08-04 14:24:44 +08:00
shangke
1e6f904d38 add comments for rx list 2017-08-03 14:44:22 +08:00
Jiang Jiang Jian
e165336428 Merge branch 'bugfix/btdm_Wrong_return_code_type_for_esp_ble_gattc_register_for_notify_and_unregister_for_notify_func' into 'master'
component/bt: fix wrong return code type for notify functions

See merge request !1070
2017-08-03 10:49:47 +08:00
Ivan Grokhotkov
d286d2f647 Merge branch 'feature/apptrace_api_ext' into 'master'
esp32: Apptrace API enhancement

See merge request !1021
2017-08-02 14:34:42 +08:00
shangke
ae571ddddf fix rx buf 2017-08-01 11:59:57 +08:00
Tian Hao
d2872cbf2e component/bt : remove fixed queue from btu 2017-08-01 11:35:22 +08:00
Jiang Jiang Jian
fedc5090d1 Merge branch 'bugfix/btdm_optimize_controller_task' into 'master'
component/bt : fix a bug and optimize controller task handler

See merge request !1066
2017-08-01 11:10:56 +08:00
Ivan Grokhotkov
512898edee sdmmc: fix reads/writes to/from unaligned buffers
SDMMC hardware treats all buffers as aligned, and ignores 2 LSBs of
addresses written into DMA descriptors. Previously SDMMC host driver
assumed that data buffers passed from SDDMC command layer would be
aligned. However alignment checks were never implemented in the command
layer, as were the checks that the buffer coming from the application
would be in DMA capable memory. Most of the time this was indeed true.
However in some cases FATFS library can pass buffers offset by 2 bytes
from word boundary. “DMA capable” restriction may be broken if pSRAM
support is used.

This change adds buffer checks to the SDMMC host driver (alignment and
DMA capability), so that the host layer will error out for incompatible
buffers. In SDMMC command layer, a check is added to read and write
functions. If an incompatible buffer is passed from the application, new
buffer (512 bytes size) is allocated, and the transfer is performed
using {READ,WRITE}_SINGLE_BLOCK commands.
2017-08-01 03:15:11 +08:00
Jeroen Domburg
9314bf0d37 Merge branch 'bugfix/spi_change_host' into 'master'
fix(spi_master): fix the bug that VSPI no respond when host changed from HSPI to VSPI, and vice versa.

See merge request !997
2017-07-31 18:33:36 +08:00
Dmitry Yakovlev
831cc4b42f Typos correction. 2017-07-31 13:19:41 +03:00
Dmitry Yakovlev
06805842ea Some typos corrected in readme. 2017-07-31 13:19:38 +03:00
Dmitry Yakovlev
9ebb68c2dc Added component to change standard size of the flash device. Now the sector size could be less. The configuration supports it. 2017-07-31 13:19:36 +03:00
zhiweijian
6ff53d1967 Component/bt: wrong return code type for notify func
- fix  esp_ble_gattc_register_for_notify()  returen wrong code type
- fix  esp_ble_gattc_unregister_for_notify()  returen wrong code type
2017-07-31 18:02:15 +08:00
zhiweijian
87d58b9ddb Component/bt: fix esp_ble_gatts_set_attr_value( ) memory leak 2017-07-31 17:24:07 +08:00
Tian Hao
6afadc3286 component/bt : fix a bug and optimize controller task handler
1. fix controller task printf in ISR may cause exception.
2. optimize task handler process.
2017-07-31 14:48:39 +08:00
XiaXiaotian
1c4f7f2081 add get and set wifi maximum transmit power API 2017-07-28 15:06:52 +08:00
Jiang Jiang Jian
a31736990c Merge branch 'bugfix/btdm_osi' into 'master'
component/bt : add osi_is_in_isr && fix vhci delay

See merge request !1054
2017-07-28 11:35:04 +08:00
Jiang Jiang Jian
ff3aa69e76 Merge branch 'feature/tw13968_optimize_for_tcp_close' into 'master'
lwip: optimize TCP close

See merge request !1022
2017-07-28 11:34:12 +08:00
Ivan Grokhotkov
3bd6194c58 Merge branch 'feature/docs_jtag_debugging' into 'master'
Update and extension of Debugging documentation

See merge request !850
2017-07-27 22:03:45 +08:00
Liu Zhi Fu
4ad1f2b272 lwip: optimize TCP close
Optimize TCP close:
1. Not remove TCP pcb when IP address is changed since the lwip netconn still need the pcb
2. If the TCP connection is in TCP_FIN_WAIT_1 for too long time, remove it
2017-07-27 12:44:39 +08:00
Jiang Jiang Jian
843159b0d7 Merge branch 'feature/add_menuconfig_option_for_ba_window' into 'master'
esp32: add menuconfig options to configure BA window

See merge request !915
2017-07-27 10:46:04 +08:00
zhiweijian
fc05851b05 Component/bt: add set local privacy func callback 2017-07-26 17:29:10 +08:00
krzychb
1fb85b494c JTAG Debugging - revamping of Debugging documentation 2017-07-26 14:53:43 +08:00
Ivan Grokhotkov
ee6d0631f4 nghttp: build port directory
Fixes https://github.com/espressif/esp-idf/issues/843
2017-07-26 14:27:20 +08:00
Ivan Grokhotkov
002f38fa8f Merge branch 'feature/sdspi_driver' into 'master'
SD SPI mode driver

This MR adds functionality to support SD cards connected via SPI interface.
Additionally, two bugs are fixed:
- Definition of `SPI_TRANS_MODE_DIOQIO_ADDR` in spi_master driver
- SD card probing frequency was 4000kHz instead of 400kHz as required by the standard

See merge request !727
2017-07-26 13:51:37 +08:00
Jiang Jiang Jian
460ab2e33b Merge branch 'feature/make_tcp_udp_receive_mbox_configurable' into 'master'
lwip: Make UDP/TCP receive mail box configurable

See merge request !1051
2017-07-25 20:45:38 +08:00
Tian Hao
b500d6558a component/bt : add osi_is_in_isr && fix vhci delay 2017-07-25 19:58:39 +08:00
Liu Zhi Fu
7b2f388abc lwip: Make UDP/TCP receive mail box configurable
Different application may require different TCP/UDP receiv mail box size,
so make them configurable.
2017-07-25 13:56:32 +08:00
Liu Zhi Fu
c99c5d13e6 esp32: add menuconfig options to configure BA window
Make AMPDU Block Ack Window configurable in menuconfig because we need to configure it
in some special cases, such as iperf test etc
2017-07-25 13:11:38 +08:00
Liu Zhi Fu
9ae5c6700b lwip/ethernet: fix emac rx buf err
1. Lwip not free the ethernet buf in lwip layer
2. Fix emac counter error
2017-07-25 11:19:31 +08:00
Alexey Gerenkov
60c45ae2c4 Updated acc to comments 2017-07-24 20:07:21 +03:00
Alexey Gerenkov
c2c9149a24 esp32: Apptrace API enhancement
- User down buffer configuration support
 - bugfix: ring buf - avalable write size undeflow
 - SysView down buf support updated
2017-07-24 19:57:44 +03:00
Ivan Grokhotkov
6fbd6a007b Merge branch 'bugfix/uart_tx_glitch' into 'master'
bugfix(uart): fix signal glitch on tx pin

See merge request !1032
2017-07-24 19:43:25 +08:00
Yulong
9d9280a8ea component/bt: Added the bluedorid status checkout for the BLE security API. 2017-07-24 02:50:23 -04:00
Ivan Grokhotkov
967611cfaa Revert "bootloader: Add option to build with Link Time Optimisation enabled"
This reverts commit d1b66a08c1.
2017-07-24 05:14:31 +08:00
qianyicheng
acec9b9d35 bugfix(ledc): fix integer divided by zero in function ledc_set_fade_with_time 2017-07-21 19:06:44 +08:00
michael
99769f0b00 fix(spi_master): fix the bug that VSPI no respond when host changed
from HSPI to VSPI, and vice versa.

fix the SPI control bits written wrong in the headers.

TW#12123, Github#477
2017-07-21 14:50:17 +08:00
Tian Hao
63566f6650 component/bt : fix RX packets losing bug 2017-07-20 15:53:01 +08:00
Jiang Jiang Jian
8fd6ab9a39 Merge branch 'feature/btdm_ble_tx_power_new' into 'master'
component/bt : add ble tx power && fix controller deinit mem leak

See merge request !1018
2017-07-20 15:16:13 +08:00
Wangjialin
9d466de235 bugfix(uart): fix signal glitch on tx pin
gpio_matrix_out function will set output enable for GPIO, seems in gpio_matrix_out there will be a short moment that the chip will output GPIO level.
So we can set GPIO as high before gpio_matrix_out function.
2017-07-20 14:34:11 +08:00
Ivan Grokhotkov
292c2abd3b Merge branch 'bugfix/init_nvs_in_bluetooth' into 'master'
bt: call nvs_flash_init in examples, show error if NVS is not initialized

See merge request !1003
2017-07-20 14:25:49 +08:00
Dmitry Yakovlev
e5bb45f381 driver: SD protocol driver for SPI peripheral 2017-07-20 13:43:07 +08:00
Ivan Grokhotkov
5f8785eaec sdmmc: add support for SPI protocol commands 2017-07-20 13:34:21 +08:00
Ivan Grokhotkov
3b96771feb sdmmc: fix probing clock frequency
Probing clock frequency should be 400kHz, not 4MHz.
2017-07-20 13:34:21 +08:00