|
1 | 1 | /////////////////////////////////////////////////////////////////////////////// |
2 | | -// Copyright Christopher Kormanyos 2017 - 2023. |
| 2 | +// Copyright Christopher Kormanyos 2017 - 2025. |
3 | 3 | // Distributed under the Boost Software License, |
4 | 4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt |
5 | 5 | // or copy at http://www.boost.org/LICENSE_1_0.txt) |
|
12 | 12 |
|
13 | 13 | #include <mcal_cpu.h> |
14 | 14 | #include <mcal_irq.h> |
15 | | - #include <mcal_port.h> |
16 | 15 | #include <mcal_led/mcal_led_rgb_base.h> |
| 16 | + #include <mcal_port.h> |
17 | 17 |
|
18 | 18 | namespace mcal { namespace led { |
19 | 19 |
|
|
68 | 68 | { |
69 | 69 | using base_class_type = mcal::led::led_rgb_base; |
70 | 70 |
|
71 | | - const auto red = static_cast<std::uint8_t>(base_class_type::get_hue_r()); |
72 | | - const auto green = static_cast<std::uint8_t>(base_class_type::get_hue_g()); |
73 | | - const auto blue = static_cast<std::uint8_t>(base_class_type::get_hue_b()); |
| 71 | + const auto red = static_cast<std::uint_fast8_t>(base_class_type::get_hue_r()); |
| 72 | + const auto green = static_cast<std::uint_fast8_t>(base_class_type::get_hue_g()); |
| 73 | + const auto blue = static_cast<std::uint_fast8_t>(base_class_type::get_hue_b()); |
74 | 74 |
|
75 | 75 | mcal::irq::disable_all(); |
76 | 76 |
|
77 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(green & static_cast<std::uint8_t>(UINT8_C(0x80))) == static_cast<std::uint8_t>(UINT8_C(0))); |
78 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(green & static_cast<std::uint8_t>(UINT8_C(0x40))) == static_cast<std::uint8_t>(UINT8_C(0))); |
79 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(green & static_cast<std::uint8_t>(UINT8_C(0x20))) == static_cast<std::uint8_t>(UINT8_C(0))); |
80 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(green & static_cast<std::uint8_t>(UINT8_C(0x10))) == static_cast<std::uint8_t>(UINT8_C(0))); |
81 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(green & static_cast<std::uint8_t>(UINT8_C(0x08))) == static_cast<std::uint8_t>(UINT8_C(0))); |
82 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(green & static_cast<std::uint8_t>(UINT8_C(0x04))) == static_cast<std::uint8_t>(UINT8_C(0))); |
83 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(green & static_cast<std::uint8_t>(UINT8_C(0x02))) == static_cast<std::uint8_t>(UINT8_C(0))); |
84 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(green & static_cast<std::uint8_t>(UINT8_C(0x01))) == static_cast<std::uint8_t>(UINT8_C(0))); |
85 | | - |
86 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(red & static_cast<std::uint8_t>(UINT8_C(0x80))) == static_cast<std::uint8_t>(UINT8_C(0))); |
87 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(red & static_cast<std::uint8_t>(UINT8_C(0x40))) == static_cast<std::uint8_t>(UINT8_C(0))); |
88 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(red & static_cast<std::uint8_t>(UINT8_C(0x20))) == static_cast<std::uint8_t>(UINT8_C(0))); |
89 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(red & static_cast<std::uint8_t>(UINT8_C(0x10))) == static_cast<std::uint8_t>(UINT8_C(0))); |
90 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(red & static_cast<std::uint8_t>(UINT8_C(0x08))) == static_cast<std::uint8_t>(UINT8_C(0))); |
91 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(red & static_cast<std::uint8_t>(UINT8_C(0x04))) == static_cast<std::uint8_t>(UINT8_C(0))); |
92 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(red & static_cast<std::uint8_t>(UINT8_C(0x02))) == static_cast<std::uint8_t>(UINT8_C(0))); |
93 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(red & static_cast<std::uint8_t>(UINT8_C(0x01))) == static_cast<std::uint8_t>(UINT8_C(0))); |
94 | | - |
95 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(blue & static_cast<std::uint8_t>(UINT8_C(0x80))) == static_cast<std::uint8_t>(UINT8_C(0))); |
96 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(blue & static_cast<std::uint8_t>(UINT8_C(0x40))) == static_cast<std::uint8_t>(UINT8_C(0))); |
97 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(blue & static_cast<std::uint8_t>(UINT8_C(0x20))) == static_cast<std::uint8_t>(UINT8_C(0))); |
98 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(blue & static_cast<std::uint8_t>(UINT8_C(0x10))) == static_cast<std::uint8_t>(UINT8_C(0))); |
99 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(blue & static_cast<std::uint8_t>(UINT8_C(0x08))) == static_cast<std::uint8_t>(UINT8_C(0))); |
100 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(blue & static_cast<std::uint8_t>(UINT8_C(0x04))) == static_cast<std::uint8_t>(UINT8_C(0))); |
101 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(blue & static_cast<std::uint8_t>(UINT8_C(0x02))) == static_cast<std::uint8_t>(UINT8_C(0))); |
102 | | - MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint8_t>(blue & static_cast<std::uint8_t>(UINT8_C(0x01))) == static_cast<std::uint8_t>(UINT8_C(0))); |
| 77 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(green & static_cast<std::uint_fast8_t>(UINT8_C(0x80))) == std::uint_fast8_t { UINT8_C(0) }); |
| 78 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(green & static_cast<std::uint_fast8_t>(UINT8_C(0x40))) == std::uint_fast8_t { UINT8_C(0) }); |
| 79 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(green & static_cast<std::uint_fast8_t>(UINT8_C(0x20))) == std::uint_fast8_t { UINT8_C(0) }); |
| 80 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(green & static_cast<std::uint_fast8_t>(UINT8_C(0x10))) == std::uint_fast8_t { UINT8_C(0) }); |
| 81 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(green & static_cast<std::uint_fast8_t>(UINT8_C(0x08))) == std::uint_fast8_t { UINT8_C(0) }); |
| 82 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(green & static_cast<std::uint_fast8_t>(UINT8_C(0x04))) == std::uint_fast8_t { UINT8_C(0) }); |
| 83 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(green & static_cast<std::uint_fast8_t>(UINT8_C(0x02))) == std::uint_fast8_t { UINT8_C(0) }); |
| 84 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(green & static_cast<std::uint_fast8_t>(UINT8_C(0x01))) == std::uint_fast8_t { UINT8_C(0) }); |
| 85 | + |
| 86 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(red & static_cast<std::uint_fast8_t>(UINT8_C(0x80))) == std::uint_fast8_t { UINT8_C(0) }); |
| 87 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(red & static_cast<std::uint_fast8_t>(UINT8_C(0x40))) == std::uint_fast8_t { UINT8_C(0) }); |
| 88 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(red & static_cast<std::uint_fast8_t>(UINT8_C(0x20))) == std::uint_fast8_t { UINT8_C(0) }); |
| 89 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(red & static_cast<std::uint_fast8_t>(UINT8_C(0x10))) == std::uint_fast8_t { UINT8_C(0) }); |
| 90 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(red & static_cast<std::uint_fast8_t>(UINT8_C(0x08))) == std::uint_fast8_t { UINT8_C(0) }); |
| 91 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(red & static_cast<std::uint_fast8_t>(UINT8_C(0x04))) == std::uint_fast8_t { UINT8_C(0) }); |
| 92 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(red & static_cast<std::uint_fast8_t>(UINT8_C(0x02))) == std::uint_fast8_t { UINT8_C(0) }); |
| 93 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(red & static_cast<std::uint_fast8_t>(UINT8_C(0x01))) == std::uint_fast8_t { UINT8_C(0) }); |
| 94 | + |
| 95 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(blue & static_cast<std::uint_fast8_t>(UINT8_C(0x80))) == std::uint_fast8_t { UINT8_C(0) }); |
| 96 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(blue & static_cast<std::uint_fast8_t>(UINT8_C(0x40))) == std::uint_fast8_t { UINT8_C(0) }); |
| 97 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(blue & static_cast<std::uint_fast8_t>(UINT8_C(0x20))) == std::uint_fast8_t { UINT8_C(0) }); |
| 98 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(blue & static_cast<std::uint_fast8_t>(UINT8_C(0x10))) == std::uint_fast8_t { UINT8_C(0) }); |
| 99 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(blue & static_cast<std::uint_fast8_t>(UINT8_C(0x08))) == std::uint_fast8_t { UINT8_C(0) }); |
| 100 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(blue & static_cast<std::uint_fast8_t>(UINT8_C(0x04))) == std::uint_fast8_t { UINT8_C(0) }); |
| 101 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(blue & static_cast<std::uint_fast8_t>(UINT8_C(0x02))) == std::uint_fast8_t { UINT8_C(0) }); |
| 102 | + MCAL_LED_RGB_WS2812_PUSH_DATA(static_cast<std::uint_fast8_t>(blue & static_cast<std::uint_fast8_t>(UINT8_C(0x01))) == std::uint_fast8_t { UINT8_C(0) }); |
103 | 103 |
|
104 | 104 | mcal::irq::enable_all(); |
105 | 105 | } |
|
0 commit comments