mirror of
https://github.com/Makuna/NeoPixelBus.git
synced 2025-08-07 12:54:26 +02:00
Created Matrix Panels Support (markdown)
80
Matrix-Panels-Support.md
Normal file
80
Matrix-Panels-Support.md
Normal file
@@ -0,0 +1,80 @@
|
||||
(under construction)
|
||||
|
||||
## Layouts
|
||||
### RowMajorLayout
|
||||
The first item is in the upper left. Then the numbering within the layout moves through the row, then continues on the left of the next row.
|
||||
```
|
||||
00 01 02 03
|
||||
04 05 06 07
|
||||
08 09 10 11
|
||||
12 13 14 15
|
||||
```
|
||||
There are three related objects with the same layout, but they are rotated 90, 180, and 270 degrees clockwise.
|
||||
RowMajor90Layout -
|
||||
RowMajor180Layout -
|
||||
RowMajor270Layout -
|
||||
|
||||
### RowMajorAlternatingLayout
|
||||
The first item is in the upper left. Then the number within the layout moves through the row, then continues on the right of the next row moving toward the left; repeating this alternating pattern through the layout.
|
||||
```
|
||||
00 01 02 03
|
||||
07 06 05 04
|
||||
08 09 10 11
|
||||
15 14 13 12
|
||||
```
|
||||
There are three related objects with the same layout, but they are rotated 90, 180, and 270 degrees clockwise.
|
||||
RowMajorAlternating90Layout -
|
||||
RowMajorAlternating180Layout -
|
||||
RowMajorAlternating270Layout -
|
||||
|
||||
### ColumnMajorLayout
|
||||
The first item in in the upper left. Then the number within the layout moves down the column, then continues on the top of the next column moving downward again.
|
||||
```
|
||||
00 04 08 12
|
||||
01 05 09 13
|
||||
02 06 10 14
|
||||
03 07 11 15
|
||||
```
|
||||
There are three related objects with the same layout, but they are rotated 90, 180, and 270 degrees clockwise.
|
||||
ColumnMajor90Layout -
|
||||
ColumnMajor180Layout -
|
||||
ColumnMajor270Layout -
|
||||
|
||||
### ColumnMajorAlternatingLayout
|
||||
The first item is in the upper left. Then the number within the layout moves down the column, then continues on the bottom of the next column moving upward toward the top; repeating this alternating pattern through the layout.
|
||||
```
|
||||
00 07 08 15
|
||||
01 06 09 14
|
||||
02 05 10 13
|
||||
03 04 11 12
|
||||
```
|
||||
There are three related objects with the same layout, but they are rotated 90, 180, and 270 degrees clockwise.
|
||||
ColumnMajorAlternating90Layout -
|
||||
ColumnMajorAlternating180Layout -
|
||||
ColumnMajorAlternating270Layout -
|
||||
|
||||
## [NeoTopology]()
|
||||
This object is constructed with a method from above to provide the mapping from the 2d coordinate system to index that the NeoPixelBus requires.
|
||||
```
|
||||
NeoTopology<RowMajorAlternatingLayout> topo(PanelWidth, PanelHeight);
|
||||
```
|
||||
|
||||
## [NeoTiles]()
|
||||
This object is constructed with two methods from above to provide the mapping from the 2d coordinate system to index that the NeoPixelBus requires. One method defines an individual layout of a panel, the other defines how the panels are arranged. All panels within the collection are oriented in the same way.
|
||||
```
|
||||
NeoTiles <ColumnMajorAlternatingLayout, RowMajorAlternatingLayout> tiles(
|
||||
PanelWidth,
|
||||
PanelHeight,
|
||||
TileWidth,
|
||||
TileHeight);
|
||||
```
|
||||
|
||||
## [NeoMosaic]()
|
||||
This object is constructed with a method from above to provide the mapping from the 2d coordinate system to index that the NeoPixelBus requires. The method defines the layout of the physical panel but the orientation is ignored. The mosaic will automatically rotate the panels to provide the shortest interconnections between panels.
|
||||
```
|
||||
NeoMosaic <ColumnMajorAlternatingLayout> mosaic(
|
||||
PanelWidth,
|
||||
PanelHeight,
|
||||
TileWidth,
|
||||
TileHeight);
|
||||
```
|
Reference in New Issue
Block a user