Commit graph

12185 commits

Author SHA1 Message Date
me-no-dev
84590ec0a4 FATFS enable support for multiple drives
Current implementation has drive numbers and paths hardcoded to support
only one FATFS drive. Arduino has it's own SPI driver to allow
compatibility and flexibility. With the MR it is possible to have up to
```_VOLUMES``` drives connected (SPI, SDMMC and others) at the same
time and accessed through VFS
2017-01-31 17:23:25 +02:00
Angus Gratton
64e6e7a0ae mbedtls: Use two MPI multiplications when multiply operands too large
Allows RSA4096 via hardware crypto operations.

See github #139 https://github.com/espressif/esp-idf/issues/139
2017-01-31 14:36:26 +11:00
Angus Gratton
0a678ebe8c Merge branch 'feature/openssl_option' into 'master'
components/openssl: refactor openssl debugging and assert function

1. add openssl option at menuconfig
2. remove SSL_ERR to reduce complexity
3. add more functions about debugging and assert

According these, our coders and customers may use and debug the OpenSSL code easily.


See merge request !400
2017-01-27 08:37:02 +08:00
Angus Gratton
21c7fc624a Merge branch 'bugfix/encrypted_partition_flag' into 'master'
Use PART_FLAG_ENCRYPTED value in gen_esp32part.py

Currently paritions marked as encrypted by gen_esp32part.py are not
recognized as such and encrypted writes don't work.

This is part of espressif/esp-idf#253

Merges Pull Request #293 https://github.com/espressif/esp-idf/pull/293

See merge request !470
2017-01-27 08:34:08 +08:00
Angus Gratton
aaa891ada9 Merge branch 'feature/custom_partition_table_csv_path' into 'master'
Allow providing custom PARTITION_TABLE_CSV_PATH

Provide direct absolute path to CSV, without project_path

Github pull request #296: https://github.com/espressif/esp-idf/pull/296

See merge request !469
2017-01-27 08:33:41 +08:00
Angus Gratton
a4c76671c2 Merge branch 'bugfix/spi_multiple_cs_fix' into 'master'
Add missing variable initialisation to make SPI work for multiple CS

Ref https://github.com/espressif/esp-idf/pull/277
From PR: "I am not especially familiar with this platform or with esp-idf -- so review with care.

The spi-master driver would not work for me when the number of devices on a bus exceeded 1 (caused device hang). I believe this is because cur_cs is not properly set (anywhere), and yet is used. This is likely just not noticed because 0 is presumably the correct value when there's only 1 device (and I'm guessing multi-device setup is not tested as thoroughly).

Simply setting cur_cs to the correct slot value resolves the problem and multiple devices on a single bus behave correctly in my test environment."

Looks like a small oversight on my side.

See merge request !468
2017-01-27 08:33:16 +08:00
Alexey Gerenkov
f512923791 esp32: Fixed search path for esptool 2017-01-26 19:28:13 +03:00
Alexey Gerenkov
e6f8837152 esp32: Fixed and updated core dump docs 2017-01-26 18:47:10 +03:00
Jiang Jiang Jian
5e3b30da3a Merge branch 'bugfix/fix_two_wifi_datapath_issues' into 'master'
esp32: udpate wifi lib to fix two datapath issues

1. fix ampdu<->mpdu<->ampdu switch may cause rx slow issue by put mpdu into ampdu reorder queue
2. fix each ac first sending always fail issue by adding retry

See merge request !471
2017-01-26 21:52:28 +08:00
Angus Gratton
b6a2329f0f FreeRTOS: esp_crosscore_int_send_yield() should be in IRAM
Possible for xQueueGenericSendFromISR -> xTaskRemoveFromEventQueueList
-> taskYIELD_OTHER_CORE code path to occur while cache is off.
2017-01-26 18:53:02 +11:00
Angus Gratton
eea2788f5a OTA: Fix issues with encrypted OTA
- OTA source can write non-16-byte multiples of data
- Assumption that empty ota_data is 0xFFFFFFFF untrue when encrypted
2017-01-26 18:52:35 +11:00
Liu Zhi Fu
385c61e183 esp32: udpate wifi lib to fix two datapath issues
1. fix ampdu<->mpdu<->ampdu switch may cause rx slow issue by put mpdu into ampdu reorder queue
2. fix each ac first sending always fail issue by adding retry
2017-01-26 15:35:04 +08:00
Liu Zhi Fu
39fe51924e esp32: update wifi lib to fix two datapath issues
1. fix ampdu<->mpdu<->ampdu switch may cause rx slow issue by put mpdu into ampdu reorder queue
2. fix each ac first sending always fail issue by adding retry
2017-01-26 15:33:23 +08:00
Angus Gratton
d8aae55eeb Flash encryption: Temporary fix for issue with stale cache reads
Seems doing certain kinds of short reads while flash encryption is
enabled will return stale data. This fixes it, but is probably a
little heavy-handed performance wise.
2017-01-26 18:29:18 +11:00
Angus Gratton
67336672bd OTA: Improve verification of OTA image before writing, incl. secure boot
Verify 0xE9 magic byte on first write, verify entire image before
switching.

Enable verification for secure boot signature (was using invalid ifdef
guard)
2017-01-26 16:20:06 +11:00
Angus Gratton
813395adcb OTA: Fall back to factory partition if ota data partition is invalid 2017-01-26 16:20:06 +11:00
Tian Zhong Xing
2173ad3b45 bootloader_support: fix bug OTA & flash encryption incompatible
ota data partition should be encrypted unconditionally when flash encrypt enable
2017-01-26 16:20:06 +11:00
Ivan Grokhotkov
4dd81fddd8 Merge branch 'feature/add_build_at_job_in_ci' into 'master'
CI: add job to check build esp-at in esp-idf

Add a job to check if latest IDF breaks `esp-at` build.

As `esp-at` is an application and has its own CI, we don't save binary as artifacts.

See merge request !462
2017-01-26 10:46:45 +08:00
Dong Heng
93395a3370 components/openssl: Add more debugging information at platform level 2017-01-26 10:12:58 +08:00
Deomid Ryabkov
4f7e4dd0f5 Use PART_FLAG_ENCRYPTED value in gen_esp32part.py
Currently paritions marked as encrypted by gen_esp32part.py are not
recognized as such and encrypted writes don't work.

This is part of espressif/esp-idf#253
2017-01-26 12:27:00 +11:00
Dermot Duffy
33500f2561 Add missing variable initialisation.
Signed-off-by: Jeroen Domburg <jeroen@espressif.com>
2017-01-25 21:41:45 +08:00
Jiang Jiang Jian
32ad1e676d Merge branch 'lwip/optimize_dhcpc_taken_time' into 'master'
lwip: optimize the dhcp client

1. modify the discover retry backoff time from (2,4,8,16,32,60,60)s to (500m,1,2,4,8,15,15)s.
2. add DHCP_DOES_ARP_CHECK to menuconfig for users to specify if do a ARP check on the offered address.
   If enable, one more second will be taken.

See merge request !459
2017-01-25 21:39:17 +08:00
Ivan Grokhotkov
8e467801bc Merge branch 'bugfix/btdm_debug_gatt_attr_table' into 'master'
component/bt: Fix Gatt table read_req bug and advertising channel 39 not available bug

1. Fix Gatt table read request bug
2. Fix advertising channel 39 not available bug

See merge request !463
2017-01-25 11:48:09 +08:00
Island
c6bb239f0c component/bt: Fix Gatt table read_req bug and advertising channel 39 not available bug 2017-01-25 11:18:26 +08:00
Deomid Ryabkov
74f78540ae Allow providing custom PARTITION_TABLE_CSV_PATH
Provide direct absolute path to CSV, without project_path
2017-01-25 00:30:29 +00:00
Dong Heng
1d0c909daf components/openssl: fixes for github issues 219
"SSL_write" doesn't send large buffers correctly
2017-01-24 17:36:32 +08:00
He Yin Ling
d193424ae8 CI: add job to check build esp-at in esp-idf 2017-01-24 15:52:07 +08:00
qiyueixa
03e3b137bf lwip: optimize the dhcp client
1. modify the discover retry backoff time from (2,4,8,16,32,60,60)s to (500m,1,2,4,8,15,15)s.
2. add DHCP_DOES_ARP_CHECK to menuconfig for users to specify if do a ARP check on the offered address.
   If enable, one more second will be taken in obtaining IP address.
3. update wifi libs
2017-01-23 13:44:34 +08:00
Ivan Grokhotkov
6bc9cd39e9 Merge branch 'feature/spi_flash_write_16bytes' into 'master'
SPI Flash: Allow 16 byte aligned encrypted writes

Also includes some improved documentation

See merge request !456
2017-01-20 20:09:48 +08:00
Angus Gratton
d4462664b7 spi_flash: Move FLASH_PAGE_SIZE constant into esp_spi_flash.h 2017-01-20 19:50:01 +08:00
Angus Gratton
14aa1d1b3e docs: spi_flash: Add flash encryption ops, remove boilerplate 2017-01-20 19:50:01 +08:00
Angus Gratton
adc590ff69 spi_flash_write_encrypted: Allow 16-byte aligned block writes
As each 32 byte write has two identical 16 byte AES blocks, it's
possible to write them separately.
2017-01-20 19:48:46 +08:00
Angus Gratton
36ccdee6ec spi_flash: Flush flash cache if flash_mmap()ing a written-to page
Without this, it's possible for stale information to be read from
cache via mmap, even if the MMU table entry had been invalidated
prior to writing flash (if  the same MMU table entry was re-used after
writing flash.)
2017-01-20 19:48:46 +08:00
Angus Gratton
95c150fe2c spiflash: Add spi_flash_read_encrypted() function 2017-01-20 19:48:46 +08:00
Ivan Grokhotkov
fbe89a0833 Merge branch 'feature/deploy_tags' into 'master'
ci: deploy code and docs for tags

Currently deploy happens only for the master branch.
This change is needed to support tags in release branches.

See merge request !458
2017-01-20 19:38:02 +08:00
Ivan Grokhotkov
b4a29f5240 ci: deploy code and docs for release branches
Currently deploy happens only for the master branch.
This change is needed to support release branches.
2017-01-20 18:45:21 +08:00
Ivan Grokhotkov
374d03093c Merge branch 'bugfix/misc_fixes' into 'master'
Misc fixes (including Github PRs)

Collection of single commit fixes, including several from Github.

See merge request !457
2017-01-20 17:53:12 +08:00
Ivan Grokhotkov
632bd0bb4f Merge branch 'feature/docs_gh_link_roles' into 'master'
docs: use custom roles to generate GitHub links

This change replaces direct links to GitHub master branch with
auto-generated links using docutils custom roles.
These auto-generated links point to the tree or blob for the git commit
ID (or tag) of the repository. This is needed to ensure that links don’t
become broken when files in master branch are moved around or deleted.

The following roles are introduced:

```
- :idf:`path` - points to directory inside ESP-IDF
- :idf_blob:`path` - points to file inside ESP-IDF
- :idf_raw:`path` - points to raw view of the file inside ESP-IDF
- :component:`path` - points to directory inside ESP-IDF components dir
- :component_blob:`path` - points to file inside ESP-IDF components dir
- :component_raw:`path` - points to raw view of the file inside ESP-IDF
  components dir
- :example:`path` - points to directory inside ESP-IDF examples dir
- :example_blob:`path` - points to file inside ESP-IDF examples dir
- :example_raw:`path` - points to raw view of the file inside ESP-IDF
  examples dir
```

A check is added to the CI build script, which searches RST files for
presence of hard-coded links (identified by tree/master, blob/master,
or raw/master part of the URL).
This check can be run manually: cd docs && make gh-linkcheck

Additionally, Sphinx linkcheck build type is used to create new CI test,
which check for broken links. This test has to be triggered explicitly,
because including it in normal build process (when the commit is not yet
deployed to Github) will not work. It can be triggered in a regular
fashion using a combination of cron and Curl, similar to stress tests.

See merge request !455
2017-01-20 17:47:34 +08:00
Ivan Grokhotkov
15072028c4 docs: use custom roles to generate GitHub links
This change replaces direct links to GitHub master branch with
auto-generated links using docutils custom roles.
These auto-generated links point to the tree or blob for the git commit
ID (or tag) of the repository. This is needed to ensure that links don’t
become broken when files in master branch are moved around or deleted.

The following roles are introduced:

- :idf:`path` - points to directory inside ESP-IDF
- :idf_blob:`path` - points to file inside ESP-IDF
- :idf_raw:`path` - points to raw view of the file inside ESP-IDF
- :component:`path` - points to directory inside ESP-IDF components dir
- :component_blob:`path` - points to file inside ESP-IDF components dir
- :component_raw:`path` - points to raw view of the file inside ESP-IDF
  components dir
- :example:`path` - points to directory inside ESP-IDF examples dir
- :example_blob:`path` - points to file inside ESP-IDF examples dir
- :example_raw:`path` - points to raw view of the file inside ESP-IDF
  examples dir

A check is added to the CI build script, which searches RST files for
presence of hard-coded links (identified by tree/master, blob/master,
or raw/master part of the URL).
This check can be run manually: cd docs && make gh-linkcheck

Additionally, Sphinx linkcheck build type is used to create new CI test,
which check for broken links. This test has to be triggered explicitly,
because including it in normal build process (when the commit is not yet
deployed to Github) will not work. It can be triggered in a regular
fashion using a combination of cron and Curl, similar to stress tests.
2017-01-20 17:22:47 +08:00
wangmengyang
2c87e84b0a component/bt: bluetooth storage module clean up and bug fix.
1. clean up bluetooth storage log prints;
2. reduce maximum link key storage size
3. modify so that the link key information of the latest connected device is stored at first
2017-01-20 16:46:10 +08:00
Angus Gratton
fab35cb307 Merge branch 'feature/esptool_v20_beta' into 'master'
Update esptool.py to v2.0-beta1

* Minor bug fixes, no major functionality changes from the esp-idf perspective.
* Now tracks master branch of esptool repo (finally!)
* Supports Python 3, although our other esp-idf Python tools don't yet support Python 3.

See merge request !396
2017-01-20 15:45:03 +08:00
Mike Ryan
74aff89918 gatts_demo: re-enter advertising after client disconnects
In the existing tree, after a connected client disconnects the device
will never re-enter the advertising state. Additional clients will not
be able to discover or connect to the device. This patch forces the
device back into the advertising state upon disconnection.

Resolves Pull Request #217 https://github.com/espressif/esp-idf/pull/217
2017-01-20 14:57:41 +11:00
Dermot Duffy
6f3f3bb30c Add missing bit from LEDC interrupt state struct.
Resolves #191 https://github.com/espressif/esp-idf/pull/191
2017-01-20 14:57:24 +11:00
Jan Schmidt
a14f22f65b netconn_gethostbyname: Fix race reporting success
If the DNS request is dispatched and performed very quickly,
then it can complete before tcpip_callback() actually returns,
in which case we'll destroy the actual err_t error value passed
in the message. Use a local variable for the tcpip_callback
error code so that can't happen.

Resolves #269 https://github.com/espressif/esp-idf/pull/269
2017-01-20 14:57:00 +11:00
Jan Schmidt
ac412feb69 gpio: Attach gpio intr to the isr_server on the right core.
Make sure GPIO interrupts get attached to the core that
the ISR service routine is running on, otherwise they
don't arrive.
2017-01-20 14:56:59 +11:00
Angus Gratton
b022232e84 esp_panic.h: Add C++ include guards 2017-01-20 14:56:59 +11:00
Angus Gratton
0b257cfcef bt: esp_ble_gatts_send_indicate: Fix description 2017-01-20 14:56:54 +11:00
Ivan Grokhotkov
92b9ed8342 Merge branch 'bugfix/ci_test_result_always_fail' into 'master'
CI: fix bug that test result always fail

CI test report jobs always fails because of 2 bugs:

1. merge/rebase error: the variable used to log test result is modified during merge/rebase
2. path of unit test module definition file is not correct

See merge request !454
2017-01-20 11:13:41 +08:00
He Yin Ling
5305842763 CI: fix merge error on test report job
the variable used to save report result is changed by merge error
2017-01-19 23:37:12 +08:00
Jiang Jiang Jian
0fca7769e8 Merge branch 'bugfix/ethernet_flow_control' into 'master'
ethernet: limit rx buf num when flow ctrl enable.



See merge request !452
2017-01-19 22:16:40 +08:00