From ad103f9ca2795ba660fdc52f4f7c17e5fa0f9bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodn=C3=A1r=20Zsombor?= <bodzsoaa@sch.bme.hu> Date: Mon, 14 Jun 2021 18:57:06 +0200 Subject: [PATCH] SM-37 --- src/configuration.cc | 3 --- src/configuration.h | 5 ++--- src/muebreceiver.cc | 6 +++++- src/muebtransmitter_p.h | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/configuration.cc b/src/configuration.cc index 14faecf..f47466e 100644 --- a/src/configuration.cc +++ b/src/configuration.cc @@ -38,7 +38,6 @@ Configuration::Configuration() { quint32 window_per_floor = rooms_per_floor * windows_per_room; quint32 windows = floors * window_per_floor; pixels_ = windows * pixels_per_window; - factor_ = 8 - color_depth_; // Alpha channel is not supported by hardware // The image is stored using a 24-bit RGB format (8-8-8) frame_ = QImage(window_per_floor * horizontal_pixel_unit, @@ -120,8 +119,6 @@ quint8 Configuration::max_packet_number() const { return max_packet_number_; } quint8 Configuration::color_depth() const { return color_depth_; } -quint8 Configuration::factor() const { return factor_; } - bool Configuration::debug_mode() const { return debug_mode_; } } // namespace libmueb diff --git a/src/configuration.h b/src/configuration.h index 7ab8cbd..2da7dd3 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -13,6 +13,8 @@ class Configuration final { Q_DISABLE_COPY(Configuration) public: + static constexpr quint8 kFactor{4}; + static Configuration& Instance(); QImage frame() const; @@ -39,8 +41,6 @@ class Configuration final { quint8 color_depth() const; - quint8 factor() const; - bool debug_mode() const; private: @@ -54,7 +54,6 @@ class Configuration final { quint16 broadcast_animation_port_; quint8 max_packet_number_; quint8 color_depth_; - quint8 factor_; bool debug_mode_; Configuration(); diff --git a/src/muebreceiver.cc b/src/muebreceiver.cc index c3f62ed..9092f13 100644 --- a/src/muebreceiver.cc +++ b/src/muebreceiver.cc @@ -65,8 +65,12 @@ void MuebReceiver::ReadPendingDatagrams() { if (d->configuration_.color_depth() < 5) { for (auto &i : data) { *frame_begin = i & 0xf0; + *frame_begin <<= + Configuration::kFactor - d->configuration_.color_depth(); frame_begin++; - *frame_begin = (i & 0x0f) << d->configuration_.factor(); + *frame_begin = (i & 0x0f) << Configuration::kFactor; + *frame_begin <<= + Configuration::kFactor - d->configuration_.color_depth(); frame_begin++; } // No compression diff --git a/src/muebtransmitter_p.h b/src/muebtransmitter_p.h index 0654c8f..b9ec1f4 100644 --- a/src/muebtransmitter_p.h +++ b/src/muebtransmitter_p.h @@ -58,7 +58,7 @@ class MuebTransmitterPrivate { // Compress 2 color components into 1 byte if (msb) { - compressed_colors.append(color << configuration_.factor()); + compressed_colors.append(color << Configuration::kFactor); } else { compressed_colors.back() = compressed_colors.back() | color; } -- GitLab