diff options
| author | C47D <carlos.santiago.diaz@gmail.com> | 2019-07-06 16:50:48 -0500 |
|---|---|---|
| committer | C47D <carlos.santiago.diaz@gmail.com> | 2019-07-06 16:50:48 -0500 |
| commit | fae1039401fe2eef70d21ae2148e8eeeec0560bd (patch) | |
| tree | a81e2a2104fe3f7c30c317da45d5551f43c260a0 /supervisor/shared | |
| parent | 5610e05b8c19c3892dfe9bfced719307a95f365e (diff) | |
[rgb led status] Add CP_RGB_STATUS_PWM_INVERTED symbol to invert pwm signals.
Diffstat (limited to 'supervisor/shared')
| -rw-r--r-- | supervisor/shared/rgb_led_status.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/supervisor/shared/rgb_led_status.c b/supervisor/shared/rgb_led_status.c index 3146cc686..2e1b8260b 100644 --- a/supervisor/shared/rgb_led_status.c +++ b/supervisor/shared/rgb_led_status.c @@ -196,11 +196,17 @@ void new_status_color(uint32_t rgb) { uint8_t red_u8 = (rgb_adjusted >> 16) & 0xFF; uint8_t green_u8 = (rgb_adjusted >> 8) & 0xFF; uint8_t blue_u8 = rgb_adjusted & 0xFF; - - status_rgb_color[0] = (1<<16) - 1 - ((uint16_t) (red_u8 << 8) + red_u8); - status_rgb_color[1] = (1<<16) - 1 - ((uint16_t) (green_u8 << 8) + green_u8); - status_rgb_color[2] = (1<<16) - 1 - ((uint16_t) (blue_u8 << 8) + blue_u8); - + + #if defined(CP_RGB_STATUS_INVERTED_PWM) + status_rgb_color[0] = (1 << 16) - 1 - ((uint16_t) (red_u8 << 8) + red_u8); + status_rgb_color[1] = (1 << 16) - 1 - ((uint16_t) (green_u8 << 8) + green_u8); + status_rgb_color[2] = (1 << 16) - 1 - ((uint16_t) (blue_u8 << 8) + blue_u8); + #else + status_rgb_color[0] = (uint16_t) (red_u8 << 8) + red_u8; + status_rgb_color[1] = (uint16_t) (green_u8 << 8) + green_u8; + status_rgb_color[2] = (uint16_t) (blue_u8 << 8) + blue_u8; + #endif + common_hal_pulseio_pwmout_set_duty_cycle(&rgb_status_r, status_rgb_color[0]); common_hal_pulseio_pwmout_set_duty_cycle(&rgb_status_g, status_rgb_color[1]); common_hal_pulseio_pwmout_set_duty_cycle(&rgb_status_b, status_rgb_color[2]); @@ -235,11 +241,18 @@ void temp_status_color(uint32_t rgb) { uint8_t green_u8 = (rgb_adjusted >> 8) & 0xFF; uint8_t blue_u8 = rgb_adjusted & 0xFF; - uint16_t temp_status_color_rgb[3]; + uint16_t temp_status_color_rgb[3] = {0}; + + #if defined(CP_RGB_STATUS_INVERTED_PWM) + temp_status_color_rgb[0] = (1 << 16) - 1 - ((uint16_t) (red_u8 << 8) + red_u8); + temp_status_color_rgb[1] = (1 << 16) - 1 - ((uint16_t) (green_u8 << 8) + green_u8); + temp_status_color_rgb[2] = (1 << 16) - 1 - ((uint16_t) (blue_u8 << 8) + blue_u8); + #else temp_status_color_rgb[0] = (uint16_t) (red_u8 << 8) + red_u8; temp_status_color_rgb[1] = (uint16_t) (green_u8 << 8) + green_u8; temp_status_color_rgb[2] = (uint16_t) (blue_u8 << 8) + blue_u8; - + #endif + common_hal_pulseio_pwmout_set_duty_cycle(&rgb_status_r, temp_status_color_rgb[0]); common_hal_pulseio_pwmout_set_duty_cycle(&rgb_status_g, temp_status_color_rgb[1]); common_hal_pulseio_pwmout_set_duty_cycle(&rgb_status_b, temp_status_color_rgb[2]); @@ -407,4 +420,4 @@ void tick_rgb_status_animation(rgb_status_animation_t* status) { } } #endif -}
\ No newline at end of file +} |
