The animations used on Aurora are written in JSON, so that it's easily manipulated by both software and humans.
A complete JSON example is shown below:
{
"Title": "Blink Example",
"ID": 0,
"Framerate": 1,
"Num LEDs": 3,
"Num Frames": 3,
"Data": [
[0, 0, 16777215],
[16777215, 0, 0],
[0, 16777215, 0]
]
}As you can see from the example the JSON has the following fields:
Title- String - The human readable name of the animationID- Number (integer) - The ID number used to select the animation to play, it is the end-user's job to ensure multiple animations do not have the same ID, otherwise a fault will be raisedFramerate- Number (integer) - The framerate inframes per secondto display the animation at, be weary of the technical limitation between the length of LEDs and the speed of the data.Num LEDs- Number (integer) - The number of LEDs in the animationNum Frames- Number (integer) - The number of frames in the animationData- Array - An array of frames comprising the animation, must be of sizeNum Frames- Array - An array of data comprising a frame, must be of size
Num LEDs, data is an array of numbers ranging from[0, 16777215]/[0x000000, 0xFFFFFF]which control the brightness of each LED in RGB.