Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/p4p-83/gantry
The low-level machine control of our x-y stepper motors and limit switches.
https://github.com/p4p-83/gantry
arduino c cpp firmware gantry platformio
Last synced: 4 months ago
JSON representation
The low-level machine control of our x-y stepper motors and limit switches.
- Host: GitHub
- URL: https://github.com/p4p-83/gantry
- Owner: p4p-83
- Created: 2024-06-07T03:57:07.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-09-15T03:27:07.000Z (5 months ago)
- Last Synced: 2024-09-27T14:42:53.849Z (4 months ago)
- Topics: arduino, c, cpp, firmware, gantry, platformio
- Language: C++
- Homepage: https://p4p.jamesnzl.xyz
- Size: 78.4 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `gantry`
> [!NOTE]
> Refer to [`p4p.jamesnzl.xyz/learn`](https://p4p.jamesnzl.xyz/learn) for full details.This gantry firmware was originally forked from [`Makeblock-official/XY-Plotter-2.0`](https://github.com/Makeblock-official/XY-Plotter-2.0), but has since been significantly re-written.
This repository contains the low-level machine control for our x-y stepper motors and limit switches for our pick-and-place machine.
## Usage
Firstly, clone this repository.
This repository is structured as a [PlatformIO](https://platformio.org/) project.
```sh
# git submodule update --init
code .
```- Use `w`, `a`, `s`, `d`, `h`, `j`, `k`, or `l` to step the gantry a fixed increment in the specified direction.
- Use G-Code to provide a target location (`LF`-terminated!).```sh
G28 # go home
G0 X10000 Y10000 Z0 # go to 10000um, 10000um, 0um
G1 X10000 Y10000 Z0 # ''
```## Known Issue(s)
> [!warning]
> This list does not claim to be complete---it contains only the issues I can immediately recall.1. If a target position is provided that exceeds the working range, the limit switches are hit, and the current position written to that invalid position. All future operations then have some offset error. Said differently, there is no bounds checking.
2. Feed rate `G1 F...` is not supported.
3. Commands may be ignored if provided too quickly; ie if the present command is yet to complete. Said differently, there is no handshaking.