ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
BetaProtoController.h
Go to the documentation of this file.
1#include <Arduino.h>
2#include <OctoWS2811.h>
3
4#include "Controller.h"
5#include "Render/Camera.h"
6#include "Flash/PixelGroups/KaiborgV1Pixels.h"
7#include "Flash/PixelGroups/ProtoDRMini.h"
8
9const int ledsPerStrip = 346;
10DMAMEM int displayMemory[346 * 6];
11int drawingMemory[346 * 6];
12const int config = WS2811_GRB | WS2811_800kHz;
13
15
17private:
19
20 Transform camRghtFrntTransform = Transform(Vector3D(0.0f, 0.0f, 0.0f), Vector3D(0.0f, 0, -500.0f), Vector3D(1, 1, 1));
21 Transform camRghtRearTransform = Transform(Vector3D(0.0f, 0.0f, 159.0f), Vector3D(387.0f, 190.0f, -500.0f), Vector3D(1, 1, 1));
22
25
28
32
33public:
35 this->maxBrightness = maxBrightness;
36 this->maxAccentBrightness = maxAccentBrightness;
37 }
38
39 void Initialize() override{
40 leds.begin();
41 leds.show();
42 }
43
44 void Display() override {
45 int offset, inverseOffset;
46
47 for (int i = 0; i < 571; i++){
49
51 }
52
53 for (int i = 0; i < 571; i++) {
54 if (i < 346){
55 offset = i + 225;
56 inverseOffset = 570 - offset;
57
58 //Rear Panels
59 leds.setPixel(i + 346 * 0, camRghtRearPixels.GetColor(inverseOffset)->R, camRghtRearPixels.GetColor(inverseOffset)->G, camRghtRearPixels.GetColor(inverseOffset)->B);//LEFT
60 leds.setPixel(i + 346 * 1, camRghtRearPixels.GetColor(i)->R, camRghtRearPixels.GetColor(i)->G, camRghtRearPixels.GetColor(i)->B);//Pin 8
61
62 //Front Panels
63 leds.setPixel(i + 346 * 4, camRghtFrntPixels.GetColor(inverseOffset)->R, camRghtFrntPixels.GetColor(inverseOffset)->G, camRghtFrntPixels.GetColor(inverseOffset)->B);//Pin 7
64 leds.setPixel(i + 346 * 5, camRghtFrntPixels.GetColor(i)->R, camRghtFrntPixels.GetColor(i)->G, camRghtFrntPixels.GetColor(i)->B);//Pin 8
65 }
66 else{
67 offset = i - 346;
68 inverseOffset = 570 - offset;
69
70 //Rear Panels
71 leds.setPixel(i + 346 * 2 - 346, camRghtRearPixels.GetColor(inverseOffset)->R, camRghtRearPixels.GetColor(inverseOffset)->G, camRghtRearPixels.GetColor(inverseOffset)->B);//Pin 8
72 leds.setPixel(i + 346 * 3 - 346, camRghtRearPixels.GetColor(i)->R, camRghtRearPixels.GetColor(i)->G, camRghtRearPixels.GetColor(i)->B);//Pin 8
73
74 //Front Panels
75 leds.setPixel(i + 346 * 6 - 346, camRghtFrntPixels.GetColor(inverseOffset)->R, camRghtFrntPixels.GetColor(inverseOffset)->G, camRghtFrntPixels.GetColor(inverseOffset)->B);//Pin 8
76 leds.setPixel(i + 346 * 7 - 346, camRghtFrntPixels.GetColor(i)->R, camRghtFrntPixels.GetColor(i)->G, camRghtFrntPixels.GetColor(i)->B);//Pin 8
77 }
78 }
79
80 leds.show();
81 }
82};
DMAMEM int displayMemory[346 *6]
const int config
OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config)
int drawingMemory[346 *6]
const int ledsPerStrip
Declares the Controller base class for managing lighting controllers.
void Initialize() override
Initializes the controller.
void Display() override
Updates and displays content on the lighting system.
BetaProtoController(uint8_t maxBrightness, uint8_t maxAccentBrightness)
PixelGroup< 571 > camRghtFrntPixels
PixelGroup< 571 > camRghtRearPixels
Base class for managing camera properties and transformations.
Definition CameraBase.h:26
Manages camera orientation and axis alignment.
@ YUp
Up along the positive Y-axis.
@ ZForward
Forward along the positive Z-axis.
Manages camera behavior and pixel groups.
Definition Camera.h:27
Base class for managing brightness and display operations of lighting controllers.
Definition Controller.h:25
uint8_t accentBrightness
Current accent brightness level.
Definition Controller.h:33
uint8_t brightness
Current brightness level.
Definition Controller.h:32
Manages a collection of pixels with positions, colors, and spatial relationships.
Definition PixelGroup.h:27
RGBColor * GetColor(uint16_t count) override
Retrieves the color of a specific pixel.
RGBColor Scale(const uint8_t &maxBrightness)
Scales the brightness of the color to a maximum value.
Definition RGBColor.cpp:29
uint8_t B
Blue component of the color (0-255).
Definition RGBColor.h:27
uint8_t G
Green component of the color (0-255).
Definition RGBColor.h:26
uint8_t R
Red component of the color (0-255).
Definition RGBColor.h:25
Represents a 3D transformation including position, rotation, and scale.
Definition Transform.h:22
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.
Definition Vector3D.h:26