Skip to content

Commit 8edc8d8

Browse files
committed
Repair negation typo stm32f100 for ws2812
1 parent c7a1a20 commit 8edc8d8

5 files changed

Lines changed: 113 additions & 88 deletions

File tree

examples/chapter09_08a/src/mcal/avr/mcal_led_rgb_ws2812.h

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
///////////////////////////////////////////////////////////////////////////////
2-
// Copyright Christopher Kormanyos 2017 - 2023.
2+
// Copyright Christopher Kormanyos 2017 - 2025.
33
// Distributed under the Boost Software License,
44
// Version 1.0. (See accompanying file LICENSE_1_0.txt
55
// or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,8 +12,8 @@
1212

1313
#include <mcal_cpu.h>
1414
#include <mcal_irq.h>
15-
#include <mcal_port.h>
1615
#include <mcal_led/mcal_led_rgb_base.h>
16+
#include <mcal_port.h>
1717

1818
namespace mcal { namespace led {
1919

@@ -68,38 +68,38 @@
6868
{
6969
using base_class_type = mcal::led::led_rgb_base;
7070

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());
7474

7575
mcal::irq::disable_all();
7676

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) });
103103

104104
mcal::irq::enable_all();
105105
}

examples/chapter09_08b/src/app/led/app_led.cpp

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,25 @@ namespace app
2121
}
2222
}
2323

24-
namespace
25-
{
26-
using app_led_monochrome_timer_type = util::timer<std::uint32_t>;
27-
using app_led_rgb_timer_type = util::timer<std::uint16_t>;
28-
29-
auto app_led_monochrome_timer = static_cast<app_led_monochrome_timer_type>(app_led_monochrome_timer_type::seconds(UINT8_C(1)));
30-
auto app_led_rgb_timer = static_cast<app_led_rgb_timer_type>(app_led_rgb_timer_type::milliseconds(UINT8_C(30)));
31-
32-
std::uint_fast8_t app_led_hue_r { UINT8_C(255) };
33-
std::uint_fast8_t app_led_hue_g { UINT8_C(0) };
34-
std::uint_fast8_t app_led_hue_b { UINT8_C(0) };
35-
}
36-
3724
auto app::led::task_init() -> void
3825
{
3926
mcal::led::led0().toggle();
4027

41-
mcal::led::led_rgb0().set_color(app_led_hue_r, app_led_hue_g, app_led_hue_b);
28+
mcal::led::led_rgb0().set_color(UINT8_C(255), UINT8_C(0), UINT8_C(0));
4229
}
4330

4431
auto app::led::task_func() -> void
4532
{
33+
using app_led_monochrome_timer_type = util::timer<std::uint32_t>;
34+
using app_led_rgb_timer_type = util::timer<std::uint16_t>;
35+
36+
static auto app_led_monochrome_timer = static_cast<app_led_monochrome_timer_type>(app_led_monochrome_timer_type::seconds(UINT8_C(1)));
37+
static auto app_led_rgb_timer = static_cast<app_led_rgb_timer_type>(app_led_rgb_timer_type::milliseconds(UINT8_C(30)));
38+
39+
static std::uint_fast8_t app_led_hue_r { UINT8_C(255) };
40+
static std::uint_fast8_t app_led_hue_g { UINT8_C(0) };
41+
static std::uint_fast8_t app_led_hue_b { UINT8_C(0) };
42+
4643
if(app_led_monochrome_timer.timeout())
4744
{
4845
// Toggle the monochrome user LED at 1/2 Hz.
@@ -52,27 +49,28 @@ auto app::led::task_func() -> void
5249
app_led_monochrome_timer.start_interval(app_led_monochrome_timer_type::seconds(1U));
5350
}
5451

52+
// Define the color transition states.
53+
enum class color_transition_type
54+
{
55+
red_to_yellow,
56+
yellow_to_green,
57+
green_to_cyan,
58+
cyan_to_blue,
59+
blue_to_magenta,
60+
magenta_to_red
61+
};
62+
63+
64+
// Initialize the color transition state.
65+
static auto color_transition_state = color_transition_type::red_to_yellow;
66+
5567
if(app_led_rgb_timer.timeout())
5668
{
5769
// Animate the RGB LED with the colors of the spectrum.
5870

5971
// Implement the enhanced RGB-color-light-show mentioned
6072
// in the readme markdown of this example.
6173

62-
// Define the color transition states.
63-
enum class color_transition_type
64-
{
65-
red_to_yellow,
66-
yellow_to_green,
67-
green_to_cyan,
68-
cyan_to_blue,
69-
blue_to_magenta,
70-
magenta_to_red
71-
};
72-
73-
// Initialize the color transition state.
74-
static auto color_transition_state = color_transition_type::red_to_yellow;
75-
7674
const auto rgb_hue_sum =
7775
static_cast<std::uint_fast16_t>
7876
(

examples/chapter09_08b/src/mcal/stm32f100/mcal_led_rgb.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
///////////////////////////////////////////////////////////////////////////////
2-
// Copyright Christopher Kormanyos 2017 - 2023.
2+
// Copyright Christopher Kormanyos 2017 - 2025.
33
// Distributed under the Boost Software License,
44
// Version 1.0. (See accompanying file LICENSE_1_0.txt
55
// or copy at http://www.boost.org/LICENSE_1_0.txt)

examples/chapter09_08b/src/mcal/stm32f100/mcal_led_rgb_ws2812.h

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@
6262
#define MCAL_LED_RGB_WS2812_NOPS_10 { MCAL_LED_RGB_WS2812_NOPS_05 MCAL_LED_RGB_WS2812_NOPS_05 }
6363

6464
#define MCAL_LED_RGB_WS2812_PUSH_DATA(next_bit_is_zero) port_pin_type::set_pin_high(); \
65-
if (next_bit_is_zero) { port_pin_type::set_pin_low(); MCAL_LED_RGB_WS2812_NOPS_10 } \
66-
else { MCAL_LED_RGB_WS2812_NOPS_06 port_pin_type::set_pin_low(); MCAL_LED_RGB_WS2812_NOPS_02 MCAL_LED_RGB_WS2812_NOPS_01 }
65+
if (next_bit_is_zero) { port_pin_type::set_pin_low(); MCAL_LED_RGB_WS2812_NOPS_10 MCAL_LED_RGB_WS2812_NOPS_02 } \
66+
else { MCAL_LED_RGB_WS2812_NOPS_06 MCAL_LED_RGB_WS2812_NOPS_02 port_pin_type::set_pin_low(); MCAL_LED_RGB_WS2812_NOPS_05 }
6767

6868
template<typename PortPinType,
6969
const unsigned LedCount> auto led_rgb_ws2812<PortPinType, LedCount>::push_color() -> void
@@ -76,32 +76,32 @@
7676

7777
mcal::irq::disable_all();
7878

79-
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) }));
80-
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) }));
81-
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) }));
82-
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) }));
83-
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) }));
84-
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) }));
85-
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) }));
86-
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) }));
87-
88-
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) }));
89-
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) }));
90-
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) }));
91-
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) }));
92-
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) }));
93-
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) }));
94-
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) }));
95-
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) }));
96-
97-
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) }));
98-
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) }));
99-
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) }));
100-
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) }));
101-
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) }));
102-
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) }));
103-
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) }));
104-
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) }));
79+
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) });
80+
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) });
81+
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) });
82+
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) });
83+
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) });
84+
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) });
85+
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) });
86+
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) });
87+
88+
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) });
89+
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) });
90+
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) });
91+
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) });
92+
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) });
93+
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) });
94+
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) });
95+
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) });
96+
97+
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) });
98+
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) });
99+
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) });
100+
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) });
101+
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) });
102+
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) });
103+
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) });
104+
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) });
105105

106106
mcal::irq::enable_all();
107107
}

0 commit comments

Comments
 (0)