Library Overview
The Stepdance library provides a flexible architecture for motion control through several key components:
- BlockPorts: Unified interface for connecting components and routing data between them (see BlockPort and Core Components)
- Channels: Position state management and step/direction signal generation (see Channel and Channels)
- Input/Output Ports: Physical hardware interface for receiving and transmitting motion signals (see InputPort, OutputPort, and Input/Output Modules)
- Generators: Motion pattern and trajectory generation (see Generators)
- Kinematics: Coordinate system transformations (Cartesian, polar, CoreXY, etc.) (see Kinematics)
- Filters: Signal smoothing and noise reduction (see Filters)
- Interfaces: External protocol support (G-code, EiBotBoard, etc.) (see GCodeInterface, Eibotboard, and External Interfaces)
- Recording: Motion recording and playback functionality (see FourTrackRecorder, FourTrackPlayer, and Recording and Playback)
- Inputs: Physical input device handling (see AnalogInput, Button, Encoder, and Input Devices)
Getting Started
To get started with Stepdance programming:
- Understand BlockPorts: BlockPorts are the fundamental communication mechanism between components. See the BlockPort class and Core Components module for details.
- Configure Output Ports: Set up your physical output ports to send step/direction signals. See the OutputPort class and Input/Output Modules module for configuration.
- Create Channels: Channels drive motors to target positions. See the Channel class and Channels module for setup and usage.
- Add Motion Sources: Connect input ports, generators, or other motion sources to your channels. See Generators and Input Devices for available sources.
Module Organization
The library is organized into functional modules:
Code Examples
For complete working examples, see the Stepdance Example Index page, which includes:
Full Documentation
To learn more about the entire Stepdance platform vist stepdance.org