📝 Changelog (v3.0.2)
🚀 Improvements & Fixes for ESP32
Fix: ESP32 Arduino Core 3.x Compatibility: The library has been optimized for the latest version of the ESP32 Arduino Core to prevent runtime errors such as "IO X is not set as GPIO."
Optimized Pin Management: Within the init() function, the SCK and MOSI pins are no longer manually manipulated via digitalWrite after the hardware SPI has started, as this leads to conflicts on newer ESP32 cores.
Robust WaitMiso: On ESP32 platforms, the native ESP-IDF function gpio_get_level() is now utilized. This enables precise reading of the MISO status—even when the pin is under the control of the hardware SPI controller—without compromising communication during wakeup sequences (e.g., when resuming from Deep Sleep).
🔧 Multi-Device Support
Fix: Initialization of Multiple CC1101 Modules: A bug in the initialization logic has been resolved; previously, this prevented multiple instances of the library (when using multiple CC1101 modules on different CS pins) from being configured correctly. Each module is now initialized independently and cleanly.
🛠 Technical Changes
Introduction of platform-specific conditional checks (#if defined(ESP32)) to ensure maximum compatibility across AVR, ESP8266, and the entire ESP32 series (S2, S3, C3, etc.).