-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdisplayconf-5a75b-example.js
More file actions
168 lines (147 loc) · 5.46 KB
/
displayconf-5a75b-example.js
File metadata and controls
168 lines (147 loc) · 5.46 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
import Display5A75B from "./ledder/server/drivers/Display5A75B.js"
import OffsetMapper from "./ledder/server/drivers/OffsetMapper.js"
// Example configuration for Colorlight 5A-75B LED driver
// This file shows various ways to configure HUB75 panels with the 5A-75B card
export let displayList = []
/////////// Single 64x32 HUB75 panel
// Most common configuration - single indoor LED panel
/*
displayList.push(new Display5A75B(
64, // width
32, // height
"192.168.1.45", // IP address of 5A-75B card
5568, // UDP port
false, // flipX
false // flipY
))
*/
/////////// Single 64x64 HUB75 panel
// Higher resolution panel, common for outdoor displays
/*
displayList.push(new Display5A75B(
64, // width
64, // height
"192.168.1.45", // IP address
5568, // port
false, // flipX
false // flipY
))
*/
/////////// 2x1 horizontal chain of 64x32 panels (128x32 total)
// Two panels side by side
/*
displayList.push(new Display5A75B(
128, // total width (2 * 64)
32, // height
"192.168.1.45", // IP address
5568 // port
))
*/
/////////// 2x2 grid of 64x32 panels (128x64 total) - RECOMMENDED FOR 4 PANELS
// Four panels arranged in a 2x2 grid - perfect for your setup!
displayList.push(new Display5A75B(
128, // total width (2 * 64)
64, // total height (2 * 32)
"192.168.1.45", // IP address
5568 // port
))
/////////// Alternative: 4x1 horizontal line of 64x32 panels (256x32 total)
// Four panels in a horizontal line
/*
displayList.push(new Display5A75B(
256, // total width (4 * 64)
32, // height
"192.168.1.45", // IP address
5568 // port
))
*/
/////////// Alternative: 1x4 vertical stack of 64x32 panels (64x128 total)
// Four panels stacked vertically
/*
displayList.push(new Display5A75B(
64, // width
128, // total height (4 * 32)
"192.168.1.45", // IP address
5568 // port
))
*/
/////////// Multiple 5A-75B cards configuration
// Use multiple cards for larger displays or redundancy
/*
// Card 1: Left side panels
displayList.push(new Display5A75B(
128, // width
64, // height
"192.168.1.45", // Card 1 IP
5568, // port
false, // flipX
false // flipY
))
// Card 2: Right side panels
displayList.push(new Display5A75B(
128, // width
64, // height
"192.168.1.46", // Card 2 IP
5568, // port
false, // flipX
false // flipY
))
*/
/////////// Complex panel arrangement with OffsetMapper
// Use OffsetMapper for non-standard panel arrangements
/*
// Create base panel configuration
let panel64x32 = new Display5A75B(64, 32, "192.168.1.45", 5568)
// Create offset mapper for custom layout
let customLayout = new OffsetMapper(192, 64, false) // 3x2 arrangement
// Map individual panels to positions
customLayout.addDisplay(panel64x32, 0, 0) // Top-left
customLayout.addDisplay(panel64x32, 64, 0) // Top-center
customLayout.addDisplay(panel64x32, 128, 0) // Top-right
customLayout.addDisplay(panel64x32, 0, 32) // Bottom-left
customLayout.addDisplay(panel64x32, 64, 32) // Bottom-center
customLayout.addDisplay(panel64x32, 128, 32) // Bottom-right
displayList.push(customLayout)
*/
/////////// Zigzag panel configuration
// For panels wired in a zigzag pattern to save cable length
/*
let panel = new Display5A75B(64, 32, "192.168.1.45", 5568)
let zigzagMapper = new OffsetMapper(64, 64, false) // 1x2 vertical arrangement
// Add panels with zigzag pattern
zigzagMapper.addDisplay(panel, 0, 0) // Top panel (normal)
zigzagMapper.addDisplay(panel, 0, 32) // Bottom panel
zigzagMapper.zigZagY() // Apply zigzag to Y axis
displayList.push(zigzagMapper)
*/
/////////// High refresh rate configuration
// For applications requiring high frame rates
/*
let highRefreshPanel = new Display5A75B(
32, // smaller resolution for higher FPS
32,
"192.168.1.45",
5568
)
// The driver will automatically adjust frame timing
// Actual refresh rate depends on panel size and network latency
displayList.push(highRefreshPanel)
*/
/////////// Testing configuration (small panel for development)
// Recommended for testing and development
displayList.push(new Display5A75B(
32, // small width for testing
16, // small height for testing
"192.168.1.45", // default 5A-75B IP
5568, // default port
false, // no X flip
false // no Y flip
))
// Notes for configuration:
// 1. Ensure your 5A-75B card has compatible firmware installed
// 2. Set your computer's IP to the same subnet (e.g., 192.168.1.100)
// 3. Test connectivity with: ping 192.168.1.45
// 4. Panel power requirements: 5V, 2-6A per 64x32 panel depending on brightness
// 5. Use adequate power supplies - insufficient power causes flickering
// 6. HUB75 cables should be short (<30cm) for best signal quality
// 7. For large displays, consider multiple 5A-75B cards to distribute load