Skip to content

0.2.22

Latest

Choose a tag to compare

@lovyan03 lovyan03 released this 14 Sep 05:13
e79eb6e

New API

  • Speaker.setBufferReleaseCallback() / Mic.setBufferReleaseCallback(): called when a queued buffer has been consumed, so several buffers can be rotated without polling (#356)
  • Mic.setPostStartCallback() (#348)

Audio

  • StopWatch: fix ES8311 capture after a power-on reset, and rework the ES8311 gain structure (mic noise / clipping, speaker distortion at high volume) (#348, #350)
  • Mic_Class: serialize record() and lifecycle changes without blocking end(); an explicit sample_rate of 0 now fails instead of being undefined (#351)

Board fixes

  • Tab5: set the ESP-Hosted SDIO pins in M5.begin(), so WiFi works with the generic esp32p4 board selected; sketches without WiFi are not affected (#358)
  • CoreS3: fix the external 5V output not turning off, and re-enable being cancelled, on USB-C without a battery (#352)
  • Restore GPIO46 after board detection on boards that expose it (camera on CoreS3) (#345)
  • StickS3: fix the IMU axis orientation (by @hlym123, #342)
  • BMI270: report a failed config upload instead of leaving the IMU marked as initialized (#361)
  • PCF8563: setTimerIRQ() rounding no longer overflows near UINT32_MAX (#361)
  • ToughC5: enable the SD card power (by @TinyuZhao, #343)

Examples

  • The audio examples share AudioUI.h / AudioOutputM5Speaker.h; the MP3 example also plays WAV (#357)
  • MP3 and Speaker_SD_wav_file mount the card as 4-bit SD_MMC where the board wires it (Tab5), SPI elsewhere, with the pins from M5Unified; WebRadio selects STA mode before disconnect() (#359, #360)

Internal

  • I2C_Class prefers driver/i2c_master.h over the legacy driver/i2c.h (#355)
  • Built as an ESP-IDF component, the Arduino component is linked automatically (#344)
  • Require M5GFX 0.2.29 (the PoE-P4 display output takes the I2C port and pins in its config) (#363)