diff options
| author | Zixun LI <[email protected]> | 2026-07-26 22:47:23 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-07-26 22:47:23 +0200 |
| commit | c83e3376588f2d87df80e6fd7de9e7ab6d99d5c1 (patch) | |
| tree | d253a31eb2a498df4e90912940e017b65e14e17d | |
| parent | 43b23195ac7d70d510dc14e222fe622c1bc83576 (diff) | |
| parent | 05f19ab438641823d047c811e7426177788d0490 (diff) | |
Merge pull request #3785 from TenGui/tud_descriptor_narrowing
Cast BMaxPower in TUD_CONFIG_DESCRIPTOR to uint8_t
| -rw-r--r-- | src/common/tusb_types.h | 2 | ||||
| -rw-r--r-- | src/device/usbd.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/common/tusb_types.h b/src/common/tusb_types.h index d49d277ed..fa4d67df1 100644 --- a/src/common/tusb_types.h +++ b/src/common/tusb_types.h @@ -244,7 +244,7 @@ enum { TUSB_DESC_CONFIG_ATT_SELF_POWERED = 1 << 6, }; -#define TUSB_DESC_CONFIG_POWER_MA(x) ((x)/2) +#define TUSB_DESC_CONFIG_POWER_MA(x) ((uint8_t)TU_MIN((x)/2, UINT8_MAX)) // USB 2.0 Spec Table 9-7: Test Mode Selectors typedef enum { diff --git a/src/device/usbd.h b/src/device/usbd.h index 9be12ed0a..2015d1869 100644 --- a/src/device/usbd.h +++ b/src/device/usbd.h @@ -229,7 +229,7 @@ bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_requ // Config number, interface count, string index, total length, attribute, power in mA #define TUD_CONFIG_DESCRIPTOR(config_num, _itfcount, _stridx, _total_len, _attribute, _power_ma) \ - 9, TUSB_DESC_CONFIGURATION, U16_TO_U8S_LE(_total_len), _itfcount, config_num, _stridx, TU_BIT(7) | _attribute, (_power_ma)/2 + 9, TUSB_DESC_CONFIGURATION, U16_TO_U8S_LE(_total_len), _itfcount, config_num, _stridx, TU_BIT(7) | _attribute, (uint8_t)TU_MIN((_power_ma)/2, UINT8_MAX) //--------------------------------------------------------------------+ // CDC Descriptor Templates |
