From 0cd03695281504e3ba80c7acb7ceae9ee201441c Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Sun, 20 Mar 2016 14:39:09 -0700 Subject: [PATCH] Created Matrix Panels Support (markdown) --- Matrix-Panels-Support.md | 80 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 Matrix-Panels-Support.md diff --git a/Matrix-Panels-Support.md b/Matrix-Panels-Support.md new file mode 100644 index 0000000..2379014 --- /dev/null +++ b/Matrix-Panels-Support.md @@ -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 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 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 mosaic( + PanelWidth, + PanelHeight, + TileWidth, + TileHeight); +```