-
-
Notifications
You must be signed in to change notification settings - Fork 275
Change History
Phil Schatzmann edited this page Oct 4, 2024
·
103 revisions
Main
- n/a
V1.8.4
- Support for Arduino esp32 core 3.1 / IDF 5.1.4
- Use actual FreeRTOS typedef types in code (support legacy code with defines)
- Improvments in README
V1.8.3
- 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
V1.8.2
- Continue to provide Legacy examples
- Corrections to SimpleExponentialVolumeControl and LinearVolumeControl
- Make sure that I2S is not used when it has been deactivated (is_output is set to false)
- A2DPSource: support of volume buttons on Bluetooth speakers
- A2DPSink: added avrc_rn_play_pos_callback method (thanks to zyphlar)
V1.8.1
- Move output functionality from sink to separate classes
- Added example for 32 bit output
V1.8.0
- Use AudioTools as Output Library
- Updated documentation
- Updated examples
V1.7.5
- 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
V1.7.4
- 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!
V1.7.3
- 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
V1.7.2
- 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)
V1.7.1
- Support to determine RSSI with example: set_rssi_active(), set_rssi_callback(), get_last_rssi()
- Provide new method get_avrc_peer_rn_cap_bits()
- I2S output in separate task with ringbuffer: Thanks to mitchjs
- 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
V1.7.0
- Renamed CURRENT_ESP_IDF to ESP_IDF_4
- Added not supported compile errors for ESP32C3 and ESP32S2
- Resolved BluetoothA2DPSource connection issues to some devices (thanks to Rob Shockency)
- new AVRC methods: fast_forward() and rewind() (thanks to Clark Bremer)
- Add missing SRC for idf (thanks to Anis Jonischkeit)
- corrected some missing connection_state callbacks (thanks to Geert Roumen)
- Issue error to log when esp_avrc_tg_set_rn_evt_cap fails
- Enable easy detection of failed authentication (thanks to hogthrob)
- additional parameters for set_auto_reconnect method to better control the auto reconnect: void set_auto_reconnect(bool reconnect, bool afterNormalDisconnect=false, int count=AUTOCONNECT_TRY_NUM ).
- use different last_bda names for source and sink
- provided get_connected_source_name() method thanks to Clark Bremer
- added set_volume to bt_music_sender_write example
- new class OneChannel8BitSoundData with bt_music_sender_write_8bit example
- new method set_swap_lr_channels() to swap left and right channels
- example for status callbacks: bt_music_receiver_status_callback.ino
- Removed DEPRECATED methods: isConnected, set_on_connected2BT, set_on_dis_connected2BT
V1.6.0
- Additional functionality in A2DPSource (thanks to limneos for helping with the testing)
- set_auto_reconnect (bool active)
- set_auto_reconnect (esp_bd_addr_t addr)
- set_volume (uint8_t volume)
- get_volume()
- set_on_connection_state_changed (void(*callBack)(esp_a2d_connection_state_t state))
- set_on_audio_state_changed (void(*callBack)(esp_a2d_audio_state_t state))
- get_audio_state ()
- get_connection_state ()
- set_on_connected2BT set_on_dis_connected2BT are obsolete! Please use set_on_audio_state_changed()
- Improved volume control (thanks to elehobica)
- Improved 32 bit hifi example (thanks to elehobica)
- Provided the abstract VolumeControl class with alternative subclass implementations
- added debounce() method to handle button input
- confirm_pin_code() was broken. It's working again and we provide an example
- Provide the set_avrc_metadata_attribute_mask() method to fine tune the meta_data
- Callbacks for audio state and connection state changes
- The Channels structure has been renamed to Frame to better describe it's content
V1.5.0
- Change method names in A2DPSource to use snake_case.
- Make internal callback methods protected in A2DPSource
- Update documentation
V1.4.1
- added set_sample_rate_callback() method
- corrected broken example to internal DAC
- corrected div compile warnings and errors in IDF
- added example for data callback
- improved volume control (thanks to rbuehlma)
- correction to Support for ESP32 Arduino 2.0.0 based on ESP-IDF 4.4
- fix broken metadata in esp 1.0.6
- provide set_channels (i2s_channel_t channels) to the BluetoothA2DPSink
V1.4.0
- Support for ESP32 Arduino 2.0.0 RC1 based on ESP-IDF 4.4
- Support for IDF (as component)
- Authentication methods: set_address_validator(), activate_pin_code(), confirm_pin_code()
- add volume control - thanks to tv4you2016
- add set volume control (set_volume(uint8_t volume);)- thanks to tv4you2016
- add get volume control (get_volume()) - thanks to tv4you2016
- Additional functionality for Arduino ESP32 2.0.0 (IDF release 4.4)
- add callback bt_volumechange - thanks to tv4you2016
- fix I2S_COMM_FORMAT_I2S_MSB - thanks to tv4you2016
- Avoiding noise in case of data unavailability - thanks to alexus2033
V1.3.0
- provide get_connection_status() method
- provide end() method to shut down bluetooth
- add compile time switch for new ESP IDF
- add additional flag in set_stream_reader to deactivate i2s
- Remove includes of Arduino.h to highlight independence of Arduino API
- New examples with LED and auto shut down on idle
- Clean up compile warnings so that build with warnings ALL will succeed
- Example with set_pin_config
- Correction - Bluetooth devices with address starting 00 did not auto reconnect
- provide set_discoverability() to change BT discovery mode (only for current ESP IDF) thanks to rbuehlma
- Implement mono downmix thanks to rbuehlma
- expand to 24 or 32 bits using i2s_config.bits_per_sample thanks to riraosan
- Tracknumber and TrackCount added to Metadata thanks to alexus2033
- Correction which allows restart after calling end() thanks to alexus2033
- Add method to disconnect current connection thanks to ashthespy
V1.2.0
- Metadata support with the help of a callback function - Thanks to JohnyMielony
- AVRC command support thanks to PeterPark
- Improved init_bluetooth checks, in case bluedroid was already initialized elsewhere - Thanks to Antonis Katzourakis
- No auto reconnect after clean disconnect - Thanks to Bajczi Levente
- The data is rescaled to when written to the internal DAC - Thanks to Martin Hron
- Corrected wrong case of include to Arduino.h - Thanks to RyanDavis
- Added callback to received packets - Thanks to Mishaux
- Automatically reconnect to last source - Thanks to JohnyMielony
- Support for data callback - Thanks to Mike Mishaux
- Improved init_bluetooth checks, in case bluedroid was already initialized elsewhere Antonis Katzourakis
- No auto reconnect after clean disconnect thanks to Bajczi Levente
- Made all methods virtual to enable flexible subclassing
- Error Corrections in BluetoothA2DPSource
- Support for writeData in BluetoothA2DPSource
- Support for multiple alternative BT names in BluetoothA2DPSource
- Redesign to protect internal callbacks in BluetoothA2DPSink
- Generate Documentation with the help of doxygen
V1.1.0
- New functionality: BluetoothA2DPSource
- Renamed project from 'esp32_bt_music_receiver' to 'ESP32-A2DP'
- Corrected Spelling Mistake from Blootooth to Bluetooth in Class names: The correct class name is BluetoothA2DPSink!
- The include h files are now called like the class names (e.g. BluetoothA2DPSink.h and BluetoothA2DPSource.h)
V1.0.0
- Initial Release