1. 20 12月, 2018 1 次提交
    • M
      CPU and APB Frequency support (#2220) · c827bb41
      Me No Dev 提交于
      * Add support to HAL for APB frequencies different than 80MHz
      
      * Add support for CPU frequencies in the IDE board menu
      
      * Switch to fast set_config
      
      * Add method to uart so debug can be reassigned after apb frequency switch
      
      * Return real APB frequency
      c827bb41
  2. 19 12月, 2018 2 次提交
  3. 17 12月, 2018 1 次提交
  4. 16 12月, 2018 1 次提交
  5. 11 12月, 2018 1 次提交
  6. 10 12月, 2018 1 次提交
  7. 07 12月, 2018 1 次提交
  8. 29 11月, 2018 1 次提交
    • L
      Clean warnings when all warning enabled (#2112) · ce340faf
      Luc 提交于
      * Clean warnings when all warning enabled
      
      Not used variables / functions due to debug log
      
      Dual define with different values :
      cores\esp32/binary.h
      #define B110 6
      #define B1000000 64
      
      tools/sdk/include/newlib/sys/termios.h
      #define B110        3
      #define B1000000   23
      
      Local variable returned in WiFiclient Secure
      
      * change due to deprecated function
      
      * Update with proper variable and label
      
      * Update esp32-hal-i2c.c
      
      * Apply changes requested
      
      * Fix warnings due to #define conflict thanks @atanisoft
      ce340faf
  9. 28 11月, 2018 1 次提交
  10. 27 11月, 2018 1 次提交
  11. 20 11月, 2018 3 次提交
  12. 19 11月, 2018 4 次提交
  13. 21 9月, 2018 2 次提交
    • C
      Reduce resource requirements, Share Interrupt (#1877) · e5ea089a
      chuck todd 提交于
      #1869 exposed a resource exhaustion issue. The current HAL layer for I2C support is designed to use a shared interrupt, But, during debugging to solve the interrupt overloading condition identified in #1588, and the generation of pr #1717, the interrupt allocation parameters were changed.  This change was unnecessary, the code will work successfully with shared interrupts.  So, there is no need to assign a private interrupt for each I2C peripheral.
      e5ea089a
    • M
      Update IDF to 3.2-3276a13 and esptool.py to 2.5.0 (#1878) · 96822d78
      Me No Dev 提交于
      * TX Flow Control and Code cleanup
      
      * Use semaphore instead of delay
      
      TX functionality is done.
      
      * Use single buffer and empty queue on exit
      
      * Fix compile issues because of LwIP code relocation
      
      * Add temporary header to fix Azure not compiling
      
      * Fix AsyncUDP early init
      
      * AsyncUDP Multicast fixes
      
      * Add source mac address and rework multicast
      
      * Allow redefinition of default pins for Serials 1 and 2
      
      * Update IDF to 3276a13
      
      * Update esptool.py to 2.5.0
      
      * Fix sketches
      
      * Fix log level in BluetoothSetial
      96822d78
  14. 18 9月, 2018 6 次提交
  15. 18 8月, 2018 3 次提交
    • M
      Add more methods to access memory properties · 80c110ec
      me-no-dev 提交于
      80c110ec
    • M
    • C
      Improve bus recovery (#1767) · 9db207af
      chuck todd 提交于
      If the esp32 is reset during a i2c read cycle the slave device may be in control of the SDA line.  
      
      If the SDA line is held low, the esp32 cannot issue a START or STOP to recover the bus. 
      
      The previous code did not correctly configure the SCL output pin, and it cycled SCL 9 times with SDA Low.  Since the slave device was in a READ cycle, it just continued outputting the bits of the current byte.  When the ACK/NAK bit space occurred, The low output value of SDA was interpreted as ACK so the slave device continued with the next byte.  It never terminated the READ cycle. 
      
      This new code will correctly recover from an interrupted READ
      9db207af
  16. 14 8月, 2018 1 次提交
    • C
      Wire ReSTART fix, with others (#1717) · b05430cf
      chuck todd 提交于
      * ReSTART fix, Sequencing fix
      
      pr #1665 introduce a problem with ReSTART, when solving this problem I found an interaction between the TxFifo refill, RxFifo empty and CMD[] fill.  during certain sequences a dataqueue command would be skipped, this skipping resulted in a mismatch between the contents of the TxFifo and the i2c command sequence.  The problem manifested as an ACK error. 
      In addition to this required bug fix I propose:
      * `Wire.begin()` be changed from a `void` to a `bool` this will allow the reset functionality of `Wire.begin()` to be reported.  Currently `Wire.begin()` attempts to reset the i2c Peripheral, but cannot report success/failure.
      * `Wire.busy()` be added. this `bool` function returns the hardware status of the bus. This status can be use in multi-master environments for application level interleaving of commands, also in single master environment, it can be used to detect a 'hung' bus.  With the functional change to `Wire.begin()` this allows app level recover of a hung bus.
      * `Wire.lastError()` value updated for all errors, previously when interleaving `Wire.endTransmission(false)` and `Wire.readTransmission(false)`, the 128 byte `Wire.write()` buffer was exhausted without generating and error(very exotic). I discovered this error when I created a sequence of directed reads to a EEPROM. Each directed read used 2 bytes of the 128 byte `write()` buffer, so after 64 consecutive ReSTART writes with ReSTART reads, `Wire()`  had no room to record the directed address bytes.  It generated just a NAK check without setting the EEPROMs internal register address.  The succeeding ReSTART read succeeded at incorrect address.
      * Changes to the HAL layer:
      ** added `i2cGetStatus()` which returns the i2c peripheral status word, used to detect bus_busy currently
      ** added `i2cDebug()` programmatic control of debug buffer output
      ** changed `i2cAddQueue()` to allow data_only queue element this will allow a i2c transaction to use multiple data pointers.
      ** removed direct access to DumpInts(), DumpI2c() from app, use i2cDebug() to set trigger points 
       
      *
      
      * Update esp32-hal-i2c.c
      
      * Update Wire.cpp
      
      * ReSTART, Sequencing
      
      pr #1665 introduce a problem with ReSTART, when solving this problem I found an interaction between the TxFifo refill, RxFifo empty and CMD[] fill.  during certain sequences a dataqueue command would be skipped, this skipping resulted in a mismatch between the contents of the TxFifo and the i2c command sequence.  The problem manifested as an ACK error. 
      In addition to this required bug fix I propose:
      * `Wire.begin()` be changed from a `void` to a `bool` this will allow the reset functionality of `Wire.begin()` to be reported.  Currently `Wire.begin()` attempts to reset the i2c Peripheral, but cannot report success/failure.
      * `Wire.busy()` be added. this `bool` function returns the hardware status of the bus. This status can be use in multi-master environments for application level interleaving of commands, also in single master environment, it can be used to detect a 'hung' bus.  With the functional change to `Wire.begin()` this allows app level recover of a hung bus.
      * `Wire.lastError()` value updated for all errors, previously when interleaving `Wire.endTransmission(false)` and `Wire.readTransmission(false)`, the 128 byte `Wire.write()` buffer was exhausted without generating and error(very exotic). I discovered this error when I created a sequence of directed reads to a EEPROM. Each directed read used 2 bytes of the 128 byte `write()` buffer, so after 64 consecutive ReSTART writes with ReSTART reads, `Wire()`  had no room to record the directed address bytes.  It generated just a NAK check without setting the EEPROMs internal register address.  The succeeding ReSTART read succeeded at incorrect address.
      * Changes to the HAL layer:
      ** added `i2cGetStatus()` which returns the i2c peripheral status word, used to detect bus_busy currently
      ** added `i2cDebug()` programmatic control of debug buffer output
      ** changed `i2cAddQueue()` to allow data_only queue element this will allow a i2c transaction to use multiple data pointers.
      ** removed direct access to DumpInts(), DumpI2c() from app, use i2cDebug() to set trigger points 
       
      *
      
      * Forgot DebugFlags Return
      
      @andriyadi found this, total brain fade on my part.
      b05430cf
  17. 25 7月, 2018 2 次提交
  18. 12 7月, 2018 1 次提交
    • C
      Spurious Interrupts Temporary fix 20180711 (#1625) · 28a410dd
      chuck todd 提交于
      the 'eject' ERROR is and indication of an interrupt triggering without an source.  I am working to eliminate these serviceable interrupt.  This update increase stability on a HelTek Wifi Lora 32 board. with a SSD1306 OLED.  This update fixes a glaring error in the interrupt allocation code, the Interrupt mask was wrong.  I also dynamically adjust the FiFo thresholds based on Bus clockrate. The change to FiFo thresholds has reduced the number for 'eject' events.  I also change 'eject' from and ERROR to DEBUG.  An 'eject' event does not compromise i2c transmissions. It happens after a transaction has completed. 
      
      Chuck.
      28a410dd
  19. 07 7月, 2018 1 次提交
    • B
      Allow using argument with attachInterrupt (#1535) · c77aed4a
      Bert Melis 提交于
      * Allow using argument with attachInterrupt
      
      * formatting
      
      replace tabs with spaces
      
      * fix bug more then 1 interrupt
      
      * leftover
      
      * add example
      
      * make attachInterruptArg public
      
      * update example
      
      * leftover
      c77aed4a
  20. 04 7月, 2018 2 次提交
  21. 03 7月, 2018 2 次提交
    • C
      Port UART reset fix from ESP-IDF (#1408) · 12ca9e8b
      chemicstry 提交于
      12ca9e8b
    • C
      Remove confusing Debug output. (#1574) · 6411ac4e
      chuck todd 提交于
      If Core Debug Level is at DEBUG, a confusing debug message will be emitted if the I2C transaction takes longer complete than the  calculated minimum time.  This original debug message was just to prove that this new i2c code could correctly handle SCL stretching or interrupt latency issues. This delay is not a problem, or an error.  Usually it is caused by a higher priory interrupt starving the i2c ISR.  Usually WiFi is the culprit.  As long of this delay is within the configured timeout (by default 50ms, or can be set with Wire.setTimeOut(milliseconds);) no problem will occur and the transaction will successfully complete.
      Chuck.
      6411ac4e
  22. 01 7月, 2018 1 次提交
  23. 27 6月, 2018 1 次提交
    • M
      Update IDF to aaf1239 (#1539) · a59eafbc
      Me No Dev 提交于
      * fix sdmmc config
      
      * Fix warnings in EEPROM
      
      from @Curclamas
      
      * remove leftover TAG in EEPROM
      
      * Initial add of @stickbreaker i2c
      
      * Add log_n
      
      * fix warnings when log is off
      
      * i2c code clean up and reorganization
      
      * add flags to interrupt allocator
      
      * fix sdmmc config
      
      * Fix warnings in EEPROM
      
      from @Curclamas
      
      * remove leftover TAG in EEPROM
      
      * fix errors with latest IDF
      
      * fix debug optimization (#1365)
      
      incorrect optimization for debugging tick markers.
      
      * Fix some missing BT header
      
      * Change BTSerial log calls
      
      * Update BLE lib
      
      * Arduino-ESP32 release management scripted (#1515)
      
      * Calculate an absolute path for a custom partitions table (#1452)
      
      * * Arduino-ESP32 release management scripted
      (ready-to-merge)
      
      * * secure env for espressif/arduino-esp32
      
      * * build tests enabled
      * gitter webhook enabled
      
      * * gitter room link fixed
      * better comment
      
      * * filepaths fixed
      
      * BT Serial adjustments
      
      * * don't run sketch builds & tests for tagged builds
      
      * Return false from WiFi.hostByName() if hostname is not resolved
      
      * Free BT Memory when BT is not used
      
      * WIFI_MODE_NULL is not supported anymore
      
      * Select some key examples to build with PlatformIO to save some time
      
      * Update BLE lib
      
      * Fixed BLE lib
      
      * Major WiFi overhaul
      
      - auto reconnect on connection loss now works
      - moved to event groups
      - some code clean up and procedure optimizations
      - new methods to get a more elaborate system ststus
      
      * Add cmake tests to travis
      
      * Add initial AsyncUDP
      
      * Add NetBIOS lib and fix CMake includes
      
      * Add Initial WebServer
      
      * Fix WebServer and examples
      
      * travis not quiting on build fail
      
      * Try different travis build
      
      * Update IDF to aaf1239
      
      * Fix WPS Example
      
      * fix script permission and add some fail tests to sketch builder
      
      * Add missing space in WiFiClient::write(Stream &stream)
      a59eafbc