GCC Code Coverage Report


Directory: ./
File: channeloutput/RGBMatrix.h
Date: 2026-10-29 08:11:58
Exec Total Coverage
Lines: 0 3 0.0%
Functions: 0 2 0.0%
Branches: 0 2 0.0%

Line Branch Exec Source
1 #pragma once
2 /*
3 * This file is part of the Falcon Player (FPP) and is Copyright (C)
4 * 2013-2022 by the Falcon Player Developers.
5 *
6 * The Falcon Player (FPP) is free software, and is covered under
7 * multiple Open Source licenses. Please see the included 'LICENSES'
8 * file for descriptions of what files are covered by each license.
9 *
10 * This source file is covered under the GPL v2 as described in the
11 * included LICENSE.GPL file.
12 */
13
14 #include <string>
15 #include "fpp-json-fwd.h"
16
17 #include "Matrix.h"
18 #include "PanelMatrix.h"
19
20 #include "led-matrix.h"
21
22 using rgb_matrix::Canvas;
23 using rgb_matrix::FrameCanvas;
24 using rgb_matrix::RGBMatrix;
25
26 #include "ChannelOutput.h"
27
28 class RGBMatrixOutput : public ChannelOutput {
29 public:
30 RGBMatrixOutput(unsigned int startChannel, unsigned int channelCount);
31 virtual ~RGBMatrixOutput();
32
33 ✗ virtual std::string GetOutputType() const override {
34 ✗ return "Pi Panels";
35 }
36
37 virtual int Init(Json::Value config) override;
38 virtual int Close(void) override;
39
40 virtual void PrepData(unsigned char* channelData) override;
41
42 virtual int SendData(unsigned char* channelData) override;
43
44 virtual void DumpConfig(void) override;
45
46 virtual void GetRequiredChannelRanges(const std::function<void(int, int)>& addRange) override;
47
48 virtual void OverlayTestData(unsigned char* channelData, int cycleNum, float percentOfCycle, int testType, const Json::Value& config) override;
49 ✗ virtual bool SupportsTesting() const override { return true; }
50
51 private:
52 FrameCanvas* m_canvas = nullptr;
53 RGBMatrix* m_rgbmatrix = nullptr;
54 std::string m_layout;
55 std::string m_colorOrder;
56
57 int m_panelWidth;
58 int m_panelHeight;
59 int m_panels;
60 int m_width;
61 int m_height;
62 int m_rows;
63 int m_outputs;
64 int m_longestChain;
65 int m_invertedData;
66
67 Matrix* m_matrix = nullptr;
68 PanelMatrix* m_panelMatrix = nullptr;
69 std::string m_autoCreatedModelName;
70
71 uint8_t m_gammaCurve[256];
72 };
73