Help PDF
Help PDF
13
August 5th 2018
www.freshney.org // [email protected]
www.maximumoctopus.com/electronics/builder.htm
Application: www.maximumoctopus.com/electronics/downloads/LEDMatrixStudio.zip
In this document the word matrix and frame mean the same thing. It’s an arrangement of pixels with a specific set of
dimensions.
Basic usage
Left mouse button draws on the matrix in the ON colour
When using drawing modes (rectangle, circle etc.), the button that is first clicked determines the final draw colour.
In bicolour or RGB mode, the colour selection for each button is shown on the left of the draw tools toolbar.
In gradient mode (RGB and bicolour only) the middle mouse button is used to draw with the gradient.
Menus Page 2
Toolbars Page 10
Export Page 20
Automation Page 23
About Page 29
Menus
File
New
Open
Merge in to animation
Save
Save as
Save the current animation or single frame to a file to a new file name.
Save the current frames in a format that can be used as a font within the application. Select a font by
pressing the right mouse button on the Font button within the drawing tools draw menu.
Preferences
Exit
Close the application. If an animation is running the application will not close, the animation will stop
playing.
Edit
Undo
Redo
Copy
Copy the frame before the selected frame to the clipboard (if the current frame > 1).
Paste
Paste special
Pastes the frame on the clipboard in to the selected frame. The contents of the clipboard are then
modified depending on which special action is selected.
Shift left
Shift right
Shift up
Shift down
Rotate anti-clockwise
Rotate clockwise
Mirror
Invert
Edit comment
Edit the comment that will be saved with the current animation/single frame.
If you have a device with dead pixels, are a device with missing LEDs then you can set them here and they
will be ignored when drawing.
View
Column/row data toolbar
Hex output
Pad output
Ensure all values are a minimum length. Value is padded with zeroes.
Brackets
Change the selections above based on the settings of the current file.
Font mode
By default font mode starts at ASCII code 32 (the space character); change it here.
Previous frame
Move to the previous frame in the animation. If this action is performed on the first frame, then it will
navigate the last frame.
Next frame
Move to the next frame in the animation. If this action is performed on the last frame, then it will navigate to
the first frame.
Grid
Preview
Shows the matrix in a smaller size, it makes designing graphics and fonts much easier.
Preview size
Preview view
Square
Radial
Maps the pixels around a circle. This ideal if your design is composed of LEDs in a circular pattern.
The distance from the centre of the circle to the first pixel. Use this to tweak the display for a better idea of
how your project might look.
Larger voids will generally mean larger pixels in the preview, smaller voids will give you smaller pixels.
Font viewer
View all of the fonts available to the application. See every character in normal and RGB mode.
Project
Clear all frames
Clear all frames in the current animation. Does not remove any frames.
Perform the invert action on all frames in the animation. “on” pixels become “off”, “off” pixels become “on”.
Fades each pixel individually. The colour in the first frame is faded to the colour of the pixel in the last frame.
Export
Code templates
Export the animation/frame to a code template. See page 23 for more information on code templates.
Export to bitmap
They are erased whenever a new project is started; they are not erased when clearing a single frame, or clearing the
entire animation.
Copy current to
Auto-save interval
Automate
Example code
Website
Opens maximumoctopus.com/electronics/builder.htm
About 😊
Important information
Toolbars
New
Open
Save
Export
Export one or more frames from the current animation to a format suitable for development. See page 20
for more information.
Preset
Press the right mouse button on this button for the following options:
Using X bytes.
Clear
Clear all frames from menu: Project -> Clear all frames.
Flip
A separate menu item exists for flipping every frame in the current animation.
Mirror
A separate menu item exists for mirroring every frame in the current animation.
Invert
Inverts the pixels so "on" becomes "off" and "off" becomes "on".
A separate menu item exists for inverting every frame in the current animation.
Rotate L / Rotate R
Rotate
Creates a selected number of frames where each frame is rotated a set number of degrees further than the
preceding frame, starting from the current frame.
This feature works much better with higher sized displays, but will still require some user tweaking.
5' to 90'
1 to 72
Press ESCAPE or click the left-most button to cancel the current drawing.
Right mouse button on the button to select brush size (1 pixel, 2x2 pixels and 3x3 pixels).
Left mouse button (on the matrix) to toggle the pixel on/off.
Right mouse button (on the matrix) to draw freehand. The first pixel that is selected sets the mode.
Select an "on" pixel to turn "off" pixels "on", select an "off" pixel to turn "on" pixels "off".
Select the first corner (doesn't matter which) using the left mouse button, then select the second corner,
again, use the left mouse button. Press the left mouse button to paste the selection. Hold down the LEFT
SHIFT key to paste transparently.
Select the first corner (doesn't matter which) using the left mouse button, then select the second corner,
again, use the left mouse button.
Select the first corner (doesn't matter which) using the left mouse button, then select the second corner,
again, use the left mouse button.
Using the left mouse button, select the centre, then select any point on its radius.
Select the start point (doesn't matter which) using the left mouse button, then select the end point again,
use the left mouse button.
Select the start point (doesn't matter which) using the left mouse button, then select the end point again,
use the left mouse button.
Press the right mouse button on the button to select one of the installed fonts.
Press the left mouse button to set the start position for the text then start typing!!
ON 3
ON 2
ON 1
OFF
SELECTOR
The colour used for all drawing tools. Shows initial corner for rectangle and empty rectangle modes; start
location for drawing tool; centre for empty circle tool.
LIGHTBOX
The colour to use when showing the contents of the previous frame, when lightbox mode is on.
Animation toolbar (left to right) [View -> Show animation toolbar]
Play
Press the right mouse button on this button to select playback speed.
Stop
First
Previous
x of y
Shows the currently selected frame (x) and the maximum number of frames available (y).
Next
Last
Add
Add Copy
Add Multiple
Delete
Lightbulb
Turn on lightbox/onion skin effect. See the contents of the previous frame (in grey) within the current frame.
Slider
Located at the bottom of the screen, usually below the animation toolbar. This allows for simplified export and
import of data from/to the current matrix (not animation).
Copy the contents of the box to the right for export. Paste in data, press return, for import. Data should be comma
delimited and will processed according to the drop down lists selection.
Source
Bit orientation
For each row of data select whether the LSB (least significant bit) or MSB (most significant bit) is at the left of
the grid.
Direction
Collate the data from the top of the grid down, or the bottom of the grid up.
Copy
Click the clipboard button to copy the comma-separated data in the adjacent box to the
clipboard.
New dialog
Click the New button on the top toolbar or select New from the File menu to start a new single matrix or animation.
Matrix options
Single colour
Pixels are either on or off. Suitable for the majority of LED displays on sale today.
Bi-colour (sequential)
For displays where there are two LEDs per “pixel”. Pixels can be one of three colours. This option is
designed for displays that need the data in sequence.
Example, a display that uses red/blue LEDs. Three in a row: blue, purple, red: 01 11 10 -> 011101
Bi-colour (bitplanes)
For displays where there are two LEDs per “pixel”. Pixels can be one of three colours. This option is
designed for displays where the data is separated per LED.
Example, a display that uses red/blue LEDs. Three in a row: blue, purple, red: 01 11 10 -> 011 110
The data for the red LED comes first, then the data for the blue LED.
RGB
For displays that contain RGB LEDs. Allows for full colour graphics and animations.
Size
By default, the common sizes are shown. Select All to show all values between 1 and 256.
Pixel Shape
Select either square or circle. This option only affects the on-screen display, but can be very useful when
designing graphics.
Animation
Select the number of blank frames to start with (frames can be added and deleted at any time after starting
a new project).
If you made a mistake and chose dimensions that were too small or too large than you can decide to keep
the previous data. No scaling or modification are applied if this option is unchecked.
From Preset
New presets can be created from the Preset button on the application’s top toolbar.
Create
Cancel
If the Auto preview check box is checked then all changes can be seen in real-time.
Rows | Columns
Chooses the start row and direction. Start at the top and go down, or vice versa.
The alternate modes change direction every row. Left/right starts left at row 0, right at row 1, etc.
Right/left starts right at row 0, left at row 1, etc.
The Sure 24x16 mode is a special option designed for the Sure 24x16 LED board (a great btw).
The alternate modes change direction every row. Up/down starts up at column 0, down at column 1,
etc. Down/up starts down at column0, up at column 1, etc.
Frames x to y
https://en.wikipedia.org/wiki/Bit_numbering#Least_significant_bit
Export format
Select the format of the exported data. Select from the six possible options:
Comma separated
The simplest output, no language styling, just each value separated by a comma.
PICAXE EEPROM
C-style (1 dimensional)
Suitable for the Arduino IDE, Spark Core, Espruino, and many other platforms.
C-style (2 dimensional)
Suitable for the Arduino IDE, Spark Core, Espruino, and many other platforms.
Python (1 dimensional)
Suitable for the Raspberry Pi, and any other python platform.
Python (2 dimensional)
Suitable for the Raspberry Pi, and any other python platform.
Number Format
Number Grouping
The process is easier to see if the values are in hex: 50293 (hex C475) becomes 75C4 = 30148.
Organise the exported data, decide how much ore how little to place on a line.
Row | Column
A single row or column (depending on the orientation setting at the top of the export page).
Frame
An entire frame.
Bytes
A number of bytes.
32 bits
This option will concatenate the bytes (in the order from RGB Colour Format above) in a 32 bit value.
The first byte will be zero.
Click on an action to add it to the list. Click Remove or double click an action to remove it from the action list.
Actions
Rotate L | Rotate R
Similar to the above, but clears the data as it gets wiped off-screen.
Code Templates
These can be found in the \code templates\ folder and contain fully working projects that are just missing matrix or
animation data.
Export your data to a template using the Project -> Code Templates menu option.
Instead of just exporting the data, it's now possible to export the data in to a preconfigured template - instant code!
Instant demo!
Code <filename>.<extension>
Template <filename>.<extension>.template
The code file contains the source code (specific to the platform folder), complete with special "tokens" that identify
areas that should be filled-in by the software.
The template file contains instructions on how the data should be configured so that it's in a format that source code
expects.
If you've created some templates (or would like new tokens), or wish to create them, then please get in touch!!
Usage
To populate the template with code and data, use the following tokens:
{$LMS_MATRIX_DATA$}
{$LMS_FRAMES$}
{$LMS_BYTES$}
{$LMS_COUNT$}
.template construction
{RGB or {
a:
b:
c:
d:
e:
f:
g:
h:
i:
r:
v:
w:
y:
z:
a: Export how
a:0 = Columns
a:1 = Rows
c:0 = Left
c:1 = Right
d:6 = Microchip
e: Number format
f: Number grouping
f:0 = 8 bits
f:1 = 16 bits
f:2 = 32 bits
f:5 = 64 bits
h:0 = Row/column
h:1 = Frame
h:2 = Bytes
r:0 = RGB
r:1 = BGR
r:2 = GRB
Dimension constraints
For some code templates it's highly likely that code expects a matrix of a certain size. These next four parameters
allow the code template designer to specify minimum and maximum matrix size.
For instance, code that outputs a matrix to an 8x8 LED display wouldn't want anything else:
v:8
w:8
y:8
z:8
but scrolly message code, across an 8x8 matrix, wouldn't mind how wide the matrix is:
v:8
w:0
y:8
z:8
v: Minimum Width
v:a = Where a is the minimum matrix width allowed by the code template.
w: Maximum width
w:a = Where a is the maximum matrix width allowed by the code template.
y: Minimum Height
y:a = Where a is the minimum matrix height allowed by the code template.
z: Maximum Height
z:a = Where a is the maximum matrix height allowed by the code template.
Take a look at the supplied templates for more information and to see them in action.
About
www.MaximumOctopus.com/developmentcats.htm
Thanks Lorenz, Greg, Andrew, Apostolos, David, Peter, Zoltan, Gary and Steve Turner