Skip to content

Conversation

@SuGlider
Copy link
Collaborator

@SuGlider SuGlider commented Apr 7, 2025

Description of Change

LEDC says that maximum duty value is 2^resolution_bits
Arduino analogWrite() says taht the maximum duty is (2^resolution_bits) - 1
Example for 8 bits resolution, LEDC max duty is 256 and Arduino analogWrite() is 255.

This PR changes the code to reflec exactly that.
When using LEDC functions, it will allow max duty to go to 2^resolution_bits.
When using Arduino API analogWrite(), it will map duty (2^resolution_bits) - 1 to maximum value in LEDC before calling its function.

By this way both are compatible to its own specification and allows all valid values to be used.

Tests scenarios

ESP32 and ESP32C6 using digital Logic Analyzer.

Related links

Fix #11049

@github-actions
Copy link
Contributor

github-actions bot commented Apr 7, 2025

Messages
📖 🎉 Good Job! All checks are passing!

👋 Hello SuGlider, we appreciate your contribution to this project!


📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more.

🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project.

Click to see more instructions ...


This automated output is generated by the PR linter DangerJS, which checks if your Pull Request meets the project's requirements and helps you fix potential issues.

DangerJS is triggered with each push event to a Pull Request and modify the contents of this comment.

Please consider the following:
- Danger mainly focuses on the PR structure and formatting and can't understand the meaning behind your code or changes.
- Danger is not a substitute for human code reviews; it's still important to request a code review from your colleagues.
- To manually retry these Danger checks, please navigate to the Actions tab and re-run last Danger workflow.

Review and merge process you can expect ...


We do welcome contributions in the form of bug reports, feature requests and pull requests.

1. An internal issue has been created for the PR, we assign it to the relevant engineer.
2. They review the PR and either approve it or ask you for changes or clarifications.
3. Once the GitHub PR is approved we do the final review, collect approvals from core owners and make sure all the automated tests are passing.
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
4. If the change is approved and passes the tests it is merged into the default branch.

Generated by 🚫 dangerJS against 4cc8ba0

@github-actions
Copy link
Contributor

github-actions bot commented Apr 7, 2025

Test Results

 76 files   76 suites   14m 20s ⏱️
 38 tests  38 ✅ 0 💤 0 ❌
241 runs  241 ✅ 0 💤 0 ❌

Results for commit 4cc8ba0.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Contributor

github-actions bot commented Apr 7, 2025

Memory usage test (comparing PR against master branch)

The table below shows the summary of memory usage change (decrease - increase) in bytes and percentage for each target.

MemoryFLASH [bytes]FLASH [%]RAM [bytes]RAM [%]
TargetDECINCDECINCDECINCDECINC
ESP32C5💚 -12⚠️ +300.000.00000.000.00
ESP32P4💚 -1200.000.00000.000.00
ESP32S3💚 -24⚠️ +24💚 -0.010.00000.000.00
ESP32S2💚 -24⚠️ +24💚 -0.010.00000.000.00
ESP32C3💚 -12⚠️ +320.000.00000.000.00
ESP32C6💚 -12⚠️ +320.000.00000.000.00
ESP32H2💚 -1200.000.00000.000.00
ESP32💚 -24⚠️ +24💚 -0.010.00000.000.00
Click to expand the detailed deltas report [usage change in BYTES]
TargetESP32C5ESP32P4ESP32S3ESP32S2ESP32C3ESP32C6ESP32H2ESP32
ExampleFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAMFLASHRAM
libraries/ArduinoOTA/examples/BasicOTA000000000000--00
libraries/AsyncUDP/examples/AsyncUDPClient000000000000--00
libraries/AsyncUDP/examples/AsyncUDPMulticastServer000000000000--00
libraries/AsyncUDP/examples/AsyncUDPServer000000000000--00
libraries/BLE/examples/Beacon_Scanner000000--00000000
libraries/BLE/examples/Client000000--00000000
libraries/BLE/examples/Client_secure_static_passkey000000--00000000
libraries/BLE/examples/EddystoneTLM_Beacon000000--00000000
libraries/BLE/examples/EddystoneURL_Beacon000000--00000000
libraries/BLE/examples/Notify000000--00000000
libraries/BLE/examples/Scan000000--00000000
libraries/BLE/examples/Server000000--00000000
libraries/BLE/examples/Server_multiconnect000000--00000000
libraries/BLE/examples/Server_secure_authorization00--00--000000--
libraries/BLE/examples/Server_secure_static_passkey000000--00000000
libraries/BLE/examples/UART000000--00000000
libraries/BLE/examples/Write000000--00000000
libraries/BLE/examples/iBeacon000000--00000000
libraries/DNSServer/examples/CaptivePortal000000000000--00
libraries/EEPROM/examples/eeprom_class0000000000000000
libraries/EEPROM/examples/eeprom_extra0000000000000000
libraries/EEPROM/examples/eeprom_write0000000000000000
libraries/ESP32/examples/AnalogOut/LEDCFade💚 -120💚 -120💚 -240💚 -240💚 -120💚 -120💚 -120💚 -240
libraries/ESP32/examples/AnalogOut/LEDCGammaFade0000------0000--
libraries/ESP32/examples/AnalogOut/LEDCSingleChannel💚 -120💚 -100💚 -120💚 -120💚 -100💚 -100💚 -10000
libraries/ESP32/examples/AnalogOut/LEDCSoftwareFade💚 -60💚 -400000💚 -60💚 -60💚 -6000
libraries/ESP32/examples/AnalogOut/SigmaDelta0000000000000000
libraries/ESP32/examples/AnalogOut/ledcFrequency0000000000000000
libraries/ESP32/examples/AnalogOut/ledcWrite_RGB💚 -60💚 -400000💚 -60💚 -60💚 -6000
libraries/ESP32/examples/AnalogRead0000000000000000
libraries/ESP32/examples/AnalogReadContinuous0000000000000000
libraries/ESP32/examples/ArduinoStackSize0000000000000000
libraries/ESP32/examples/ArduinoWaitTimeBeforeStartingSketch0000000000000000
libraries/ESP32/examples/CI/CIBoardsTest0000000000000000
libraries/ESP32/examples/ChipID/GetChipID0000000000000000
libraries/ESP32/examples/DeepSleep/TimerWakeUp000000000000--00
libraries/ESP32/examples/FreeRTOS/BasicMultiThreading0000000000000000
libraries/ESP32/examples/FreeRTOS/Mutex0000000000000000
libraries/ESP32/examples/FreeRTOS/Queue0000000000000000
libraries/ESP32/examples/FreeRTOS/Semaphore0000000000000000
libraries/ESP32/examples/GPIO/BlinkRGB0000000000000000
libraries/ESP32/examples/GPIO/FunctionalInterrupt0000000000000000
libraries/ESP32/examples/GPIO/FunctionalInterruptLambda0000000000000000
libraries/ESP32/examples/GPIO/FunctionalInterruptStruct0000000000000000
libraries/ESP32/examples/GPIO/GPIOInterrupt0000000000000000
libraries/ESP32/examples/HWCDC_Events000000--000000--
libraries/ESP32/examples/MacAddress/GetMacAddress0000000000000000
libraries/ESP32/examples/RMT/Legacy_RMT_Driver_Compatible0000000000000000
libraries/ESP32/examples/RMT/RMTCallback0000000000000000
libraries/ESP32/examples/RMT/RMTLoopback0000000000000000
libraries/ESP32/examples/RMT/RMTReadXJT0000000000000000
libraries/ESP32/examples/RMT/RMTWrite_RGB_LED0000000000000000
libraries/ESP32/examples/RMT/RMT_CPUFreq_Test0000000000000000
libraries/ESP32/examples/RMT/RMT_EndOfTransmissionState0000000000000000
libraries/ESP32/examples/RMT/RMT_LED_Blink0000000000000000
libraries/ESP32/examples/ResetReason/ResetReason0000000000000000
libraries/ESP32/examples/ResetReason/ResetReason20000000000000000
libraries/ESP32/examples/Serial/BaudRateDetect_Demo0000000000000000
libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo0000000000000000
libraries/ESP32/examples/Serial/OnReceive_Demo0000000000000000
libraries/ESP32/examples/Serial/RS485_Echo_Demo0000000000000000
libraries/ESP32/examples/Serial/RxFIFOFull_Demo0000000000000000
libraries/ESP32/examples/Serial/RxTimeout_Demo0000000000000000
libraries/ESP32/examples/Serial/Serial_All_CPU_Freqs0000000000000000
libraries/ESP32/examples/Serial/Serial_STD_Func_OnReceive0000000000000000
libraries/ESP32/examples/Serial/onReceiveExample0000000000000000
libraries/ESP32/examples/Template/ExampleTemplate0000000000000000
libraries/ESP32/examples/Time/SimpleTime000000000000--00
libraries/ESP32/examples/Timer/RepeatTimer0000000000000000
libraries/ESP32/examples/Timer/WatchdogTimer0000000000000000
libraries/ESP_I2S/examples/ES8388_loopback0000000000000000
libraries/ESP_I2S/examples/Simple_tone0000000000000000
libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master00--00000000--00
libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave00--00000000--00
libraries/ESP_NOW/examples/ESP_NOW_Network00--00000000--00
libraries/ESP_NOW/examples/ESP_NOW_Serial00--00000000--00
libraries/ESPmDNS/examples/mDNS-SD_Extended000000000000--00
libraries/ESPmDNS/examples/mDNS_Web_Server000000000000--00
libraries/Ethernet/examples/ETH_W5500_Arduino_SPI0000000000000000
libraries/Ethernet/examples/ETH_W5500_IDF_SPI0000000000000000
libraries/Ethernet/examples/ETH_WIFI_BRIDGE000000000000--00
libraries/FFat/examples/FFat_Test0000000000000000
libraries/FFat/examples/FFat_time000000000000--00
libraries/HTTPClient/examples/Authorization000000000000--00
libraries/HTTPClient/examples/BasicHttpClient000000000000--00
libraries/HTTPClient/examples/BasicHttpsClient000000000000--00
libraries/HTTPClient/examples/CustomHeaders000000000000--00
libraries/HTTPClient/examples/HTTPClientEnterprise00--00000000--00
libraries/HTTPClient/examples/ReuseConnection000000000000--00
libraries/HTTPClient/examples/StreamHttpClient000000000000--00
libraries/HTTPUpdate/examples/httpUpdate0000💚 -160000000--00
libraries/HTTPUpdate/examples/httpUpdateSPIFFS000000000000--00
libraries/HTTPUpdate/examples/httpUpdateSecure000000000000--00
libraries/HTTPUpdateServer/examples/WebUpdater000000000000--00
libraries/Hash/examples/HEX0000000000000000
libraries/Hash/examples/MD50000000000000000
libraries/Hash/examples/PBKDF2_HMAC0000000000000000
libraries/Hash/examples/SHA10000000000000000
libraries/Hash/examples/SHA20000000000000000
libraries/Hash/examples/SHA30000000000000000
libraries/Hash/examples/SHA3Stream0000000000000000
libraries/Insights/examples/DiagnosticsSmokeTest00--00000000--00
libraries/Insights/examples/MinimalDiagnostics00--00000000--00
libraries/LittleFS/examples/LITTLEFS_test0000000000000000
libraries/LittleFS/examples/LITTLEFS_time000000000000--00
libraries/Matter/examples/MatterColorLight00--0000000000⚠️ +240
libraries/Matter/examples/MatterCommissionTest00--000000000000
libraries/Matter/examples/MatterComposedLights00--000000000000
libraries/Matter/examples/MatterContactSensor00--000000000000
libraries/Matter/examples/MatterDimmableLight00--0000000000⚠️ +240
libraries/Matter/examples/MatterEnhancedColorLight00--0000000000⚠️ +240
libraries/Matter/examples/MatterEvents00--000000000000
libraries/Matter/examples/MatterFan00--0000000000⚠️ +240
libraries/Matter/examples/MatterHumiditySensor00--000000000000
libraries/Matter/examples/MatterLambdaSingleCallbackManyEPs00--000000000000
libraries/Matter/examples/MatterMinimum00--000000000000
libraries/Matter/examples/MatterOccupancySensor00--000000000000
libraries/Matter/examples/MatterOnIdentify00--000000000000
libraries/Matter/examples/MatterOnOffLight00--000000000000
libraries/Matter/examples/MatterOnOffPlugin00--000000000000
libraries/Matter/examples/MatterPressureSensor00--000000000000
libraries/Matter/examples/MatterSmartButon00--000000000000
libraries/Matter/examples/MatterTemperatureLight00--0000000000⚠️ +240
libraries/Matter/examples/MatterTemperatureSensor00--000000000000
libraries/Matter/examples/MatterThermostat00--000000000000
libraries/NetBIOS/examples/ESP_NBNST000000000000--00
libraries/NetworkClientSecure/examples/WiFiClientInsecure000000000000--00
libraries/NetworkClientSecure/examples/WiFiClientPSK000000000000--00
libraries/NetworkClientSecure/examples/WiFiClientSecure000000000000--00
libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise00--00000000--00
libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade000000000000--00
libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials000000000000--00
libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse000000000000--00
libraries/OpenThread/examples/CLI/COAP/coap_lamp00--------0000--
libraries/OpenThread/examples/CLI/COAP/coap_switch00--------0000--
libraries/OpenThread/examples/CLI/SimpleCLI00--------0000--
libraries/OpenThread/examples/CLI/SimpleNode00--------0000--
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/ExtendedRouterNode00--------0000--
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/LeaderNode00--------0000--
libraries/OpenThread/examples/CLI/SimpleThreadNetwork/RouterNode00--------0000--
libraries/OpenThread/examples/CLI/ThreadScan00--------0000--
libraries/OpenThread/examples/CLI/onReceive00--------0000--
libraries/OpenThread/examples/Native/SimpleThreadNetwork/LeaderNode00--------0000--
libraries/OpenThread/examples/Native/SimpleThreadNetwork/RouterNode00--------0000--
libraries/PPP/examples/PPP_Basic0000000000000000
libraries/PPP/examples/PPP_WIFI_BRIDGE000000000000--00
libraries/Preferences/examples/Prefs2Struct0000000000000000
libraries/Preferences/examples/StartCounter0000000000000000
libraries/RainMaker/examples/RMakerCustom00--00000000----
libraries/RainMaker/examples/RMakerCustomAirCooler⚠️ +300--⚠️ +240⚠️ +240⚠️ +320⚠️ +320----
libraries/RainMaker/examples/RMakerSonoffDualR300--00000000----
libraries/RainMaker/examples/RMakerSwitch00--00000000----
libraries/SD/examples/SD_Test0000000000000000
libraries/SD/examples/SD_time000000000000--00
libraries/SPI/examples/SPI_Multiple_Buses0000000000000000
libraries/SPIFFS/examples/SPIFFS_Test0000000000000000
libraries/SPIFFS/examples/SPIFFS_time000000000000--00
libraries/TFLiteMicro/examples/hello_world0000000000000000
libraries/Ticker/examples/Blinker0000000000000000
libraries/Ticker/examples/TickerBasic0000000000000000
libraries/Ticker/examples/TickerParameter0000000000000000
libraries/Update/examples/AWS_S3_OTA_Update000000000000--00
libraries/Update/examples/HTTPS_OTA_Update000000000000--00
libraries/Update/examples/HTTP_Client_AES_OTA_Update000000000000--00
libraries/Update/examples/HTTP_Server_AES_OTA_Update000000000000--00
libraries/Update/examples/OTAWebUpdater000000000000--00
libraries/Update/examples/SD_Update0000000000000000
libraries/WebServer/examples/AdvancedWebServer000000000000--00
libraries/WebServer/examples/ChunkWriting000000000000--00
libraries/WebServer/examples/FSBrowser000000000000--00
libraries/WebServer/examples/Filters000000000000--00
libraries/WebServer/examples/HelloServer000000000000--00
libraries/WebServer/examples/HttpAdvancedAuth000000000000--00
libraries/WebServer/examples/HttpAuthCallback000000000000--00
libraries/WebServer/examples/HttpAuthCallbackInline000000000000--00
libraries/WebServer/examples/HttpBasicAuth000000000000--00
libraries/WebServer/examples/HttpBasicAuthSHA1000000000000--00
libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken000000000000--00
libraries/WebServer/examples/Middleware00--00000000--00
libraries/WebServer/examples/MultiHomedServers000000000000--00
libraries/WebServer/examples/PathArgServer000000000000--00
libraries/WebServer/examples/SDWebServer000000000000--00
libraries/WebServer/examples/SimpleAuthentification000000000000--00
libraries/WebServer/examples/UploadHugeFile000000000000--00
libraries/WebServer/examples/WebServer000000000000--00
libraries/WebServer/examples/WebUpdate000000000000--00
libraries/WiFi/examples/FTM/FTM_Initiator000000000000--00
libraries/WiFi/examples/FTM/FTM_Responder000000000000--00
libraries/WiFi/examples/SimpleWiFiServer000000000000--00
libraries/WiFi/examples/WPS00--00000000--00
libraries/WiFi/examples/WiFiAccessPoint000000000000--00
libraries/WiFi/examples/WiFiBlueToothSwitch00--00--0000--00
libraries/WiFi/examples/WiFiClient000000000000--00
libraries/WiFi/examples/WiFiClientBasic000000000000--00
libraries/WiFi/examples/WiFiClientConnect000000000000--00
libraries/WiFi/examples/WiFiClientEnterprise00--00000000--00
libraries/WiFi/examples/WiFiClientEvents000000000000--00
libraries/WiFi/examples/WiFiClientStaticIP000000000000--00
libraries/WiFi/examples/WiFiExtender000000000000--00
libraries/WiFi/examples/WiFiIPv6000000000000--00
libraries/WiFi/examples/WiFiMulti000000000000--00
libraries/WiFi/examples/WiFiMultiAdvanced000000000000--00
libraries/WiFi/examples/WiFiScan000000000000--00
libraries/WiFi/examples/WiFiScanAsync000000000000--00
libraries/WiFi/examples/WiFiScanDualAntenna000000000000--00
libraries/WiFi/examples/WiFiScanTime000000000000--00
libraries/WiFi/examples/WiFiSmartConfig00--00000000--00
libraries/WiFi/examples/WiFiTelnetToSerial000000000000--00
libraries/WiFi/examples/WiFiUDPClient000000000000--00
libraries/WiFiProv/examples/WiFiProv00--00000000--00
libraries/Wire/examples/WireMaster0000000000000000
libraries/Wire/examples/WireScan0000000000000000
libraries/Wire/examples/WireSlave0000000000000000
libraries/Wire/examples/WireSlaveFunctionalCallback0000000000000000
libraries/Zigbee/examples/Zigbee_Analog_Input_Output00--000000000000
libraries/Zigbee/examples/Zigbee_Binary_Input_Output00--------0000--
libraries/Zigbee/examples/Zigbee_CarbonDioxide_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light00--------0000--
libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch00--000000000000
libraries/Zigbee/examples/Zigbee_Contact_Switch00--------0000--
libraries/Zigbee/examples/Zigbee_Dimmable_Light00--------0000--
libraries/Zigbee/examples/Zigbee_Electrical_AC_Sensor00--000000000000
libraries/Zigbee/examples/Zigbee_Electrical_AC_Sensor_MultiPhase00--000000000000
libraries/Zigbee/examples/Zigbee_Electrical_DC_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_Fan_Control00--000000000000
libraries/Zigbee/examples/Zigbee_Gateway00--000000----00
libraries/Zigbee/examples/Zigbee_Illuminance_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_Multistate_Input_Output00--000000000000
libraries/Zigbee/examples/Zigbee_OTA_Client00--------0000--
libraries/Zigbee/examples/Zigbee_Occupancy_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_On_Off_Light00--------0000--
libraries/Zigbee/examples/Zigbee_On_Off_MultiSwitch00--000000000000
libraries/Zigbee/examples/Zigbee_On_Off_Switch00--000000000000
libraries/Zigbee/examples/Zigbee_PM25_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_Power_Outlet00--000000000000
libraries/Zigbee/examples/Zigbee_Pressure_Flow_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_Range_Extender00--000000000000
libraries/Zigbee/examples/Zigbee_Scan_Networks00--------0000--
libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy00--------0000--
libraries/Zigbee/examples/Zigbee_Temperature_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_Thermostat00--000000000000
libraries/Zigbee/examples/Zigbee_Vibration_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_Wind_Speed_Sensor00--------0000--
libraries/Zigbee/examples/Zigbee_Window_Covering00--------0000--
libraries/ESP32/examples/DeepSleep/TouchWakeUp--000000------00
libraries/ESP32/examples/TWAI/TWAIreceive--00000000000000
libraries/ESP32/examples/TWAI/TWAItransmit--00000000000000
libraries/ESP32/examples/Touch/TouchButton--000000------00
libraries/ESP32/examples/Touch/TouchInterrupt--000000------00
libraries/ESP32/examples/Touch/TouchRead--000000------00
libraries/ESP_I2S/examples/Record_to_WAV--0000--------00
libraries/ESP_SR/examples/Basic--0000----------
libraries/Ethernet/examples/ETH_TLK110--00----------00
libraries/SD_MMC/examples/SD2USBMSC--0000----------
libraries/SD_MMC/examples/SDMMC_Test--0000--------00
libraries/SD_MMC/examples/SDMMC_time--0000--------00
libraries/USB/examples/CompositeDevice--000000--------
libraries/USB/examples/ConsumerControl--000000--------
libraries/USB/examples/CustomHIDDevice--000000--------
libraries/USB/examples/FirmwareMSC--000000--------
libraries/USB/examples/Gamepad--000000--------
libraries/USB/examples/HIDVendor--000000--------
libraries/USB/examples/Keyboard/KeyboardLogout--000000--------
libraries/USB/examples/Keyboard/KeyboardMessage--000000--------
libraries/USB/examples/Keyboard/KeyboardReprogram--000000--------
libraries/USB/examples/Keyboard/KeyboardSerial--000000--------
libraries/USB/examples/KeyboardAndMouseControl--000000--------
libraries/USB/examples/MIDI/MidiController--000000--------
libraries/USB/examples/MIDI/MidiInterface--000000--------
libraries/USB/examples/MIDI/MidiMusicBox--000000--------
libraries/USB/examples/MIDI/ReceiveMidi--000000--------
libraries/USB/examples/Mouse/ButtonMouseControl--000000--------
libraries/USB/examples/SystemControl--000000--------
libraries/USB/examples/USBMSC--000000--------
libraries/USB/examples/USBSerial--000000--------
libraries/USB/examples/USBVendor--000000--------
libraries/ESP32/examples/Camera/CameraWebServer----0000------💚 -40
ESP32/examples/Camera/CameraWebServer (2)----0000------00
ESP32/examples/Camera/CameraWebServer (3)----00----------
libraries/ESP32/examples/DeepSleep/ExternalWakeUp----0000------00
libraries/BluetoothSerial/examples/DiscoverConnect--------------00
libraries/BluetoothSerial/examples/GetLocalMAC--------------00
libraries/BluetoothSerial/examples/SerialToSerialBT--------------00
libraries/BluetoothSerial/examples/SerialToSerialBTM--------------00
libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy--------------00
libraries/BluetoothSerial/examples/SerialToSerialBT_SSP--------------00
libraries/BluetoothSerial/examples/bt_classic_device_discovery--------------00
libraries/BluetoothSerial/examples/bt_remove_paired_devices--------------00
libraries/ESP32/examples/DeepSleep/SmoothBlink_ULP_Code--------------00
libraries/Ethernet/examples/ETH_LAN8720--------------00
libraries/SimpleBLE/examples/SimpleBleDevice--------------00

@P-R-O-C-H-Y
Copy link
Member

@SuGlider Is there anything needed to finish this PR?

@SuGlider
Copy link
Collaborator Author

@SuGlider Is there anything needed to finish this PR?

Let me test it again based on master branch.

@SuGlider SuGlider added the Area: Peripherals API Relates to peripheral's APIs. label Oct 30, 2025
@SuGlider SuGlider marked this pull request as ready for review October 30, 2025 10:23
@SuGlider SuGlider requested a review from a team as a code owner October 30, 2025 10:23
@SuGlider SuGlider moved this from In Progress to In Review in Arduino ESP32 Core Project Roadmap Oct 30, 2025
@SuGlider SuGlider added this to the 3.3.0 milestone Oct 30, 2025
@SuGlider SuGlider added the Status: Review needed Issue or PR is awaiting review label Oct 30, 2025
@P-R-O-C-H-Y
Copy link
Member

Looks good to me, but the main reason for this was, that for example if you have 8 bits resolution you expect the duty to be from 0 - 255, but the LEDC works from 0 - 256, which uses 1 more bit. We can use the changes in your PR, but please also add a note to the documentation and existing examples. This can also be marked as breaking change, as if users have code from 0-255 they will not be fully ON when use the 255 using the ledcWrite().

@P-R-O-C-H-Y P-R-O-C-H-Y modified the milestones: 3.3.0, 4.0.0 Oct 30, 2025
@P-R-O-C-H-Y P-R-O-C-H-Y added the Breaking change 🔥 A change that changes the API or breaks backward compatibility for users. label Oct 30, 2025
@lucasssvaz
Copy link
Member

lucasssvaz commented Oct 30, 2025

As it is a breaking change, isn't it better to postpone it to v4.0.0 ?

@P-R-O-C-H-Y
Copy link
Member

@lucasssvaz I have changed the milestone to 4.0.0. Also discussed to update the examples and add a note to docs. Tehn we will also add this to migration guide from 3.x to 4.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Peripherals API Relates to peripheral's APIs. Breaking change 🔥 A change that changes the API or breaks backward compatibility for users. Status: Review needed Issue or PR is awaiting review

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

ledc_write max_duty bug

4 participants