Newer
Older
This is a motor driver for Nema 23 size Stepper Motors, which extends the [automatakit](https://gitlab.cba.mit.edu/jakeread/automatakit) architecture.


## Development Notes
See [circuit chatter](/circuit) and [programming chatter](/embedded).
# Viable Commands
### Test
Keycode: **127**
- to test networking, this will reply with a payload packet containing ```127, 12, 24, 48``` and will toggle an LED on the board
### Reset
Keycode: **128**
- issues a software microcontroller reset
- if the microcontroller is already hung up, this will not work
### Step Trapezoid
Keycode: **131**
Arguments: Steps to Make, int32_t | Entry Speed, steps/s, uint32_t | Acceleration Rate, steps/s/s, uint32_t | Acceleration Length, steps to accelerate for, uint32_t | Decceleration Length, steps to deccelerate after, uint32_t
Returns: Steps Made, int32_t | on step completion
- the stepper will load this block into its stepping buffer, and if the buffer is empty will execute the trapezoid. on it's completion, the stepper will reply with an acknowledgement
### Step Wait
Keycode: **133**
Arguments: Steps to Make, int32_t | Entry Speed, steps/s, uint32_t | Acceleration Rate, steps/s/s, uint32_t | Acceleration Length, steps to accelerate for, uint32_t | Decceleration Length, steps to deccelerate after, uint32_t
Returns: Wait Made, uint8_t *24*
- an identical block to the step trapezoid, but with a flag to avoid actually stepping. this is used in motion planning to insert a wait block for a motor with zero steps, to retain packet synchronization
# Reproducing This Work
All automatakit works are open source, and while we cannot sell you boards, if you have an interesting application, get in touch to ask about collaborating.
To reproduce boards and load code, see the document ['Reproducing Automatakit Work'](https://gitlab.cba.mit.edu/jakeread/automatakit/reproducing)