Introduction

SnakeSkin

The follwing diagram shows how SnakeSkin integrates into the development ecosystem:

SnakeSkin Internal

This contains internal components that are required for SnakeSkin to run. This includes the event router, executor manager, subsystem and control registries, control pollers, and the built in Robot.java file.

SnakeSkin Core

This contains all of the core components for SnakeSkin. They are publicly accessible, and can be used if desired. They include the Subystem classes, state machines, etc.

SnakeSkin DSL

The DSL is SnakeSkin's main feature. It is a full DSL (Domain Specific Language) that allows you to do every task SnakeSkin provides. It is compatible with the Kotlin programming language, which is the reccomended language for use with SnakeSkin.

WPILib

SnakeSkin does not replace WPILib or it's functionality. Full WPILib functionality is still available in a SnakeSkin project.

SnakeSkin Components

SnakeSkin Components are classes that wrap existing WPILib classes to add functionality and/or better integrate them into SnakeSkin (adding power budgeting to motor controllers, for example).

SnakeSkin Logic

This contains a bunch of helpful "logic" classes, such as Translation and Rotation containers. These classes are not provided through the DSL, and thus allow a greater level of flexibility.

Last updated