diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f692b1f7d0..0363b5afdf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -433,7 +433,7 @@ jobs: if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) >= 100 strategy: fail-fast: false - max-parallel: 5 + max-parallel: ${{ (github.base_ref == 'beta' || github.base_ref == 'release') && 8 || 4 }} matrix: components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }} steps: diff --git a/esphome/components/usb_host/usb_host.h b/esphome/components/usb_host/usb_host.h index 036c535bd7..43b24a54a5 100644 --- a/esphome/components/usb_host/usb_host.h +++ b/esphome/components/usb_host/usb_host.h @@ -58,8 +58,12 @@ static const size_t SETUP_PACKET_SIZE = 8; static const size_t MAX_REQUESTS = USB_HOST_MAX_REQUESTS; // maximum number of outstanding requests possible. static_assert(MAX_REQUESTS >= 1 && MAX_REQUESTS <= 32, "MAX_REQUESTS must be between 1 and 32"); -// Select appropriate bitmask type based on MAX_REQUESTS -// uint16_t for <= 16 requests, uint32_t for 17-32 requests +// Select appropriate bitmask type for tracking allocation of TransferRequest slots. +// The bitmask must have at least as many bits as MAX_REQUESTS, so: +// - Use uint16_t for up to 16 requests (MAX_REQUESTS <= 16) +// - Use uint32_t for 17-32 requests (MAX_REQUESTS > 16) +// This is tied to the static_assert above, which enforces MAX_REQUESTS is between 1 and 32. +// If MAX_REQUESTS is increased above 32, this logic and the static_assert must be updated. using trq_bitmask_t = std::conditional<(MAX_REQUESTS <= 16), uint16_t, uint32_t>::type; static constexpr size_t USB_EVENT_QUEUE_SIZE = 32; // Size of event queue between USB task and main loop diff --git a/requirements.txt b/requirements.txt index 8cc2b4ed45..64946263ea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251009.0 -aioesphomeapi==41.13.0 +aioesphomeapi==41.14.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import diff --git a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml index 29f833c235..642292f7c4 100644 --- a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml +++ b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml @@ -40,9 +40,7 @@ display: - number: 17 blue: - number: 47 - allow_other_uses: true - - number: 41 - allow_other_uses: true + - number: 1 - number: 0 ignore_strapping_warning: true - number: 42 @@ -53,7 +51,7 @@ display: number: 45 ignore_strapping_warning: true hsync_pin: - number: 40 + number: 38 vsync_pin: number: 48 data_rate: 1000000.0