Skip to content

update from espressif before 20910607 #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 203 commits into from
Jun 7, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
203 commits
Select commit Hold shift + click to select a range
89b4d12
docs: Upgraded Sphinx, Breathe and Blockdiag to the latest versions
krzychb Feb 26, 2019
6889537
tools(unit-test_app): Update from esp-idf
Mar 18, 2019
b522e9a
tools(unit-test-app): Modify for ESP8266
Mar 18, 2019
050fb6a
feat(esp8266): Add esp-idf error number description
Mar 21, 2019
5970720
feat(espos): Remove ESPOS
Mar 25, 2019
c378e07
feat(esp8266): Add option to init OS before starting it
Mar 25, 2019
56e6b98
Merge branch 'feature/remove_espos' into 'master'
donghengqaz Mar 26, 2019
eb6d4f7
Merge branch 'feature/init_os_before_start_it' into 'master'
donghengqaz Mar 26, 2019
68e990c
feat(freertos): Clean up unused or unsupported code for ESP8266
Mar 27, 2019
b05cf79
Merge branch 'feature/cleanup_rtos_dependence' into 'master'
donghengqaz Mar 27, 2019
d5d34f3
feat(esp8266): add phy version log
Mar 27, 2019
2bb25a0
feat(lwip): Clean up LwIP port code
Mar 28, 2019
d177396
bugfix(pwm): fix pwm error phase
xiongyumail Mar 29, 2019
bfb6ad8
chore(jira): Sync issues from github to JIRA
Mar 29, 2019
0787de1
Merge branch 'chore/sync_github_to_jira' into 'master'
donghengqaz Mar 29, 2019
2449523
feat(util): Add IBus get data function
Mar 29, 2019
f200857
Merge branch 'bugfix/PWM_error_phase' into 'master'
wujiangang Apr 1, 2019
24a5792
Merge branch 'feature/add_ibus_data_util' into 'master'
donghengqaz Apr 1, 2019
a11febe
Merge branch 'feature/add_phy_version_log' into 'master'
wujiangang Apr 1, 2019
bc01a1d
Merge branch 'feature/update_unit_test_app' into 'master'
donghengqaz Apr 1, 2019
17fc3ab
feat(util): Refactor CRC algorithm
donghengqaz Nov 8, 2018
0460e53
Merge branch 'feature/refactor_crc' into 'master'
donghengqaz Apr 1, 2019
86df7f8
feat(heap): Link heap raw malloc/free from flash to iram
Apr 2, 2019
288b1c8
Merge branch 'feature/link_heap_to_iram' into 'master'
donghengqaz Apr 2, 2019
0ce7b87
chore(esp_ringbuf): Divide ringbuf as a independent component from fr…
Apr 4, 2019
c43e3c0
fix(esp8266): Fix wps leaks OSI
Apr 3, 2019
3a4f34c
Merge branch 'bugfix/fix_wps_osi_leak' into 'master'
donghengqaz Apr 4, 2019
94c08b5
Merge branch 'chore/add_esp_ringbuf' into 'master'
donghengqaz Apr 4, 2019
cca26bc
bugfix(uart): fix uart enable swap blockage
xiongyumail Apr 4, 2019
a9acaf9
fix(esp8266): Fix "esp_sleep.h" internal leaks "gpio.h" data declare
Apr 4, 2019
da6c51d
Merge branch 'bugfix/esp_sleep_leaks_gpio_declare' into 'master'
donghengqaz Apr 4, 2019
67964eb
Merge branch 'bugfix/uart_enable_swap' into 'master'
wujiangang Apr 9, 2019
a45f657
fix(pp): fix pwm error
Apr 9, 2019
d913340
Merge branch 'bugfix/fix_pwm_error' into 'master'
wujiangang Apr 9, 2019
3bb1ca6
fix(lib): fix tx error when rts cts tx start tx complete came in same…
Apr 9, 2019
4d694dc
Merge branch 'bugfix/fix_tx_error_when_rts_cts_tx_start_tx_complete_c…
wujiangang Apr 9, 2019
f66e42e
fix(lib): fix pwm error in sniffer mode
Apr 9, 2019
a77d98b
Merge branch 'bugfix/fix_pwm_error_in_sniffer_mode' into 'master'
wujiangang Apr 9, 2019
4d695aa
bugfix/netif_loopback_default_to_true: Added netif loopback to true i…
supreetd21 Apr 9, 2019
4bcb11e
fix(pp): fix cannot goto force sleep mode when pm is opened
Apr 10, 2019
3477289
Merge branch 'bugfix/fix_cannot_goto_force_sleep_when_pm_is_opened' i…
donghengqaz Apr 10, 2019
6d31fd0
feat(lib): reduce scan time when connect to AP
Apr 10, 2019
dc92996
Merge branch 'feature/reduce_scan_time_when_connect_to_AP' into 'master'
donghengqaz Apr 10, 2019
2598b7e
Merge branch 'bugfix/netif_loopback_default_to_true' into 'master'
donghengqaz Apr 10, 2019
998596a
fix(make): Fix "print_flash_cmd" lose global macro
Apr 11, 2019
54d3106
Merge branch 'bugfix/fix_make_global_macro_lose' into 'master'
donghengqaz Apr 11, 2019
965fc47
feat(log): add esp_log to internal wifi lib
Jan 28, 2019
e1cfe2a
feat(lib): update library
Mar 22, 2019
2105cf0
Merge branch 'feature/add_esp_log_to_internal_wifi_lib' into 'master'
donghengqaz Apr 12, 2019
d2202f8
fix(lib): remove wme info by default
Apr 11, 2019
cdc22f2
feature(adc): add adc example
xiongyumail Mar 22, 2019
9ed50ef
Merge branch 'feature/add_adc_example' into 'master'
wujiangang Apr 15, 2019
d83c9f7
Merge branch 'bugfix/remove_wme_info_by_default' into 'master'
wujiangang Apr 15, 2019
768afde
feat(util): Add extra SHA and unit test
Apr 1, 2019
c135158
feat(lib): optimize the time of station connects to AP
Apr 15, 2019
08fc1b8
Merge branch 'feature/add_sha256' into 'master'
donghengqaz Apr 15, 2019
e36706d
feat(vfs): Bring vfs from esp-idf
Mar 7, 2019
d115434
feat(vfs): Modify for esp8266
Mar 7, 2019
cac248c
feature(i2s): add i2s driver
xiongyumail Mar 25, 2019
4198a7c
fix(lib): fix memleak when scanning in sta+softap mode
Apr 16, 2019
913188f
feat(freertos): Simplify xtensa platform code
Mar 27, 2019
29e109e
Merge branch 'feature/add_vfs' into 'master'
donghengqaz Apr 16, 2019
8aae2e5
Merge branch 'feature/simplify_xtensa_code' into 'master'
donghengqaz Apr 16, 2019
b3658b4
feat(freertos): Add option for idle task stack size
Apr 17, 2019
77c6a71
Merge branch 'feature/add_idle_task_stksize_option' into 'master'
donghengqaz Apr 17, 2019
b6fd236
Merge branch 'feature/errno_to_string' into 'master'
donghengqaz Apr 17, 2019
b030b79
feat(console): Bring console and its example from esp-idf
Apr 17, 2019
e82ba45
feat(console): Modify console for ESP8266
Apr 17, 2019
8cf9ba0
Merge branch 'feature/esp_console' into 'master'
donghengqaz Apr 17, 2019
aee393e
feat(console): Enable "CONFIG_USING_ESP_CONSOLE" for console example …
Apr 17, 2019
904c402
Merge branch 'feature/modifu_console_example_sdkconfig_default' into …
donghengqaz Apr 17, 2019
2ad3067
feat(vfs): Disable VFS used by default
Apr 17, 2019
abf82d0
Merge branch 'feature/modify_vfs_enable_default_value' into 'master'
donghengqaz Apr 17, 2019
784d4a1
Merge branch 'feature/use_user_set_channel_connect_to_AP' into 'master'
wujiangang Apr 18, 2019
f3c97bb
Merge branch 'bugfix/fix_memleak_when_scanning_in_sta_ap_mode' into '…
wujiangang Apr 18, 2019
2f3aa40
feature(spi): optimizing hspi example
xiongyumail Feb 27, 2019
0b0d82c
feature(spi_ram): add spi ram
xiongyumail Apr 10, 2019
aeaa66e
feat(esp8266): add settings for wifi tx power to menuconfig
Apr 18, 2019
cac6080
bugfix(adc): fix adc warning
xiongyumail Apr 18, 2019
e8bad2e
fix(esp8266): fix the notes of phy power level error
Apr 17, 2019
28c4952
Merge branch 'feature/add_settings_for_wifi_tx_power_to_menuconfig' i…
donghengqaz Apr 18, 2019
06e1dfe
Merge branch 'bugfix/fix_adc_warning' into 'master'
donghengqaz Apr 18, 2019
e896180
Merge branch 'feature/optimizing_hspi_example' into 'master'
wujiangang Apr 18, 2019
33463b3
Merge branch 'feature/i2s_driver' into 'master'
wujiangang Apr 18, 2019
6ab1c01
Merge branch 'feature/spi_ram' into 'master'
wujiangang Apr 18, 2019
8b5cd28
feat(esp_tls): Fix a bug of esp_tls when work on no-block mode
lhespress Apr 18, 2019
8fca88d
Merge branch 'bugfix/esp_tls_wolfssl' into 'master'
wujiangang Apr 18, 2019
d9e6963
fix(aws-iot): Fix a bug of using wolfssl wrapper
lhespress Apr 18, 2019
fed71ef
Merge branch 'bugfix/aws-iot-wolfssl' into 'master'
wujiangang Apr 18, 2019
8dd2f8d
feat(lwip): Add standard "fcntl" and "ioctl" for application if VFS i…
Apr 19, 2019
31a6bba
feat(aws-iot): Modify thing_shadow example to support wolfssl library
lhespress Apr 18, 2019
19f3ec9
Merge branch 'bugfix/fix_vfs_header_file_dependence' into 'master'
donghengqaz Apr 19, 2019
18e5b50
Merge branch 'feature/aws-iot-example' into 'master'
donghengqaz Apr 19, 2019
1623824
fix(lwip): Fix compiling error when disable "SET_SOLINGER_DEFAULT"
Apr 19, 2019
3827cae
Merge branch 'bugfix/fix_socket_mt_so_linger_option' into 'master'
donghengqaz Apr 19, 2019
9b2d10b
feat(spiffs): Bring from esp-idf
Mar 15, 2019
f6335d9
feat(spiffs): Modify for ESP8266
Mar 15, 2019
70ff359
Merge branch 'bugfix/fix_the_notes_of_phy_power_level_error' into 'ma…
donghengqaz Apr 22, 2019
a2cef19
Merge branch 'feature/cleanup_lwip_arch' into 'master'
donghengqaz Apr 22, 2019
82d472d
fix(lib): fix crash when tx state error
Apr 22, 2019
1c835ba
feat(util): Add faster AES for ESP8266 SoC
donghengqaz Nov 16, 2018
f071399
feat(freertos): Add CPU wait to save power
Apr 22, 2019
d83a151
Merge branch 'feature/update_spiffs' into 'master'
donghengqaz Apr 23, 2019
7b3186c
Merge branch 'feature/add_cpu_wait_for_low_power' into 'master'
donghengqaz Apr 23, 2019
581935b
feat(freertos): Add option for panic
Apr 2, 2019
5393749
Merge branch 'bugfix/fix_crash_when_tx_state_error' into 'master'
donghengqaz Apr 23, 2019
b133de1
Merge branch 'feature/add_option_for_panic' into 'master'
donghengqaz Apr 23, 2019
fbe9c0b
Merge branch 'feature/add_faster_aes' into 'master'
donghengqaz Apr 23, 2019
b28f599
feat(lib): send deauth to ap before connect
Apr 23, 2019
556fe6b
Merge branch 'feature/send_deauth_to_ap_before_connect' into 'master'
donghengqaz Apr 24, 2019
e7b8e9f
feat(system): Add global ISR swith
Apr 24, 2019
402fdef
Merge branch 'feature/add_global_isr_switch' into 'master'
donghengqaz Apr 24, 2019
0b571f4
feat(util): Use independent "util_assert" instead of "assert"
Apr 24, 2019
7eea900
Merge branch 'feature/add_assert' into 'master'
donghengqaz Apr 24, 2019
281802c
fix(mbedtls): Fix aes alt macro error
Apr 24, 2019
3d22ab0
Merge branch 'bugfix/fix_aes_alt_error' into 'master'
donghengqaz Apr 24, 2019
887fe57
fix(esp8266): Fix OTA firmware generation command
Apr 25, 2019
fb39679
Merge branch 'bugfix/fix_ota_firmware_cmd' into 'master'
donghengqaz Apr 25, 2019
c0007f8
bugfix(pwm): fix pwm jitter
xiongyumail Apr 26, 2019
ae61e4d
Revert "Merge branch 'feature/add_global_isr_switch' into 'master'"
donghengqaz Apr 28, 2019
b2f76cd
Merge branch 'revert-402fdef0' into 'master'
donghengqaz Apr 28, 2019
ea43a0c
feat(system): Add global ISR swith
Apr 24, 2019
26d93c1
Merge branch 'feature/add_global_isr_switch' into 'master'
donghengqaz Apr 28, 2019
9ddfce9
fix(lib): fix pwm cannot reenter nmi
Apr 26, 2019
f2a0d64
fix(tcpip_adapter): Fix recv pbuf memory leak
Apr 28, 2019
ce126a7
Merge branch 'bugfix/fix_tcpip_mem_leak' into 'master'
donghengqaz Apr 28, 2019
5f10a0e
doc(setup): Update toolchain download link URL
Apr 29, 2019
2b579ef
Merge branch 'docs/update_toolchain_download_link' into 'master'
donghengqaz Apr 29, 2019
37ffcbe
feat(esp8266): Add feature to copy old RF parameters to new SDK parti…
Apr 3, 2019
ff20801
Merge branch 'feature/load_old_phy_parameter' into 'master'
donghengqaz May 5, 2019
0fa41f1
fix(util): Fix unaligned access to the flash if some LUT is type of "…
May 5, 2019
8acd837
Merge branch 'bugfix/fix_unaligned_access_to_flash' into 'master'
donghengqaz May 6, 2019
081c1c5
fix(lwip): Fix socket multi-thread has no socket offset check
May 6, 2019
03b546f
Merge branch 'bugfix/fix_socket_when_socket_offset_is_not_zero' into …
donghengqaz May 6, 2019
1f6b19d
Merge branch 'bugfix/fix_pwm_cannot_reenter_nmi' into 'master'
donghengqaz May 6, 2019
4e5e762
Merge branch 'bugfix/pwm_jitter' into 'master'
donghengqaz May 6, 2019
2041f86
feat(spiffs): Add SPIFFS base example
May 6, 2019
34b5169
Merge branch 'feature/add_spiffs_example' into 'master'
donghengqaz May 6, 2019
9402943
feat(wpa_supplicant): Add AES-CBC-128 encrypt/decrypt wrap APIs
May 8, 2019
3ba190e
Merge branch 'feature/add_aes_128_cbc_base_on_esp_aes' into 'master'
donghengqaz May 8, 2019
ab906e6
fix(lwip): Fix UDP sync register messsage error
Apr 25, 2019
07d80fa
Merge branch 'feature/sync_ping' into 'master'
donghengqaz May 9, 2019
286abed
fix(esptool_py): Fix generating binary error when disable rom print
May 13, 2019
eca84e2
Merge branch 'bugfix/fix_disable_rom_printf' into 'master'
donghengqaz May 13, 2019
d9decc2
Merge branch 'feature/upgrade_sphinx_and_breathe' into 'master'
donghengqaz May 13, 2019
9a5ed5d
fix(esp8266): Update ssc library
May 14, 2019
9801a9a
Merge branch 'bugfix/fix_ssc_state_mixed' into 'master'
donghengqaz May 15, 2019
209ffcf
chore(ci): Build documents at CI always.
May 16, 2019
2a0b0f6
docs(doxygen): Fix header files which is not doxygen style
May 16, 2019
09d8546
Merge branch 'chore/ci_build_docs' into 'master'
donghengqaz May 16, 2019
4c45455
bugfix(pwm): fix pwm channel num type error
xiongyumail May 16, 2019
cca13e0
feat(make): Sync code from esp-idf and modify for ESP8266
May 5, 2019
268e9d5
feat(examples): Add cmake compiler script for examples
May 7, 2019
1e70364
chore(ci): CI install python dependence for the SDK
May 16, 2019
1a86bb7
Merge branch 'feature/support_cmake' into 'master'
donghengqaz May 16, 2019
43d4d27
Merge branch 'bugfix/pwm_channel_num_type_error' into 'master'
donghengqaz May 16, 2019
c48ce73
chore(ci): Remove python request packet from CI to save compiling time
May 16, 2019
49980d6
Merge branch 'chore/remove_ci_setup_python_req_packets' into 'master'
donghengqaz May 16, 2019
ca53760
feat(sc): transfer smartconfig ACK type to sc_callback
cwespressif May 17, 2019
7affcfc
feat(cjson): Check if 32-bit type data is overflow
May 20, 2019
9f49f9f
feat(esp8266): Add interrupt overhead time test
May 20, 2019
76fc05e
feat(lwip): set netif hostname according to rfc952
May 20, 2019
8ccf443
fix the comment of wifi_pkt_rx_ctrl_t in esp_wifi_types.h
cwespressif May 20, 2019
1b42f75
Merge branch 'feature/interrupt_overhead_time_test' into 'master'
donghengqaz May 21, 2019
a06729a
feat(ssl): remove AX-TLS
May 23, 2019
e2fe030
feat(lwip): add newlib <time.h> declare to "lwipopts.h"
May 23, 2019
5021a03
Merge branch 'feature/remove_axtls' into 'master'
donghengqaz May 23, 2019
0bffba3
Merge branch 'feature/add_time_head_to_lwipopt_h' into 'master'
donghengqaz May 23, 2019
345a4f6
feat(app_update): add OTA init bin
May 23, 2019
9f400bb
Merge branch 'feature/add_ota_init_bin' into 'master'
donghengqaz May 23, 2019
812fc52
lwip: fix reenter lwip_close
May 23, 2019
59873fc
Merge branch 'bugfix/fix_reenter_close' into 'master'
donghengqaz May 23, 2019
e3c6494
feat(esp-tls): Sync code from esp-idf
May 21, 2019
279d3cd
feat(esp-tls): Modify for ESP8266
lhespress Jan 23, 2019
8f258d3
fix(lib): fix crash when phrase wrong beacon
May 10, 2019
1f7d26b
Merge branch 'bugfix/fix_crash_when_phrase_wrong_beacon' into 'master'
donghengqaz May 24, 2019
e5e1afe
fix(esp8266): Fix pp_post reenter
May 24, 2019
f49b40e
Merge branch 'bugfix/fix_pp_post_reenter' into 'master'
donghengqaz May 24, 2019
a09da28
feat(app_update): Remove unnecessary macro define
May 27, 2019
c340f7d
Merge branch 'feature/sync_esp_tls' into 'master'
donghengqaz May 27, 2019
e3f66b1
feat(wpa_supplicant): disable LTM fast when enable wolfSSL
May 27, 2019
bf4eaf2
Merge branch 'feature/disable_ltm_for_wolfssl' into 'master'
donghengqaz May 27, 2019
d1fc3d9
Merge branch 'feature/remove_unnecessary_macro_define' into 'master'
donghengqaz May 27, 2019
2a57642
feat(lwip): add reserved DNS server to avoid DHCP changing all DNS se…
May 28, 2019
22d8fc6
Merge branch 'feature/add_reserved_dns_server' into 'master'
donghengqaz May 29, 2019
934dd5a
feat(esp8266): ssc flushes print buffer after printf
May 29, 2019
51361b0
feat(esp8266): disable UART swap before restart
May 30, 2019
a9b5f92
Fixed Breathe version to avoid docs build failure on ReadTheDocs serv…
krzychb May 30, 2019
eece2c3
Merge branch 'feature/disable_uart_swap_before_restart' into 'master'
donghengqaz May 30, 2019
5307b1f
Merge branch 'feature/ssc_flush_print_buf' into 'master'
donghengqaz May 30, 2019
8e159ac
tools(setup): fix windows install prerequisites
May 30, 2019
45f3052
Merge branch 'tools/fix_windows_install_script' into 'master'
donghengqaz May 30, 2019
1bed835
Merge branch 'feature/transfer_ACK_type_to_sc_callback' into 'master'
donghengqaz May 31, 2019
5a99688
Merge branch 'feature/check_data_bits_overflow' into 'master'
donghengqaz May 31, 2019
d6acfca
fix(cmake): fix cmake requires
May 31, 2019
1f771dd
Merge branch 'bugfix/fix_cmake_requires' into 'master'
donghengqaz May 31, 2019
c9e2332
Merge branch 'feature/set_netif_hostname_according_to_rfc952' into 'm…
donghengqaz May 31, 2019
ed62c28
Merge branch 'bugfix/fix_the_comment_of_sniffer_promiscuous_parameter…
donghengqaz May 31, 2019
639c64a
feat(compatibility_upgrade): add function to get old SDK's target ap …
May 29, 2019
e32f600
Merge branch 'feature/add_old_sdk_param' into 'master'
donghengqaz May 31, 2019
1e40a85
Merge branch 'bugfix/docs_build_failure_on_rtd' into 'master'
donghengqaz Jun 3, 2019
9c19b1e
feat(factory_test): add factory test and document
Feb 21, 2019
fff9509
Merge branch 'feature/factory_test' into 'master'
donghengqaz Jun 4, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 22 additions & 0 deletions .github/main.workflow
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
workflow "Sync issues to JIRA" {
on = "issues"
resolves = ["Sync to JIRA"]
}

workflow "Sync issue and PR comments to JIRA" {
on = "issue_comment"
resolves = ["Sync to JIRA"]
}

workflow "Sync PRs to JIRA" {
on = "pull_request"
resolves = ["Sync to JIRA"]
}

action "Sync to JIRA" {
uses = "espressif/github-actions/sync_issues_to_jira@master"
secrets = ["GITHUB_TOKEN", "JIRA_URL", "JIRA_USER", "JIRA_PASS"]
env = {
JIRA_PROJECT = "GIT8266O"
}
}
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@ tools/unit-test-app/sdkconfig
tools/unit-test-app/sdkconfig.old
tools/unit-test-app/build

# Doc build artifacts
docs/*/_build/
docs/*/doxygen-warning-log.txt
docs/*/sphinx-warning-log.txt
docs/*/sphinx-warning-log-sanitized.txt
docs/*/xml/
docs/*/xml_in/
docs/*/man/
docs/doxygen_sqlite3.db

# emacs
.dir-locals.el

Expand Down
28 changes: 28 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,31 @@ push_master_to_github:
# (aka objectname) at tip of each branch, and if any SHAs match then it checks out the local branch
# and then pushes that ref to a corresponding github branch
- eval $(git for-each-ref --shell bash --format 'if [ $CI_COMMIT_SHA == %(objectname) ]; then git checkout -B %(refname:strip=3); git push --follow-tags github %(refname:strip=3); fi;' $GITHUB_PUSH_REFS)

build_docs:
stage: build
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
tags:
- build_docs
artifacts:
when: always
paths:
# English version of documentation
- docs/en/doxygen-warning-log.txt
- docs/en/sphinx-warning-log.txt
- docs/en/sphinx-warning-log-sanitized.txt
- docs/en/_build/html
- docs/sphinx-err-*
expire_in: 1 day
only:
variables:
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_BUILD_DOCS
- $BOT_LABEL_REGULAR_TEST
script:
- cd docs
- cd en
- make gh-linkcheck
- make html
- ../check_doc_warnings.sh
17 changes: 17 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Optionally build your docs in additional formats such as PDF and ePub
formats:
- htmlzip
- pdf

# Optionally set the version of Python and requirements required to build your docs
python:
version: 2.7
install:
- requirements: docs/requirements.txt
17 changes: 17 additions & 0 deletions components/app_update/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
set(COMPONENT_SRCDIRS ".")
set(COMPONENT_ADD_INCLUDEDIRS "include")

set(COMPONENT_REQUIRES "spi_flash" "partition_table")
set(COMPONENT_PRIV_REQUIRES "bootloader_support" "util")

register_component()

# Add custom target for generating empty otadata partition for flashing
if(${OTADATA_PARTITION_OFFSET})
add_custom_command(OUTPUT "${PROJECT_BINARY_DIR}/${BLANK_OTADATA_FILE}"
COMMAND ${PYTHON} ${CMAKE_CURRENT_SOURCE_DIR}/gen_empty_partition.py
--size ${OTADATA_PARTITION_SIZE} "${PROJECT_BINARY_DIR}/${BLANK_OTADATA_FILE}")

add_custom_target(blank_ota_data ALL DEPENDS "${PROJECT_BINARY_DIR}/${BLANK_OTADATA_FILE}")
add_dependencies(flash blank_ota_data)
endif()
64 changes: 58 additions & 6 deletions components/app_update/Makefile.projbuild
Original file line number Diff line number Diff line change
@@ -1,8 +1,60 @@
# Generate partition binary
#
.PHONY: dump_otadata erase_ota blank_ota_data

ifdef CONFIG_APP_UPDATE_CHECK_APP_SUM
CFLAGS += -DCONFIG_ENABLE_BOOT_CHECK_SUM=1
endif
GEN_EMPTY_PART := $(PYTHON) $(COMPONENT_PATH)/gen_empty_partition.py
BLANK_OTA_DATA_FILE = $(BUILD_DIR_BASE)/ota_data_initial.bin

ifdef CONFIG_APP_UPDATE_CHECK_APP_HASH
CFLAGS += -DCONFIG_ENABLE_BOOT_CHECK_SHA256=1
endif
PARTITION_TABLE_LEN := 0xC00
OTADATA_LEN := 0x2000

PARTITION_TABLE_ONCHIP_BIN_PATH := $(call dequote,$(abspath $(BUILD_DIR_BASE)))
PARTITION_TABLE_ONCHIP_BIN_NAME := "onchip_partition.bin"
OTADATA_ONCHIP_BIN_NAME := "onchip_otadata.bin"

PARTITION_TABLE_ONCHIP_BIN := $(PARTITION_TABLE_ONCHIP_BIN_PATH)/$(call dequote,$(PARTITION_TABLE_ONCHIP_BIN_NAME))
OTADATA_ONCHIP_BIN := $(PARTITION_TABLE_ONCHIP_BIN_PATH)/$(call dequote,$(OTADATA_ONCHIP_BIN_NAME))

PARTITION_TABLE_GET_BIN_CMD = $(ESPTOOLPY_SERIAL) read_flash $(PARTITION_TABLE_OFFSET) $(PARTITION_TABLE_LEN) $(PARTITION_TABLE_ONCHIP_BIN)
OTADATA_GET_BIN_CMD = $(ESPTOOLPY_SERIAL) read_flash $(OTADATA_OFFSET) $(OTADATA_LEN) $(OTADATA_ONCHIP_BIN)

GEN_OTADATA = $(IDF_PATH)/components/app_update/dump_otadata.py
ERASE_OTADATA_CMD = $(ESPTOOLPY_SERIAL) erase_region $(OTADATA_OFFSET) $(OTADATA_LEN)

# If there is no otadata partition, both OTA_DATA_OFFSET and BLANK_OTA_DATA_FILE
# expand to empty values.
ESPTOOL_ALL_FLASH_ARGS += $(OTA_DATA_OFFSET) $(BLANK_OTA_DATA_FILE)

$(PARTITION_TABLE_ONCHIP_BIN):
$(PARTITION_TABLE_GET_BIN_CMD)

onchip_otadata_get_info: $(PARTITION_TABLE_ONCHIP_BIN)
$(eval OTADATA_OFFSET:=$(shell $(GET_PART_INFO) --type data --subtype ota --offset $(PARTITION_TABLE_ONCHIP_BIN)))
@echo $(if $(OTADATA_OFFSET), $(shell export OTADATA_OFFSET), $(shell rm -f $(PARTITION_TABLE_ONCHIP_BIN));$(error "ERROR: ESP32 does not have otadata partition."))

$(OTADATA_ONCHIP_BIN):
$(OTADATA_GET_BIN_CMD)

dump_otadata: onchip_otadata_get_info $(OTADATA_ONCHIP_BIN) $(PARTITION_TABLE_ONCHIP_BIN)
@echo "otadata retrieved. Contents:"
@echo $(SEPARATOR)
$(GEN_OTADATA) $(OTADATA_ONCHIP_BIN)
@echo $(SEPARATOR)
rm -f $(PARTITION_TABLE_ONCHIP_BIN)
rm -f $(OTADATA_ONCHIP_BIN)

$(BLANK_OTA_DATA_FILE): partition_table_get_info
$(GEN_EMPTY_PART) --size $(OTA_DATA_SIZE) $(BLANK_OTA_DATA_FILE)
$(eval BLANK_OTA_DATA_FILE = $(shell if [ $(OTA_DATA_SIZE) != 0 ]; then echo $(BLANK_OTA_DATA_FILE); else echo " "; fi) )

blank_ota_data: $(BLANK_OTA_DATA_FILE)

erase_ota: partition_table_get_info | check_python_dependencies
@echo $(if $(OTA_DATA_OFFSET), "Erase ota_data [addr=$(OTA_DATA_OFFSET) size=$(OTA_DATA_SIZE)] ...", $(error "ERROR: Partition table does not have ota_data partition."))
$(ESPTOOLPY_SERIAL) erase_region $(OTA_DATA_OFFSET) $(OTA_DATA_SIZE)

all: blank_ota_data
flash: blank_ota_data

clean:
rm -f $(BLANK_OTA_DATA_FILE)
88 changes: 88 additions & 0 deletions components/app_update/dump_otadata.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#!/usr/bin/env python
#
# gen_otadata prints info about the otadata partition.
#
# Copyright 2018 Espressif Systems (Shanghai) PTE LTD
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http:#www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import print_function, division
import argparse
import os
import re
import struct
import sys
import hashlib
import binascii

__version__ = '1.0'

quiet = False

def status(msg):
""" Print status message to stderr """
if not quiet:
critical(msg)

def critical(msg):
""" Print critical message to stderr """
if not quiet:
sys.stderr.write(msg)
sys.stderr.write('\n')

def little_endian(buff, offset):
data = buff[offset:offset+4]
data.reverse()
data = ''.join(data)
return data

def main():
global quiet
parser = argparse.ArgumentParser(description='Prints otadata partition in human readable form.')

parser.add_argument('--quiet', '-q', help="Don't print status messages to stderr", action='store_true')

search_type = parser.add_mutually_exclusive_group()

parser.add_argument('input', help='Path to binary file containing otadata partition to parse.',
type=argparse.FileType('rb'))

args = parser.parse_args()

quiet = args.quiet

input = args.input.read()

hex_input_0 = binascii.hexlify(input)
hex_input_0 = map(''.join, zip(*[iter(hex_input_0)]*2))
hex_input_1 = binascii.hexlify(input[4096:])
hex_input_1 = map(''.join, zip(*[iter(hex_input_1)]*2))

print("\t%11s\t%8s |\t%8s\t%8s" %("OTA_SEQ", "CRC", "OTA_SEQ", "CRC"))
print("Firmware: 0x%s \t 0x%s |\t0x%s \t 0x%s" % (little_endian(hex_input_0, 0), little_endian(hex_input_0, 28), \
little_endian(hex_input_1, 0), little_endian(hex_input_1, 28)))
class InputError(RuntimeError):
def __init__(self, e):
super(InputError, self).__init__(e)

class ValidationError(InputError):
def __init__(self, partition, message):
super(ValidationError, self).__init__(
"Partition %s invalid: %s" % (partition.name, message))

if __name__ == '__main__':
try:
r = main()
sys.exit(r)
except InputError as e:
print(e, file=sys.stderr)
sys.exit(2)
82 changes: 82 additions & 0 deletions components/app_update/gen_empty_partition.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
#!/usr/bin/env python
#
# generates an empty binary file
#
# This tool generates an empty binary file of the required size.
#
# Copyright 2018 Espressif Systems (Shanghai) PTE LTD
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http:#www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import print_function, division
from __future__ import unicode_literals
import argparse
import os
import re
import struct
import sys
import hashlib
import binascii

__version__ = '1.0'

quiet = False

def status(msg):
""" Print status message to stderr """
if not quiet:
critical(msg)

def critical(msg):
""" Print critical message to stderr """
if not quiet:
sys.stderr.write(msg)
sys.stderr.write('\n')

def generate_blanked_file(size, output_path):
output = b"\xFF" * size
try:
stdout_binary = sys.stdout.buffer # Python 3
except AttributeError:
stdout_binary = sys.stdout
with stdout_binary if output_path == '-' else open(output_path, 'wb') as f:
f.write(output)

def main():
global quiet
parser = argparse.ArgumentParser(description='Generates an empty binary file of the required size.')

parser.add_argument('--quiet', '-q', help="Don't print status messages to stderr", action='store_true')

parser.add_argument('--size', help='Size of generated the file', type=str, required=True)

parser.add_argument('output', help='Path for binary file.', nargs='?', default='-')
args = parser.parse_args()

quiet = args.quiet

size = int(args.size, 0)
if size > 0 :
generate_blanked_file(size, args.output)
return 0

class InputError(RuntimeError):
def __init__(self, e):
super(InputError, self).__init__(e)

if __name__ == '__main__':
try:
r = main()
sys.exit(r)
except InputError as e:
print(e, file=sys.stderr)
sys.exit(2)
8 changes: 8 additions & 0 deletions components/app_update/project_include.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

# Set empty otadata partition file for flashing, if OTA data partition in
# partition table
# (NB: because of component dependency, we know partition_table
# project_include.cmake has already been included.)
if(${OTADATA_PARTITION_OFFSET})
set(BLANK_OTADATA_FILE "ota_data_initial.bin")
endif()
11 changes: 11 additions & 0 deletions components/aws_iot/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
if(CONFIG_AWS_IOT_SDK)
set(COMPONENT_ADD_INCLUDEDIRS "include aws-iot-device-sdk-embedded-C/include")
set(COMPONENT_SRCDIRS "aws-iot-device-sdk-embedded-C/src port")
else()
message(STATUS "Building empty aws_iot component due to configuration")
endif()

set(COMPONENT_REQUIRES ssl)
set(COMPONENT_PRIV_REQUIRES jsmn esp-tls)

register_component()
Loading