1. 12 8月, 2021 1 次提交
    • M
      Fix I2C Scan for S2 and C3 (#5528) · e5bd18d6
      Me No Dev 提交于
      Thanks @chegewara
      
      I2C Scan was failing because i2c_master_write does not accept size of 0. This change checks and skips that call if no length is provided (usually when scanning)
      e5bd18d6
  2. 11 8月, 2021 5 次提交
  3. 02 8月, 2021 5 次提交
    • M
      Add initial support for USB MSC (#5466) · 5bb8177a
      Me No Dev 提交于
      * Add initial support for USB MSC
      
      * Add Firmware Upload/Download With MSC
      
      Current running firmware is available as file inside the MSC Disk. To update the firmware on the ESP, just copy a regular firmware bin into the drive
      
      * Support overwriting of the firmware file
      
      Overwriting a file is done totally differently on MacOS, Windows and Linux. This change supports it on all of them.
      
      * Allow CDC, FirmwareMSC and DFU to be enabled on boot
      
      * Add example ESP32-S2 USB-ONLY board
      
      * Various device code optimizations
      
      Added `end()` methods to MSC classes
      Made begin() methods safe to be called multiple times
      Optimized CDC class
      
      * Fix CDC Connect/Disconnect detection in Arduino IDE on Windows
      
      * Rework cdc_write
      
      * Update ESP32-S2 board configs
      5bb8177a
    • K
      [WiFiClient] Default connection timeout, when no timeout provided (#5487) · be84c821
      Krzysiek S 提交于
      ## The problem
      WiFiClient's connect method variant where no timeout is passed can block esp32 MCU and may then cause watchdog to kick in and reset the device. This behavior is different from that, what is in arduino-esp8266 core.
      
      ## Summary
      Some cross-esp libraries (working both on esp32 and 8266), like PubSubClient simply call connect method on WiFiClient, to get connected to remote server. However, connect behavior varies betwen esp arduino 8266 and esp arduino 32 cores. This pull request tries introduce same behavior - to make connect method non-blocking on esp32, like it is with 8266 arduino core.
      
      ## Proposed solution
      Introduce default fixed timeout that can be changed by #define - by default set to 3 seconds.
      
      ### Affected components: 
      WiFiClient
      
      ### Affected methods:
      ```c++ 
      int connect(IPAddress ip, uint16_t port);
      int connect(const char *host, uint16_t port);
      ```
      
      ### Impact
      May impact projects or libraries using connect method variant without specified timeout, where:
      - remote is located far away or
      - connection is heavily limited, or
      - remote is slow, when it comes to accept the connection
      be84c821
    • T
      Support for Transfer-Encoding headers that specify "identify" (#5486) · 31127f42
      t-oot 提交于
      In [HTTPClient](https://github.com/espressif/arduino-esp32/tree/master/libraries/HTTPClient), if the `Transfer-Encoding` header is set to `identity`, an error (Transfer-Encoding not supported) will occur.
      
      HTTPClient will consider the request as `identity` if the `Transfer-Encoding` header is not set. But it is also defined a response with `identity` explicitly set in the `Transfer-Encoding` header (ref:[MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding)).
      
      This pull request will allow the request to be processed normally even when `identity` is explicitly set.
      31127f42
    • M
      4365a454
    • M
  4. 29 7月, 2021 2 次提交
  5. 27 7月, 2021 2 次提交
  6. 26 7月, 2021 4 次提交
  7. 23 7月, 2021 2 次提交
  8. 22 7月, 2021 1 次提交
  9. 21 7月, 2021 2 次提交
  10. 20 7月, 2021 3 次提交
    • M
      Fix Windows USB issues · 4ada3f58
      me-no-dev 提交于
      - Device will not reset if previous baudrate was not 9600
      - CDC Device is not recognized if WebUSB is enabled
      4ada3f58
    • M
      Various USB fixes (#5422) · 268595c7
      Me No Dev 提交于
      * Fix compile archive arguments for the new toolchain
      
      * Add menu to S2 for picking through which port to upload
      
      Internal USB CDC requires to reset and wait for the new port (because persistence is not yet stable)
      
      * USB CDC should also be started in main
      
      * Fix URL and USB version for WebUSB
      
      * Update vendor callback API
      
      * Update CDC::write to use TX_DONE semaphore
      
      * Update USB_Serial example
      268595c7
    • R
      Fixes SD begin() end() memory leak #2897 (#5419) · 4a0305a0
      Rodrigo Garcia 提交于
      4a0305a0
  11. 19 7月, 2021 7 次提交
  12. 17 7月, 2021 4 次提交
    • X
    • M
      IDF master d93887f9f (#5336) · 16f4b0f5
      Me No Dev 提交于
      * Update toolchain
      
      * Update package_esp32_index.template.json
      
      * add optional component dependencies after Kconfig options are known (#5404)
      
      Until this commit, Kconfig options (e.g. CONFIG_TINYUSB_ENABLED) were
      used in conditions preceding idf_component_register to determine which
      components need to be added to `arduino` component requirements.
      However the Kconfig options aren't known at the early expansion stage,
      when the component CMakeLists.txt files are expanded the first time
      and requirements are evaluated. So all the conditions evaluated as if
      the options were not set.
      This commit changes the logic to only add these components as
      dependencies when the Kconfig options are known. Dependencies become
      "weak", which means that if one of the components isn't included into
      the build for some reason, it is not added as a dependency.
      This may happen, for example, if the component is not present in the
      `components` directory or is excluded by setting `COMPONENTS` variable
      in the project CMakeLists.txt file.
      This also ensures that if the component is not present, it will not be
      added as a dependency, and this will allow the build to proceed.
      
      Follow-up to https://github.com/espressif/arduino-esp32/pull/5391.
      Closes https://github.com/espressif/arduino-esp32/issues/5319.
      
      * IDF master d93887f9f
      
      * PlatformIO updates for CI (#5387)
      
      * Update PlatformIO CI build script
      
      - Switch to the latest toolchains 8.4.0 for ESP32, ESP32S2, ESP32C3
      - Use PlatformIO from master branch for better robustness
      
      * Update package.json for PlatformIO
      Co-authored-by: NIvan Grokhotkov <ivan@espressif.com>
      Co-authored-by: NValerii Koval <valeros@users.noreply.github.com>
      16f4b0f5
    • R
      Remove undocumented and uncontrollable WiFI RSSI filter. (#5393) · 780588dc
      rtrbt 提交于
      Commit d15e1b0e [1] in the 2.0.0 pull request #4996 introduced a filter
      to connect only to WiFi networks with a RSSI of -75 or better. This
      results in strage behaviour, as a scan still shows networks, that can't
      be connected to, even though with older versions, connecting to those
      networks was possible and the connection (albeit slow) was stable.
      
      Remove the RSSI filter for now by setting the threshold to -127, i.e.
      the lowest possible value. Maybe in the future the filter threshold
      could be exposed to users, to allow filtering out nearly unreachable
      networks.
      
      [1] github.com/espressif/arduino-esp32/pull/4996/commits/d15e1b0e
      780588dc
    • I
  13. 16 7月, 2021 2 次提交