Permalink
Switch branches/tags
Commits on Aug 16, 2018
Commits on Aug 14, 2018
  1. Informations about WifiClientEnterprise.ino sketch (#1737)

    martinius96 authored and me-no-dev committed Aug 14, 2018
    * informations about sketch
    
    * Update README.md
  2. Wire ReSTART fix, with others (#1717)

    stickbreaker authored and me-no-dev committed Aug 14, 2018
    * 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.
Commits on Jul 30, 2018
  1. Fix WiFiMulti Logs

    copercini committed Jul 30, 2018
  2. [OTA] Fix "Error response from device" if OK response comes to early (#…

    Gei0r authored and me-no-dev committed Jul 30, 2018
    …1695)
    
    Because TCP is stream-based, an earlier read can 'take away' the "OK" response
    from the device, so that a later read doesn't get the message.
  3. Cleanup on README and boards_manager (#1693)

    lbernstone authored and me-no-dev committed Jul 30, 2018
    * Added instructions for installation with boards manager (stolen directly from esp8266)
    
    * changed to production link instead of dev
    
    * Added to main README. Made mods to images as requested.
    
    * Added links for development package
    
    * Moved version images to README.md
    
    * Just a little change for cleaner look
    
    * Cleaned up README.md and boards_manager.md to make installation easier.
  4. Fix WiFiMulti Logs (#1690)

    copercini authored and me-no-dev committed Jul 30, 2018
Commits on Jul 28, 2018
Commits on Jul 26, 2018
  1. Added instructions for installation with boards manager (#1630)

    lbernstone authored and me-no-dev committed Jul 26, 2018
    * Added instructions for installation with boards manager (stolen directly from esp8266)
    
    * changed to production link instead of dev
    
    * Added to main README. Made mods to images as requested.
    
    * Added links for development package
Commits on Jul 25, 2018
  1. Added a define to format the spiffs in SPIFFS_Test.ino (#1662)

    lbernstone authored and me-no-dev committed Jul 25, 2018
    * Added a define to format the spiffs in SPIFFS_Test.ino
    
    * Uncommented the define
    
    * Matched define names
  2. Functions _uploadReadByte and _parseForm were modified in order to (#…

    MaValki authored and me-no-dev committed Jul 25, 2018
    …1677)
    
    speed up uploading data. Now there is no need to call time consuming
    client.connected() method.
  3. Feature/selective compilation (#1671)

    nathanjel authored and me-no-dev committed Jul 25, 2018
    * Selective compilation
    
    * Optimized component.mk
    
    * Autoconnect WiFi now forces WiFi
  4. Memory leak (#1672)

    Schuemi authored and me-no-dev committed Jul 25, 2018
    When a package of size 0 arrives, "buf" is created, but never released. (Sorry, that was my mistake in the last patch)
  5. Add M5Stack-FIRE board (#1647)

    0x1abin authored and me-no-dev committed Jul 25, 2018
    * Add M5Stack-FIRE board
    
    * updated m5stack-fire boards.txt
    
    * remove pins 16 and 17
Commits on Jul 24, 2018
  1. Create WiFiClientEnterprise.ino (#1640)

    martinius96 authored and me-no-dev committed Jul 24, 2018
    Sketch for ESP32 boards that allow them to connect to WPA/WPA2 Enterprise Networks.
  2. Packet with zero data length (#1659)

    Schuemi authored and me-no-dev committed Jul 24, 2018
    If you receive a package with a data length of zero, parsePacket returns 0, but rx_buffer will exist. So if another parsePacket with no read access returns to zeros, there is still data that can be read. This example would not work: https://www.arduino.cc/en/Reference/EthernetUDPParsePacket
    
    Also I added a check if rx_buffer exit when you try to flush it.
  3. Add TTGO LoRa32 with OLED Version 1.x Board (#1663)

    CaptIgmu authored and me-no-dev committed Jul 24, 2018
    * Add ttgo-lora32-v1 folder to variants folder
    
    * Add ttgo-lora32-v1 info to boards.txt
    
    * Add defs to pins_arduino.h for I2C OLED and SPI LoRa radio pinouts as per @stickbreaker
  4. Fix for spurious interrupts during I2C communications (#1665)

    stickbreaker authored and me-no-dev committed Jul 24, 2018
    This version no longer needs an interrupt for each byte transferred. It only needs interrupts for START, STOP, FIFO empty/Full or error conditions.  This dramatically reduces the interrupt overhead.  I think the prior version was causing an interrupt overload condition where the ISR was not able to process every interrupt as they happened.
Commits on Jul 17, 2018
Commits on Jul 16, 2018
  1. EEPROM library: Move #include of Arduino.h to header file (#1641)

    per1234 authored and me-no-dev committed Jul 16, 2018
    EEPROM.h uses data types which are declared through Arduino.h but that file does not contain an #include directive for Arduino.h. This does not cause any problems when the EEPROM library is #included from a .ino file because the Arduino IDE automatically adds an #include directive for Arduino.h but this is not the case for .cpp files. If a .cpp file has an #include directive for EEPROM.h that does not follow an #include directive for Arduino.h then compilation fails:
    
    E:\arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.h:91:5: error: 'float_t' does not name a type
    
         float_t readFloat(int address);
    
         ^
    
    E:\arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.h:92:5: error: 'double_t' does not name a type
    
         double_t readDouble(int address);
    
         ^
    
    E:\arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.h:95:5: error: 'String' does not name a type
    
         String readString(int address);
    
         ^
    
    E:\arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.h:110:36: error: 'float_t' has not been declared
    
         size_t writeFloat(int address, float_t value);
    
                                        ^
    
    E:\arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.h:111:37: error: 'double_t' has not been declared
    
         size_t writeDouble(int address, double_t value);
    
                                         ^
    
    E:\arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.h:114:37: error: 'String' has not been declared
    
         size_t writeString(int address, String value);
  2. Add ALKS board variant (#1643)

    CornyjK authored and me-no-dev committed Jul 16, 2018
    * Initial support for ALKS variant
Commits on Jul 15, 2018
Commits on Jul 12, 2018
  1. Spurious Interrupts Temporary fix 20180711 (#1625)

    stickbreaker authored and me-no-dev committed Jul 12, 2018
    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.
Commits on Jul 11, 2018