Firmware icon indicating copy to clipboard operation
Firmware copied to clipboard

ESP-IDF conversion

Open hhvrc opened this issue 1 year ago • 2 comments

hhvrc avatar Jul 09 '24 11:07 hhvrc

Cpp-Linter Report :warning:

Some files did not pass the configured checks!

clang-format reports: 2 file(s) not formatted
  • src/GatewayConnectionManager.cpp
  • src/event_handlers/websocket/gateway/ShockerCommandList.cpp
clang-tidy reports: 53 concern(s)
  • include/Common.h:3:10: error: [clang-diagnostic-error]

    'cstdint' file not found

        3 | #include <cstdint>
          |          ^~~~~~~~~
    
  • include/Common.h:10:12: warning: [bugprone-macro-parentheses]

    macro argument should be enclosed in parentheses

       10 |   TypeName(TypeName&&)       = delete; \
          |            ^       
          |            (       )
    
  • include/Common.h:11:18: warning: [bugprone-macro-parentheses]

    macro argument should be enclosed in parentheses

       11 |   void operator=(TypeName&&) = delete
          |                  ^       
          |                  (       )
    
  • include/Common.h:55:11: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'OpenShock' is non-const and globally accessible, consider making it const

       55 | namespace OpenShock::Constants {
          |           ^
    
  • include/RGBPatternManager.h:14:11: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'OpenShock' is non-const and globally accessible, consider making it const

       14 | namespace OpenShock {
          |           ^
    
  • include/http/HTTPClient.h:3:10: error: [clang-diagnostic-error]

    'Common.h' file not found

        3 | #include "Common.h"
          |          ^~~~~~~~~~
    
  • include/http/HTTPClient.h:12:11: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'OpenShock' is non-const and globally accessible, consider making it const

       12 | namespace OpenShock::HTTP {
          |           ^
    
  • include/http/HTTPResponse.h:3:10: error: [clang-diagnostic-error]

    'esp_err.h' file not found

        3 | #include <esp_err.h>
          |          ^~~~~~~~~~~
    
  • include/http/HTTPResponse.h:9:11: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'OpenShock' is non-const and globally accessible, consider making it const

        9 | namespace OpenShock::HTTP {
          |           ^
    
  • src/CaptivePortalInstance.cpp:1:10: error: [clang-diagnostic-error]

    'freertos/FreeRTOS.h' file not found

        1 | #include <freertos/FreeRTOS.h>
          |          ^~~~~~~~~~~~~~~~~~~~~
    
  • src/CaptivePortalInstance.cpp:33:20: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 's_errorHandler' is non-const and globally accessible, consider making it const

       33 | static httpd_uri_t s_errorHandler {
          |                    ^
    
  • src/CaptivePortalInstance.cpp:48:24: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_getStaticPartition', which is reserved in the global namespace

       48 | const esp_partition_t* _getStaticPartition() {
          |                        ^~~~~~~~~~~~~~~~~~~
          |                        getStaticPartition
    
  • src/CaptivePortalInstance.cpp:48:24: warning: [modernize-use-trailing-return-type]

    use a trailing return type for this function

       48 | const esp_partition_t* _getStaticPartition() {
          |                      ~ ^
          |                      auto                    -> *
    
  • src/CommandHandler.cpp:1:10: error: [clang-diagnostic-error]

    'freertos/FreeRTOS.h' file not found

        1 | #include <freertos/FreeRTOS.h>
          |          ^~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/CommandHandler.cpp:138:34: warning: 10 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers]
      138 |         vTaskDelay(pdMS_TO_TICKS(10));
          |                                  ^
    
  • src/GatewayConnectionManager.cpp:1:10: error: [clang-diagnostic-error]

    'GatewayConnectionManager.h' file not found

        1 | #include "GatewayConnectionManager.h"
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
  • src/GatewayConnectionManager.cpp:37:16: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 's_flags' is non-const and globally accessible, consider making it const

       37 | static uint8_t s_flags                                 = 0;
          |                ^
    
  • src/GatewayConnectionManager.cpp:38:50: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 's_wsClient' is non-const and globally accessible, consider making it const

       38 | static std::unique_ptr<OpenShock::GatewayClient> s_wsClient = nullptr;
          |                                                  ^
    
  • src/GatewayConnectionManager.cpp:40:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_evGotIPHandler', which is reserved in the global namespace

       40 | void _evGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |      ^~~~~~~~~~~~~~~
          |      evGotIPHandler
    
  • src/GatewayConnectionManager.cpp:40:33: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of '_evGotIPHandler' of similar type ('int') are easily swapped by mistake

       40 | void _evGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/GatewayConnectionManager.cpp:40:50: note: the first parameter in the range is 'event_base'
       40 | void _evGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                  ^~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/GatewayConnectionManager.cpp:40:70: note: the last parameter in the range is 'event_id'
       40 | void _evGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                                      ^~~~~~~~
    
  • src/GatewayConnectionManager.cpp:49:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_evWiFiDisconnectedHandler', which is reserved in the global namespace

       49 | void _evWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
          |      evWiFiDisconnectedHandler
    
  • src/GatewayConnectionManager.cpp:49:44: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of '_evWiFiDisconnectedHandler' of similar type ('int') are easily swapped by mistake

       49 | void _evWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/GatewayConnectionManager.cpp:49:61: note: the first parameter in the range is 'event_base'
       49 | void _evWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                             ^~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/GatewayConnectionManager.cpp:49:81: note: the last parameter in the range is 'event_id'
       49 | void _evWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                                                 ^~~~~~~~
    
  • src/OtaUpdateManager.cpp:1:10: error: [clang-diagnostic-error]

    'OtaUpdateManager.h' file not found

        1 | #include "OtaUpdateManager.h"
          |          ^~~~~~~~~~~~~~~~~~~~
    
  • src/OtaUpdateManager.cpp:98:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_otaEvGotIPHandler', which is reserved in the global namespace

       98 | void _otaEvGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |      ^~~~~~~~~~~~~~~~~~
          |      otaEvGotIPHandler
    
  • src/OtaUpdateManager.cpp:98:36: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of '_otaEvGotIPHandler' of similar type are easily swapped by mistake

       98 | void _otaEvGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:98:53: note: the first parameter in the range is 'event_base'
       98 | void _otaEvGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                     ^~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:98:73: note: the last parameter in the range is 'event_id'
       98 | void _otaEvGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                                         ^~~~~~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:98:36: note: after resolving type aliases, 'int' and 'int32_t' are the same
       98 | void _otaEvGotIPHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                    ^
    
  • src/OtaUpdateManager.cpp:106:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_otaEvWiFiDisconnectedHandler', which is reserved in the global namespace

      106 | void _otaEvWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |      otaEvWiFiDisconnectedHandler
    
  • src/OtaUpdateManager.cpp:106:47: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of '_otaEvWiFiDisconnectedHandler' of similar type are easily swapped by mistake

      106 | void _otaEvWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:106:64: note: the first parameter in the range is 'event_base'
      106 | void _otaEvWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                                ^~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:106:84: note: the last parameter in the range is 'event_id'
      106 | void _otaEvWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                                                    ^~~~~~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:106:47: note: after resolving type aliases, 'int' and 'int32_t' are the same
      106 | void _otaEvWiFiDisconnectedHandler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                               ^
    
  • src/OtaUpdateManager.cpp:115:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_sendProgressMessage', which is reserved in the global namespace

      115 | bool _sendProgressMessage(Serialization::Gateway::OtaInstallProgressTask task, float progress) {
          |      ^~~~~~~~~~~~~~~~~~~~
          |      sendProgressMessage
    
  • src/OtaUpdateManager.cpp:115:6: warning: [modernize-use-trailing-return-type]

    use a trailing return type for this function

      115 | bool _sendProgressMessage(Serialization::Gateway::OtaInstallProgressTask task, float progress) {
          | ~~~~ ^
          | auto                                                                                           -> bool
    
  • src/OtaUpdateManager.cpp:115:27: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of '_sendProgressMessage' of convertible types are easily swapped by mistake

      115 | bool _sendProgressMessage(Serialization::Gateway::OtaInstallProgressTask task, float progress) {
          |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:115:74: note: the first parameter in the range is 'task'
      115 | bool _sendProgressMessage(Serialization::Gateway::OtaInstallProgressTask task, float progress) {
          |                                                                          ^~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:115:86: note: the last parameter in the range is 'progress'
      115 | bool _sendProgressMessage(Serialization::Gateway::OtaInstallProgressTask task, float progress) {
          |                                                                                      ^~~~~~~~
    /home/runner/work/Firmware/Firmware/src/OtaUpdateManager.cpp:115:80: note: 'int' and 'float' may be implicitly converted
      115 | bool _sendProgressMessage(Serialization::Gateway::OtaInstallProgressTask task, float progress) {
          |                                                                                ^
    
  • src/SemVer.cpp:1:10: error: [clang-diagnostic-error]

    'SemVer.h' file not found

        1 | #include "SemVer.h"
          |          ^~~~~~~~~~
    
  • src/SemVer.cpp:7:1: warning: [readability-duplicate-include]

    duplicate include

        6 | 
        7 | #include "Logging.h"
          | ^~~~~~~~~~~~~~~~~~~~
    
  • src/SemVer.cpp:141:12: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_semverIsPatch', which is reserved in the global namespace

      141 | const auto _semverIsPatch      = _semverIsNumericIdentifier;
          |            ^~~~~~~~~~~~~~
          |            semverIsPatch
    
  • src/SemVer.cpp:142:12: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_semverIsMinor', which is reserved in the global namespace

      142 | const auto _semverIsMinor      = _semverIsNumericIdentifier;
          |            ^~~~~~~~~~~~~~
          |            semverIsMinor
    
  • src/SemVer.cpp:143:12: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_semverIsMajor', which is reserved in the global namespace

      143 | const auto _semverIsMajor      = _semverIsNumericIdentifier;
          |            ^~~~~~~~~~~~~~
          |            semverIsMajor
    
  • src/SemVer.cpp:144:12: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_semverIsPrerelease', which is reserved in the global namespace

      144 | const auto _semverIsPrerelease = _semverIsDotSeperatedPreleaseIdentifiers;
          |            ^~~~~~~~~~~~~~~~~~~
          |            semverIsPrerelease
    
  • src/SemVer.cpp:145:12: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_semverIsBuild', which is reserved in the global namespace

      145 | const auto _semverIsBuild      = _semverIsDotSeperatedBuildIdentifiers;
          |            ^~~~~~~~~~~~~~
          |            semverIsBuild
    
  • src/SemVer.cpp:146:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_semverIsVersionCore', which is reserved in the global namespace

      146 | bool _semverIsVersionCore(std::string_view str) {
          |      ^~~~~~~~~~~~~~~~~~~~
          |      semverIsVersionCore
    
  • src/SemVer.cpp:146:6: warning: [modernize-use-trailing-return-type]

    use a trailing return type for this function

      146 | bool _semverIsVersionCore(std::string_view str) {
          | ~~~~ ^
          | auto                                            -> bool
    
  • src/VisualStateManager.cpp:1:10: error: [clang-diagnostic-error]

    'freertos/FreeRTOS.h' file not found

        1 | #include <freertos/FreeRTOS.h>
          |          ^~~~~~~~~~~~~~~~~~~~~
    
  • src/VisualStateManager.cpp:152:13: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_updateVisualStateGPIO', which is reserved in the global namespace

      152 | inline void _updateVisualStateGPIO(const PinPatternManager::State (&override)[N]) {
          |             ^~~~~~~~~~~~~~~~~~~~~~
          |             updateVisualStateGPIO
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:152:78: warning: do not declare C-style arrays, use std::array<> instead [cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays]
      152 | inline void _updateVisualStateGPIO(const PinPatternManager::State (&override)[N]) {
          |                                                                              ^
    
  • src/VisualStateManager.cpp:224:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_updateVisualState', which is reserved in the global namespace

      224 | void _updateVisualState() {
          |      ^~~~~~~~~~~~~~~~~~
          |      updateVisualState
    
  • src/VisualStateManager.cpp:251:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_handleWiFiConnected', which is reserved in the global namespace

      251 | void _handleWiFiConnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |      ^~~~~~~~~~~~~~~~~~~~
          |      handleWiFiConnected
    
  • src/VisualStateManager.cpp:251:38: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of '_handleWiFiConnected' of similar type are easily swapped by mistake

      251 | void _handleWiFiConnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:251:55: note: the first parameter in the range is 'event_base'
      251 | void _handleWiFiConnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                       ^~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:251:75: note: the last parameter in the range is 'event_id'
      251 | void _handleWiFiConnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                                           ^~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:251:38: note: after resolving type aliases, 'int' and 'int32_t' are the same
      251 | void _handleWiFiConnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                      ^
    
  • src/VisualStateManager.cpp:265:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_handleWiFiDisconnected', which is reserved in the global namespace

      265 | void _handleWiFiDisconnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |      ^~~~~~~~~~~~~~~~~~~~~~~
          |      handleWiFiDisconnected
    
  • src/VisualStateManager.cpp:265:41: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of '_handleWiFiDisconnected' of similar type are easily swapped by mistake

      265 | void _handleWiFiDisconnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:265:58: note: the first parameter in the range is 'event_base'
      265 | void _handleWiFiDisconnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                          ^~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:265:78: note: the last parameter in the range is 'event_id'
      265 | void _handleWiFiDisconnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                                              ^~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:265:41: note: after resolving type aliases, 'int' and 'int32_t' are the same
      265 | void _handleWiFiDisconnected(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                         ^
    
  • src/VisualStateManager.cpp:279:6: warning: [bugprone-reserved-identifier]

    declaration uses identifier '_handleWiFiScanDone', which is reserved in the global namespace

      279 | void _handleWiFiScanDone(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |      ^~~~~~~~~~~~~~~~~~~
          |      handleWiFiScanDone
    
  • src/VisualStateManager.cpp:279:37: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of '_handleWiFiScanDone' of similar type are easily swapped by mistake

      279 | void _handleWiFiScanDone(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:279:54: note: the first parameter in the range is 'event_base'
      279 | void _handleWiFiScanDone(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                      ^~~~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:279:74: note: the last parameter in the range is 'event_id'
      279 | void _handleWiFiScanDone(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                                                          ^~~~~~~~
    /home/runner/work/Firmware/Firmware/src/VisualStateManager.cpp:279:37: note: after resolving type aliases, 'int' and 'int32_t' are the same
      279 | void _handleWiFiScanDone(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) {
          |                                     ^
    
  • src/event_handlers/websocket/gateway/ShockerCommandList.cpp:1:10: error: [clang-diagnostic-error]

    'event_handlers/impl/WSGateway.h' file not found

        1 | #include "event_handlers/impl/WSGateway.h"
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
  • src/event_handlers/websocket/gateway/_InvalidMessage.cpp:1:10: error: [clang-diagnostic-error]

    'event_handlers/impl/WSGateway.h' file not found

        1 | #include "event_handlers/impl/WSGateway.h"
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
  • src/event_handlers/websocket/local/_InvalidMessage.cpp:1:10: error: [clang-diagnostic-error]

    'event_handlers/impl/WSLocal.h' file not found

        1 | #include "event_handlers/impl/WSLocal.h"
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
  • src/http/HTTPRequestManager.cpp:1:10: error: [clang-diagnostic-error]

    'http/HTTPRequestManager.h' file not found

        1 | #include "http/HTTPRequestManager.h"
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    
  • src/wifi/WiFiManager.cpp:1:10: error: [clang-diagnostic-error]

    'wifi/WiFiManager.h' file not found

        1 | #include "wifi/WiFiManager.h"
          |          ^~~~~~~~~~~~~~~~~~~~
    
  • src/wifi/WiFiManager.cpp:307:11: warning: [modernize-use-trailing-return-type]

    use a trailing return type for this function

      307 | esp_err_t set_esp_interface_dns(esp_interface_t interface, IPAddress main_dns, IPAddress backup_dns, IPAddress fallback_dns);
          |           ^
    

Have any feedback or feature suggestions? Share it here.

github-actions[bot] avatar Sep 27 '24 21:09 github-actions[bot]

Will not merge this, keeping it active for reference when we are actually ready to do the ESP-IDF step

hhvrc avatar Oct 09 '24 23:10 hhvrc