ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
HUB75ControllerSquare.h
Go to the documentation of this file.
1/**
2 * @file HUB75ControllerSquare.h
3 * @brief Declares the HUB75ControllerSquare class for managing a square display using two vertical HUB75 panels.
4 *
5 * This file defines the HUB75ControllerSquare class, which extends the Controller base class.
6 * It provides functionality for combining two vertical HUB75 panels into a single square display
7 * and managing brightness and content display.
8 *
9 * @date 22/12/2024
10 * @author Coela Can't
11 */
12
13#pragma once
14
15#include <stdint.h> // Include for fixed-width integer types.
16#include "Controller.h" // Include for base controller functionality.
17#include "SmartMatrixHUB75.h" // Include for HUB75-specific matrix utilities.
18#include "../Camera/CameraManager/CameraManager.h" // Include for camera management.
19#include "../Camera/Pixels/PixelGroup.h" // Include for pixel group management.
20
21/**
22 * @class HUB75ControllerSquare
23 * @brief Manages a square display composed of two vertical HUB75 panels.
24 *
25 * The HUB75ControllerSquare class extends the Controller base class to provide specific
26 * functionality for initializing, controlling, and displaying content on a square display
27 * created by combining two vertical HUB75 panels.
28 */
30public:
31 /**
32 * @brief Constructs a HUB75ControllerSquare with specified parameters.
33 *
34 * @param cameras Pointer to the CameraManager for managing camera data.
35 * @param maxBrightness Maximum brightness for the square display.
36 * @param maxAccentBrightness Maximum brightness for any secondary accent lighting.
37 */
39
40 /**
41 * @brief Initializes the HUB75ControllerSquare and sets up the square display.
42 */
43 void Initialize() override;
44
45 /**
46 * @brief Updates and displays the content on the square display.
47 */
48 void Display() override;
49
50 /**
51 * @brief Sets the maximum brightness of the square display.
52 *
53 * @param maxBrightness The maximum brightness value (0-255).
54 */
55 void SetBrightness(uint8_t maxBrightness) override;
56
57 /**
58 * @brief Sets the maximum brightness for any secondary accent lighting.
59 *
60 * @param maxAccentBrightness The maximum brightness value (0-255).
61 */
62 void SetAccentBrightness(uint8_t maxAccentBrightness) override;
63};
Declares the Controller base class for managing lighting controllers.
Configuration file for SmartMatrix library with HUB75 panels and APA102 support.
Manages multiple CameraBase objects.
Base class for managing brightness and display operations of lighting controllers.
Definition Controller.h:25
uint8_t maxAccentBrightness
Maximum allowed accent brightness level.
Definition Controller.h:35
uint8_t maxBrightness
Maximum allowed brightness level.
Definition Controller.h:34
CameraManager * cameras
Pointer to the CameraManager for managing camera data.
Definition Controller.h:31
Manages a square display composed of two vertical HUB75 panels.
void Initialize() override
Initializes the HUB75ControllerSquare and sets up the square display.
void Display() override
Updates and displays the content on the square display.
void SetAccentBrightness(uint8_t maxAccentBrightness) override
Sets the maximum brightness for any secondary accent lighting.
void SetBrightness(uint8_t maxBrightness) override
Sets the maximum brightness of the square display.