1. 02 Nov, 2020 11 commits
    • Ernst Sikora's avatar
      Fix for issue #4158: BLEAdvertising - Crash with stack trace originating in Bluedroid (#4182) · 7c057217
      Ernst Sikora authored
      * Fix for issue #4158: Crash with stack trace originating in Bluedroid
      Improved configuration of scan response data in 'BLEAdvertising' avoids the crash:
      - Added member variable 'm_scanRespData' to configure scan response differently from advertising data
      - Initialization of 'm_scanRespData' in BLEAdvertising constructor
      - Use of 'm_scanRespData' within BLEAdvertising::start() to configure the scan response
      - 'Flags' and 'Appearance' are cleared in the scan response data
      - With this fix, device names of up to 29 characters can be used without causing a crash.
      7c057217
    • Niklas Mollenhauer's avatar
      Add sendContent overload that takes a const char* and a length (#4276) · f57c3678
      Niklas Mollenhauer authored
      The web server currently lacks the ability to send a buffer. Only strings are supported.
      
      This PR adds an overload to sendContent.
      f57c3678
    • Hristo Kapanakov's avatar
      HTTPUpdateServer library (#4244) · 3054bdf5
      Hristo Kapanakov authored
      3054bdf5
    • lbernstone's avatar
      Update ISSUE_TEMPLATE.md (#4416) · 1014ba40
      lbernstone authored
      Make options list into a table
      1014ba40
    • Ivan Golubic's avatar
      Fix for espressif#3460 issue (#4424) · d6b91872
      Ivan Golubic authored
      Fixes: #3460
      
      This code has been run in production for 1 month and it looks stable, no data dropped and it definitely fixes the issue described. I think that this can be merged to avoid using custom package referencing in PlatformIO that has been used in quite a few projects for now.
      Co-authored-by: default avatarIvan Golubic <ivan@mvt-solutions.com>
      d6b91872
    • Me No Dev's avatar
      Merge pull request #4429 from Bmooij/feature/Add_flash_helper_constructor_to_Uri · d6b383f8
      Me No Dev authored
      Add flash helper constructor to Uri
      d6b383f8
    • thewavelength's avatar
      Add partition label argument to Update and ArduinoOTA classThe UpdateClass in... · cadbad88
      thewavelength authored
      Add partition label argument to Update and ArduinoOTA classThe UpdateClass in the Updater component has the ability to update data toa SPIFFS partition. It selects the first available partition using theESP-IDF esp_partition_find_first() function.That behaviour is problematic if one has multiple SPIFFS partitions.This change allows a user to pass the label argument (defaults to NULL)to UpdateClass::begin() so a specific SPIFFS partition can be updated.Additionally, ArduinoOTA can set this partition label using thenew method ArduinoOTAClass::setPartitionLabel which is optional.This change does not break compatibility. (#4442)
      
      The UpdateClass in the Updater component has the ability to update data to
      a SPIFFS partition. It selects the first available partition using the
      ESP-IDF esp_partition_find_first() function.
      That behaviour is problematic if one has multiple SPIFFS partitions.
      
      This change allows a user to pass the label argument (defaults to NULL)
      to UpdateClass::begin() so a specific SPIFFS partition can be updated.
      
      Additionally, ArduinoOTA can set this partition label using the
      new method ArduinoOTAClass::setPartitionLabel which is optional.
      
      This change does not break compatibility.
      cadbad88
    • thewavelength's avatar
      Add partition label argument to SPIFFS (#4443) · 3cbfa2ff
      thewavelength authored
      * Add partition label argument to SPIFFSSPIFFS currently assumes there is only ever one partition.This change allows a user to pass the label argument (defaults to NULL)to SPIFFS::begin() so a specific SPIFFS partition can be referenced.This change does not break compatibility.
      3cbfa2ff
    • Jimmy Durand Wesolowski's avatar
      Fixing BLE GATT Characteristic notification and Characteristic Descriptor read (#4464) · 360e04fa
      Jimmy Durand Wesolowski authored
      * BLERemoteChar: fix descriptor 2902 write for characteristic notifications
      
      When registering a notification on a characteristic, the 2902 descriptor
      (CCCD) value is set to 1 (or 2 for indication).
      According to the BLUETOOTH CORE SPECIFICATION Version 5.2, Revision Date
      2019-12-31, section 4.12.3 "Write Characteristic Descriptors" (page 1588),
      the characteristic descriptor write must expect a response.
      Currently, the descriptor write is performed without expecting a reponse,
      which prevents the notification to be functional with some BLE stacks.
      This commit modify the write to expect the response.
      Signed-off-by: default avatarJimmy Durand Wesolowski <jimmy.durand.wesolowski@commsolid.com>
      
      * BLERemoteChar: forward GATT client event to characteristic descriptors
      
      This commits prevents a permanent wait when calling BLERemoteDescriptor
      readValue function, on the m_semaphoreReadDescrEvt semaphore.
      
      ESP32 BLE stack calls to remote characteristic
      - notification,
      - value read
      - value write
      and remote characteristic descriptor
      - value read
      are asynchronous.
      
      When such a call is performed by this library, a semaphore is taken prior
      to the BLE stack read or write operation, and waited on after it.
      
      Releasing the semaphore is done by the characteristic event handling
      function (gattClientEventHandler), when the appropriate event is received.
      
      However, the characteristic descriptor events are discarded, and the
      value read semaphore is never released.
      
      This commits forwards the GATT client events from the remote
      characteristic down to their remote characteristic descriptor, and
      implements their event handling.
      
      Adding a semaphore for the remote characteristic descriptor value write
      will be done in a separate commit.
      Signed-off-by: default avatarJimmy Durand Wesolowski <jimmy.durand.wesolowski@commsolid.com>
      
      * BLERemoteDescriptor: add semaphore to characteristic descriptor write
      
      This adds a semaphore to characteristic descriptor value write, to mimic
      the value read function, and to ensure completion of the operation before
      we carry on.
      Signed-off-by: default avatarJimmy Durand Wesolowski <jimmy.durand.wesolowski@commsolid.com>
      Co-authored-by: default avatarJimmy Durand Wesolowski <jimmy.durand.wesolowski@commsolid.com>
      360e04fa
    • Muhammad Mobashir's avatar
      Small description comment correction (#4471) · 57145ade
      Muhammad Mobashir authored
      esp8266 --> esp32
      57145ade
    • snosrap's avatar
      Don't convert to null-terminated string prior to writeValue (#4473) · f3902467
      snosrap authored
      fixes: #4472
      f3902467
  2. 27 Oct, 2020 2 commits
  3. 19 Oct, 2020 1 commit
  4. 16 Oct, 2020 1 commit
  5. 14 Oct, 2020 9 commits
  6. 03 Oct, 2020 2 commits
  7. 02 Oct, 2020 6 commits
  8. 01 Oct, 2020 8 commits
    • h2zero's avatar
      Fix missing headers when compiling as IDF component with Cmake (#4377) · 82112384
      h2zero authored
      * HttpsOTAUpdate introduced new IDF component requirements.
      These have been added to CMakeLists.txt to correct compilation errors when using Cmake.
      82112384
    • thebigpotatoe's avatar
      Update MDNSResponder::addService to return a boolean (#4365) · 99aa8664
      thebigpotatoe authored
      I was playing with the mDNS service and noticed the method MDNSResponder::addService could return a Boolean with the way it is implemented just like other functions in this library.
      
      This would be handy to know at a higher level weather or not the service was added correctly to the mDNS server of the ESP32.
      99aa8664
    • Jens Hauke's avatar
      Fix for missed scan response data (BLEScan). (#4358) · 82670b96
      Jens Hauke authored
      This is a fix for missing scan responses after a first successfull scan.
      
      While running the BLE_scan.ino sketch with wantDuplicates=false, i got
      only one result with correct advertising and scan response length (31,26):
      
      pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks(), false);
      pBLEScan->start(scanTime, false);
      ...
      [W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 26, addr type: 1
      
      All following calls to start() just returned the advertising data without
      scan response data:
      
      pBLEScan->start(scanTime, false);
      [W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 0, addr type: 1
      
      With "wantDuplicates=true" i got:
      
      pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks(), true);
      pBLEScan->start(scanTime, false);
      [W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 26, addr type: 1
      [W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 26, addr type: 1
      [W][BLEScan.cpp:73] handleGAPEvent(): ESP_GAP_SEARCH_INQ_CMPL_EVT
      Devices found: 1
      Scan done!
      pBLEScan->start(scanTime, false);
      [W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 0, addr type: 1
      [W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 0 + 26, addr type: 1
      [W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 0, addr type: 1
      [W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 0 + 26, addr type: 1
      
      Explicitly initializing m_scan_params.scan_duplicate of BLEScan solves
      this issue (In my case the un-initialized value was
      m_scan_params.scan_duplicate == 1073599044).
      Co-authored-by: default avatarMe No Dev <me-no-dev@users.noreply.github.com>
      82670b96
    • lbernstone's avatar
      WebServer.handleClient delay (#4350) · 9e7b13e4
      lbernstone authored
      * If WebServer.handleClient is run in a tight loop, it will starve other processes.  So, if there is no connection, throw in a delay(1).  Fixes #4348
      
      * Made a variable to control the delay behavior
      9e7b13e4
    • lienbacher's avatar
      add I2C_RX_FIFO_OVF_INT_ST handling to i2c_isr_handler_default (#4342) · 2243081f
      lienbacher authored
      Fixes crash on ESP32 when I2C FiFo overflows and interrupt function is unable to handle crash and throws this error:
      [E][esp32-hal-i2c.c:1013] i2c_isr_handler_default(): unknown int=4
      Co-authored-by: default avatar0xDEADBEEF <0xde4dbeef@gmail.com>
      2243081f
    • Tom Davis's avatar
      Updated AzureIoT submodule. (#4322) · 1f4491f4
      Tom Davis authored
      1f4491f4
    • wadim's avatar
      Fix getString() freeze on empty responses (#4317) · aa529eb5
      wadim authored
      aa529eb5
    • lbernstone's avatar
      a9cb7c6d