Repository navigation
Release 0.2.34 - #369
Merged
Merged
Release 0.2.34#369
Conversation
…the first draw after reset (m5stack#355)
…eft bus busy Port of the develop change (m5stack#368) to the master layout: the TwoWire::end() guard becomes LGFX_TWOWIRE_HAS_END (git version first, esp_arduino_version.h when core_version.h is missing; m5stack#366) for release() and the pin search, and beginTransaction() runs i2c_stop() when the bus is still busy after the 128 us wait (m5stack#362). The unused member setPins() that develop removed is left as it is.
Port of the develop change (m5stack#354) to the master layout. The Core2 panel's rst_control() toggled reg 0x96 bit1, the LCD reset (GPIO4) on the AXP192 but the BLDO1 (backlight) voltage on the AXP2101, so every panel init on Core2 v1.1 nudged the backlight voltage and never reset the LCD. The panel now carries its reset register: reg 0x90 bit1 (ALDO2 enable, the bit lcd_reset() already uses) on the AXP2101, reg 0x96 bit1 on the AXP192 as before.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes
core_version.h(M5Stack 2.1.4), releasing an I2C port skippedWire.end()while moving the pins back to GPIO, so the bus stayed unusable afterwards (withWire.hincluded,M5.begin()could not find the built-in IMU). WhetherWire.end()may be called is now decided in one place, byesp_arduino_version.hwhencore_version.his missing. (ESP32: Including Wire.h causes built-in IMU initialization to fail on Core Gray #366, ESP32 I2C: decide TwoWire::end() in one place; recover a controller left bus busy #368)beginTransaction()now recovers the bus and the controller first when the port is still busy, as the ESP-IDF driver does. (proposed by @GOB52, ESP32: I2C コントローラが bus busy のまま固まると、以降の転送がすべて失敗する #362, ESP32 I2C: decide TwoWire::end() in one place; recover a controller left bus busy #368)beginTransaction()with an invalid address took the port lock and never released it, so every later transfer on that port blocked forever. The address is checked before the lock; the port records the owning task, andendTransaction()/restart()/writeBytes()/readBytes()from another task returnmode_mismatchinstead of touching its transfer. Do not callendTransaction()after a failedbeginTransaction().bitOn()/bitOff()hold the (now recursive) port mutex from the read to the write, so a concurrent update of the same register is no longer lost. (Fix ESP32 I2C transaction locking #353)pushAlphaImage()drew only the first row (and the wrong pixels when clipped left or top),bgra8888_timages came out in the wrong colors, an image drawn right afterinit()lost its rows after the first dozen (the unit drops pixel data for about 250 ms after reset;init()now waits for it), andreadRect()returned zeros right after a full-width image write. (Panel_M5UnitLCD: fix ARGB image writes, reads after image writes and the first draw after reset #355)setBaseColor(),setTextColor()and the functions that call them (clear(),clearDisplay(),setScrollRect()with a color) failed to compile with a struct color type such aslgfx::rgb565_t(cannot convert ... to 'uint32_t'). (Accept struct color types in setBaseColor() and setTextColor() #358)