Currently, client libraries are written for the following languages:
Creating a New Client Library
This is an overview of what should be included in the client library, such as:
- Classes that should be created
- HTTP Endpoints to communicate with
All client libraries should follow this format, though small variations are expected because not every language works the same.
Classes
Because some classes use other classes, the optimal creation order would be:
AbsoluteDistance
, PercentDistance
DegreesRotation
, RadiansRotation
Equation
, Location
ColorContainer
, PreparedColorContainer
AnimationToRunParams
, RunningAnimationParams
AnimationParameter
AnimationInfo
NewAnimationGroupInfo
StripInfo
Section
AbsoluteDistance
Parameter | Type | Default |
x | Double | 0.0 |
y | Double | 0.0 |
z | Double | 0.0 |
AnimationInfo
Parameter | Type | Default |
name | String | "" |
abbr | String | "" |
description | String | "" |
runCountDefault | Int | 0 |
minimumColors | Int | 0 |
unlimitedColors | Boolean | false |
dimensionality | Set<String> | setOf() |
intParams | List<AnimationParameter<Int>> | listOf() |
doubleParams | List<AnimationParameter<Double>> | listOf() |
stringParams | List<AnimationParameter<String>> | listOf() |
locationParams | List<AnimationParameter<Location>> | listOf() |
distanceParams | List<AnimationParameter<AbsoluteDistance/PercentDistance>> | listOf() |
rotationParams | List<AnimationParameter<DegreesRotation/RadiansRotation>> | listOf() |
equationParams | List<AnimationParameter<Equation>> | listOf() |
AnimationParameter<T>
Parameter | Type | Default |
name | String | "" |
description | String | "" |
default | T? | null |
AnimationToRunParams
Parameter | Type | Default |
animation | String | "" |
colors | List<ColorContainer/PreparedColorContainer> | listOf() |
id | String | "" |
section | String | "" |
runCount | Int | 0 |
intParams | Map<String, Int> | mapOf() |
doubleParams | Map<String, Double> | mapOf() |
stringParams | Map<String, String> | mapOf() |
locationParams | Map<String, Location> | mapOf() |
distanceParams | Map<String, AbsoluteDistance/PercentDistance> | mapOf() |
rotationParams | Map<String, DegreesRotation/RadiansRotation> | mapOf() |
equationParams | Map<String, Equation> | mapOf() |
ColorContainer
Parameter | Type | Default |
colors | List<Int> | listOf() |
DegreesRotation
Parameter | Type | Default |
xRotation | Double | 0.0 |
yRotation | Double | 0.0 |
zRotation | Double | 0.0 |
rotationOrder | List<String> | listOf("ROTATE_Z", "ROTATE_X" |
Equation
Parameter | Type | Default |
coefficients | List<Int> | listOf() |
Location
Parameter | Type | Default |
x | Double | 0.0 |
y | Double | 0.0 |
z | Double | 0.0 |
NewAnimationGroupInfo
Parameter | Type |
groupType | String |
groupInfo | AnimationInfo |
animationList | List<String> |
PreparedColorContainer
Parameter | Type |
colors | List<int> |
originalColors | List<int> |
RadiansRotation
Parameter | Type | Default |
xRotation | Double | 0.0 |
yRotation | Double | 0.0 |
zRotation | Double | 0.0 |
rotationOrder | List<String> | listOf("ROTATE_Z", "ROTATE_X") |
RunningAnimationParams
Parameter | Type | Default |
animationName | String | "" |
colors | List<PreparedColorContainer> | |
id | String | "" |
section | String | "" |
runCount | Int | 0 |
intParams | Map<String, Int> | mapOf() |
doubleParams | Map<String, Double> | mapOf() |
stringParams | Map<String, String> | mapOf() |
locationParams | Map<String, Location> | mapOf() |
distanceParams | Map<String, AbsoluteDistance> | mapOf() |
rotationParams | Map<String, RadiansRotation> | mapOf() |
equationParams | Map<String, Equation> | mapOf() |
sourceParams | AnimationToRunParams | |
StripInfo
Parameter | Type | Default |
numLEDs | Int | 0 |
pin | Int? | null |
renderDelay | Int | 10 |
isRenderLoggingEnabled | Boolean | false |
renderLogFile | String | "" |
rendersBetweenLogSaves | Int | 1000 |
is1DSupported | Boolean | true |
is2DSupported | Boolean | false |
is3DSupported | Boolean | false |
ledLocations | List<Location> | listOf() |
Section
Parameter | Type | Default |
name | String | "" |
pixels | List<Int> | listOf() |
parentSectionName | String | "" |
HTTP Endpoints
Method | Endpoint | Function | Parameter | Return |
GET | /animation/{name} | getAnimationInfo | String | AnimationInfo |
GET | /animations | getSupportedAnimations | | List<AnimationInfo> |
GET | /animations/map | getSupportedAnimationsMap | | Map<String, AnimationInfo> |
GET | /animations/names | getSupportedAnimationsNames | | List<String> |
POST | /animations/newGroup | createNewGroup | NewAnimationGroupInfo | AnimationInfo |
GET | /running | getRunningAnimations | | Map<String, RunningAnimationParams> |
GET | /running/ids | getRunningAnimationsIds | | List<String> |
GET | /running/{id} | getRunningAnimationParams | String | RunningAnimationParams |
DELETE | /running/{id} | endAnimation | String | RunningAnimationParams |
GET | /section/{name} | getSection | String | Section |
GET | /sections | getSections | | List<Section> |
POST | /sections | createNewSection | Section | Section |
GET | /sections/map | getSectionsMap | | Map<String, Section> |
POST | /start | startAnimation | AnimationToRunParams | RunningAnimationParams |
POST | /strip/clear | clearStrip | | void |
GET | /strip/color | getCurrentStripColor | | List<int> |
GET | /strip/info | getStripInfo | | StripInfo |
Additional Functions
Function | Parameter | Operation |
endAnimation or endAnimationFromParams | RunningAnimationParams | calls endAnimation with param.id |
getFullStripSection | | calls getSection with "fullStrip" |
Table of contents