ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
HUB75ControllerSplit.h
Go to the documentation of this file.
1/**
2 * @file HUB75ControllerSplit.h
3 * @brief Declares the HUB75ControllerSplit class for managing HUB75 LED matrices and secondary LED displays.
4 *
5 * This file defines the HUB75ControllerSplit class, which extends the Controller base class.
6 * It provides functionality for controlling and displaying content on HUB75 LED matrices
7 * and managing secondary LED strips or displays for accent lighting.
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 HUB75ControllerSplit
23 * @brief Manages HUB75 LED matrices and secondary LED displays or strips.
24 *
25 * The HUB75ControllerSplit class extends the Controller base class to provide specific
26 * functionality for initializing, controlling, and displaying content on HUB75 LED matrices
27 * and managing secondary accent displays or LED strips.
28 */
30public:
31 /**
32 * @brief Constructs a HUB75ControllerSplit with specified parameters.
33 *
34 * @param cameras Pointer to the CameraManager for managing camera data.
35 * @param maxBrightness Maximum brightness for the main HUB75 LED matrix.
36 * @param maxAccentBrightness Maximum brightness for the secondary LED strip or display.
37 */
39
40 /**
41 * @brief Initializes the HUB75ControllerSplit and sets up the displays.
42 */
43 void Initialize() override;
44
45 /**
46 * @brief Updates and displays the content on the main and secondary displays.
47 */
48 void Display() override;
49
50 /**
51 * @brief Sets the maximum brightness of the main HUB75 LED matrix.
52 *
53 * @param maxBrightness The maximum brightness value (0-255).
54 */
55 void SetBrightness(uint8_t maxBrightness);
56
57 /**
58 * @brief Sets the maximum brightness of the secondary LED strip or display.
59 *
60 * @param maxAccentBrightness The maximum brightness value (0-255).
61 */
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 HUB75 LED matrices and secondary LED displays or strips.
void SetBrightness(uint8_t maxBrightness)
Sets the maximum brightness of the main HUB75 LED matrix.
void Initialize() override
Initializes the HUB75ControllerSplit and sets up the displays.
void Display() override
Updates and displays the content on the main and secondary displays.
void SetAccentBrightness(uint8_t maxAccentBrightness)
Sets the maximum brightness of the secondary LED strip or display.