Skip to content

Releases: pschatzmann/ESP32-A2DP

July 2024

03 Aug 07:24
Compare
Choose a tag to compare

June 2024 - Error corrections

03 Jul 11:39
Compare
Choose a tag to compare
  • Set default sample rate to 44100
  • Prevent AudioTools warning for a2dp source
  • correct set_output()
  • config.h A2DP_I2S_AUDIOTOOLS via platformio
  • Added variable timer for play pos notification, RN_TRACK_CHANGE setter (#560)
  • set_avrc_rn_play_pos_callback define default interval to 10 sec
  • Update is_i2s_active before deactivating i2s-
  • Error message for ESP32 C6
  • Support for IDF 5.2.1
  • update cmake: add BluetoothA2DPOutput.cpp
  • cmake prevent errors
  • Linker error
  • Remove dependency from Arduino API for delay and millis()
  • check esp_bt_controller_init
  • Fix broken btStart in Arduino
  • bt_init print error codes
  • Compile error with ESP 5.0
  • playing status example better messages
  • Arduino I2S w/o AudioTools
  • Sink: provide get_output()
  • new methods: set_output_active() and is_output_active()
  • increase A2DP_I2S_MAX_WRITE_SIZE to 5k
  • 32 bit example: clean up includes
  • end(): timout A2DP_DISCONNECT_LIMIT

May 2024 Release

14 May 06:02
Compare
Choose a tag to compare

New Functionality

  • Continue to provide Legacy examples
  • A2DPSource: support of volume buttons on Bluetooth speakers
  • A2DPSink: added avrc_rn_play_pos_callback method (thanks to zyphlar)

Error Corrections

  • Corrections to SimpleExponentialVolumeControl and LinearVolumeControl
  • Make sure that I2S is not used when it has been deactivated (is_output is set to false)

Output classes

10 Apr 09:57
Compare
Choose a tag to compare
  • Redesign output and move functionality to separate classes
  • 32bit example

Use AudioTools as Output Library

06 Apr 21:11
478aca9
Compare
Choose a tag to compare

Espressif is retiring the legacy I2S API: So with Arduino 3.0.0 my old I2S integration will not be available any more.

In order to support a unique output API which is version independent, it is recommended to install and use the AudioTools library.

The library, documentation and examples have been updated. To prevent issues in the new ESP32 release, I suggest that you start to use the new functionality.

Further information can be found here

Some minor error corrections

06 Apr 16:45
Compare
Choose a tag to compare
  • Cleanup config.h and version checks
  • Example for AudioKit
  • Support interoperability with BLE with example
  • Corrected compile error for Arduino ESP 1.0.6
  • Corrected inconsistencies in the reporting of isConnected()
  • define set_scan_mode_connectable_default as abstract
  • bt_music_receiver_datacallback.ino remove time limit
  • Support for Arduino 3.0.0: Use AudioTools for I2S
  • Cleanup version checks using ESP_IDF_VERSION
  • Obsolete i2s_mclk_pin_select() in ESP 5.1.1

Error corrections / new IDF 5 events

23 Sep 17:00
Compare
Choose a tag to compare
  • Activate SPP (Serial protocol) only on request
  • Fix set_volume being pure on A2DPNoVolumeControl; Added missing overrides
  • Prefer get_peer_name() over get_connected_source_name() for A2DPSink
  • Correct bug in set_local_name() for A2DPSource
  • Correct compile error in bt_music_sender_disconnect.ino example
  • Provide get_name() to both A2DPSink and A2DPSource
  • Added Serial.begin() to bt_music_sender_disconnect.ino example
  • New BluetoothA2DPSource example: status callback
  • BluetoothA2DPSource add lost process_user_state_callbacks
  • BluetoothA2DPSource: Unhandled events change from from Error to Warning
  • Provide compile option A2DP_I2S_SUPPORT to deactivate I2S
  • Prefer get_peer_name() over get_connected_source_name()
  • Adding option to specify device name with set_local_name()
  • Support for new IDF 5 events
  • Prevent compile error for ESP_BT_GAP_ACL_CONN_CMPL_STAT_EVT before idf 4.4.4
  • Changed the default setting, so that there is not automatic reconnect!

New Functionality & Error Corrections

22 May 13:22
Compare
Choose a tag to compare

I haven't published a new release for quite some time.

Here is the content:

  • New raw_stream_reader callback to provide data before volume is applied. Thanks to ArthurKoba
  • Remove warnings, fix failing examples, Github Action to auto compile. Thanks to designer2k2
  • Task Shutdown on Sink::end(). Thanks to rbuehlma
  • New set_ssid_callback() method to select unknown ssid dynamically
  • Added missing #pragma once guards to BluetoothA2DPSinkQueued.h
  • (Re)Added support for obsolete Channels, so that old examples copied from the Web still compile
  • prevent i2s_write if i2s was not started
  • Support for include "I2S.h"
  • Create compile error for S3
  • Move set_event_queue_size (int size) and set_event_stack_size (int size) to common; increase values for source
  • Class Documentation using modules

BluetoothA2DPSinkQueued and more Callbacks

29 Nov 00:58
Compare
Choose a tag to compare
  • Provide BluetoothA2DPSinkQueued class which uses an additional Queue between A2DP and I2S
  • Redesign reconnect logic to prevent an automatic reconnect after a disconnect has been requested via the API or from the remote system
  • increased volume for bt_music_receiver_32bit_ext example
  • Added support for a post I2S init callback (thanks to adam-puleo)

I2S output in separate task with ringbuffer & new functionality

24 Jun 14:27
Compare
Choose a tag to compare
  • I2S output in separate task with ringbuffer: Thanks to mitchjs
  • Support to determine RSSI with example: set_rssi_active(), set_rssi_callback(), get_last_rssi()
  • Provide new method get_avrc_peer_rn_cap_bits()
  • Correct esp-idf version check: Thanks to cfint
  • Fixed Bluetooth Source pairing so it works with more devices: Thanks to Rob Shockency
  • Added fast_forward and rewind commands: Thanks to Clark Bremer
  • Cache volume factor: Thanks to cfint