From 76b4f38af060c42199a0b037c48bf2ab79926d29 Mon Sep 17 00:00:00 2001 From: Vergil_Wong Date: Sun, 12 Nov 2023 23:55:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0API=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加了RGB灯组的宏说明 --- .../bin/app_hsv_cycle_example.xe | Bin 300608 -> 293188 bytes .../bin/app_rgb_cycle_breathing_example.xe | Bin 289296 -> 289296 bytes ...pp_test_cycleHSV_with_vol_level_example.xe | Bin 305912 -> 298496 bytes .../bin/app_test_fill_gradient_with_groups.xe | Bin 295092 -> 295100 bytes lib_rgb/api/rgb_effect.h | 31 +++++++++++++++++- lib_rgb/src/rgb_effect.xc | 11 ++++--- 6 files changed, 37 insertions(+), 5 deletions(-) diff --git a/examples/app_hsv_cycle_example/bin/app_hsv_cycle_example.xe b/examples/app_hsv_cycle_example/bin/app_hsv_cycle_example.xe index 764eaf547c0d2915b446f769a914b9f8f7758df3..b29a3aaf6b3d21014543ebdca9bb51f7b5e95724 100644 GIT binary patch delta 55168 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 Z8>=n)*4n=+YJXJG%C|k%=0~E|{68$}FxmhB delta 61348 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 diff --git a/examples/app_rgb_cycle_breathing_example/bin/app_rgb_cycle_breathing_example.xe b/examples/app_rgb_cycle_breathing_example/bin/app_rgb_cycle_breathing_example.xe index 0fa9bbc37d65d88302d929f380a3e4b5103cd119..3a3590a563914fd9e5869f5b60e25bec6974e292 100644 GIT binary patch delta 11760 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 delta 12724 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 AIRF3v diff --git a/examples/app_test_cycleHSV_with_vol_level_example/bin/app_test_cycleHSV_with_vol_level_example.xe b/examples/app_test_cycleHSV_with_vol_level_example/bin/app_test_cycleHSV_with_vol_level_example.xe index 11a015605824ee0a7bfe54b0e6198f9e5b993378..f3fe2c822c0ba6fc836cd22f70e3661fb8bf240e 100644 GIT binary patch delta 56728 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
  • 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 axy{b7=l1ljl`NN7rXF9cKRsa;%M1W-%&?>Y delta 62460 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 Lb#*2#Ph9(NrMM_| diff --git a/examples/app_test_fill_gradient_with_groups/bin/app_test_fill_gradient_with_groups.xe b/examples/app_test_fill_gradient_with_groups/bin/app_test_fill_gradient_with_groups.xe index 23ad47ff7761c2e8db625945fbcb5b288cc4f9bd..18958cbe337246adb57eba1d4847623fa5399b29 100644 GIT binary patch delta 11265 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 Ki6suV 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 diff --git a/lib_rgb/api/rgb_effect.h b/lib_rgb/api/rgb_effect.h index d90d150..ad5a1e4 100644 --- a/lib_rgb/api/rgb_effect.h +++ b/lib_rgb/api/rgb_effect.h @@ -44,11 +44,40 @@ uint32_t cycleRGB(uint32_t color, GradientDirection *direction); uint32_t cycleHSV(uint32_t *hue); /** - * 将HSV颜色值转换为RGB颜色值。 + * 将HSV颜色空间转换为RGB颜色空间。 * * 此函数接受HSV(色相、饱和度、亮度)颜色空间的值,并将其转换为RGB(红、绿、蓝)颜色空间的值。 * 转换过程中,可能会执行有效性检查(取决于HSV_VALID_CHECK预处理器变量)。 * + * 实现步骤: + * 1. **规范化色调值:** + * $ H' = \frac{H}{360} $ + * + * 2. **计算色度(Chroma):** + * $ C = S \times V $ + * + * 3. **计算X值:** + * $ X = C \times (1 - |(H' \times 6) \mod 2 - 1|) $ + * + * 4. **计算中间RGB值:** + * 根据H'的值,我们有: + * - 如果 $( 0 \leq H' < 1 )$:$ R1 = C, G1 = X, B1 = 0 $ + * - 如果 $( 1 \leq H' < 2 )$:$ R1 = X, G1 = C, B1 = 0 $ + * - 如果 $( 2 \leq H' < 3 )$:$ R1 = 0, G1 = C, B1 = X $ + * - 如果 $( 3 \leq H' < 4 )$:$ R1 = 0, G1 = X, B1 = C $ + * - 如果 $( 4 \leq H' < 5 )$:$ R1 = X, G1 = 0, B1 = C $ + * - 如果 $( 5 \leq H' < 6 )$:$ R1 = C, G1 = 0, B1 = X $ + * + * 5. **计算最终RGB值:** + * $ R' = (R1 + (V - C)) \times 255 $ + * $ G' = (G1 + (V - C)) \times 255 $ + * $ B' = (B1 + (V - C)) \times 255 $ + * + * 6. **限制最终值范围:** + * $ R'' = \min(\max(R', 0), 255) $ + * $ G'' = \min(\max(G', 0), 255) $ + * $ B'' = \min(\max(B', 0), 255) $ + * * \param hue 指向色相值的指针,色相值的范围通常是0-360。 * \param sat 指向饱和度值的指针,饱和度值的范围通常是0-100。 * \param value 指向亮度值的指针,亮度值的范围通常是0-100。 diff --git a/lib_rgb/src/rgb_effect.xc b/lib_rgb/src/rgb_effect.xc index d8568c6..3d31aa3 100644 --- a/lib_rgb/src/rgb_effect.xc +++ b/lib_rgb/src/rgb_effect.xc @@ -13,17 +13,20 @@ #define NUM_RGBS (12) #endif +// RGB灯组的数量,不应超过NUM_RGBS #ifndef NUM_RGB_GROUPS #define NUM_RGB_GROUPS (2) #endif -// 控制RGB亮度的最大值,不超过255 + +// 控制RGB亮度的最大值,不超过255 #ifndef RGB_MAX #define RGB_MAX (20) #endif -// 开关饱和检查 +// TODO:优化为编译时检查? +// 开关饱和检查,该检查会引入性能损失,在需要高刷新率时关闭它 #ifndef HSV_VALID_CHECK -#define HSV_VALID_CHECK (0) +#define HSV_VALID_CHECK (1) #endif // 控制HUE的最大值,不超过360° @@ -47,7 +50,7 @@ #define DELAY_TIME_RGB (1000 / RGB_MAX) #endif -// TODO: 当RGB_MAX等值超限时,raise error +// TODO:当RGB_MAX等值超限时,raise error // 定义一个枚举来表示渐变方向 typedef enum {