# Change XXYYZZ to the UID of your Silent Stepper Brick

setup:
	publish '{"current": 800}' to tinkerforge/request/silent_stepper_brick/XXYYZZ/set_motor_current # 800 mA

	publish '{"step_resolution": "8", "interpolation": true}' to tinkerforge/request/silent_stepper_brick/XXYYZZ/set_step_configuration # 1/8 steps (interpolated)

	publish '{"velocity": 2000}' to tinkerforge/request/silent_stepper_brick/XXYYZZ/set_max_velocity # Velocity 2000 steps/s

	# Slow acceleration (500 steps/s^2),
	# Fast deacceleration (5000 steps/s^2)
	publish '{"acceleration": 500, "deacceleration": 5000}' to tinkerforge/request/silent_stepper_brick/XXYYZZ/set_speed_ramping

	publish '' to tinkerforge/request/silent_stepper_brick/XXYYZZ/enable # Enable motor power

	publish '{"steps": 60000}' to tinkerforge/request/silent_stepper_brick/XXYYZZ/set_steps # Drive 60000 steps forward

cleanup:
	# If you are done, run this to clean up
	# Stop motor before disabling motor power
	publish '' to tinkerforge/request/silent_stepper_brick/XXYYZZ/stop # Request motor stop

	publish '{"acceleration": 500, "deacceleration": 5000}' to tinkerforge/request/silent_stepper_brick/XXYYZZ/set_speed_ramping # Fast deacceleration (5000 steps/s^2) for stopping

	wait for 0.4s # Wait for motor to actually stop: max velocity (2000 steps/s) / decceleration (5000 steps/s^2) = 0.4 s

	publish '' to tinkerforge/request/silent_stepper_brick/XXYYZZ/disable # Disable motor power
