-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConfig.h
More file actions
63 lines (49 loc) · 2.98 KB
/
Copy pathConfig.h
File metadata and controls
63 lines (49 loc) · 2.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#pragma once
#include <Arduino.h>
// kGeneralMaxBrightnessPercent caps output (100 = PSU-limited only, lower to hard-cap brightness).
constexpr uint8_t kGeneralMaxBrightnessPercent = 25;
constexpr uint32_t kPsuCurrentMa = 30000;
constexpr uint32_t kLedMaPerChannel = 20;
// Lane order follows the PCB routing, not the visual left-to-right panel order.
constexpr uint8_t kLiveLaneCount = 8;
constexpr uint8_t kLiveLanePins[kLiveLaneCount] = {12, 13, 14, 15, 0, 1, 26, 28};
constexpr uint8_t kLivePanelsPerLane[kLiveLaneCount] = { 2, 3, 2, 3, 2, 3, 2, 3};
constexpr uint16_t kLivePanelWidth = 16;
constexpr uint16_t kLivePanelHeight = 16;
constexpr uint16_t kLiveLedsPerPanel = 256;
constexpr uint8_t kLivePanelCount = 20;
constexpr uint16_t kLiveMatrixWidth = 160;
constexpr uint16_t kLiveMatrixHeight = 32;
constexpr uint16_t kLiveLedCount = 5120;
constexpr size_t kLiveFrameBytes = 15360;
constexpr bool kLiveInputColumnMajor = false;
constexpr uint8_t kPanelRotationQuarterTurnsCCW = 3;
constexpr bool kMatrixSerpentine = true;
constexpr bool kMatrixReverseOddRows = true;
constexpr bool kMatrixFlipX = false;
constexpr bool kMatrixFlipY = true;
// ── Whole-row corrections ─────────────────────────────────────────────────
// Rotates the entire row 180°: pixel (0,0) becomes pixel (159,15) and vice versa.
// Affects both panel order and content within every panel simultaneously.
constexpr bool kTopRowRot180 = false;
constexpr bool kBotRowRot180 = true;
// Reverses only the left-to-right ORDER of panels, content within each panel unchanged.
// Use when the entire row is cabled right-to-left instead of left-to-right.
constexpr bool kTopRowReverseX = false;
constexpr bool kBotRowReverseX = false;
// ── Per-panel content corrections ─────────────────────────────────────────
// Each flag applies independently to every panel in that row.
// Use when panels are physically mounted in a non-standard orientation.
constexpr bool kTopPanelRot180 = false; // rotate 180° (= flipX + flipY)
constexpr bool kBotPanelRot180 = false;
constexpr bool kTopPanelFlipX = false; // mirror each panel left↔right
constexpr bool kBotPanelFlipX = false;
constexpr bool kTopPanelFlipY = false; // mirror each panel top↔bottom
constexpr bool kBotPanelFlipY = false;
constexpr uint8_t kSdCs = 21;
constexpr uint8_t kSdMosi = 19;
constexpr uint8_t kSdMiso = 20;
constexpr uint8_t kSdSck = 18;
constexpr uint32_t kLiveSerialBaud = 115200UL;
constexpr uint32_t kSdRetryIntervalMs = 3000;
constexpr uint32_t kSdReadSpeedHz = 25000000UL;