// SPDX-License-Identifier: GPL-3.0-or-later
// Rwanda plotter: standard Seeed Studio XIAO RP2040, native USB only.
#pragma once
#define BOARD_NAME "Rwanda XIAO RP2040 plotter"

// One PIO state machine per axis allows the unused Z output to stay off headers.
#define STEP_PORT GPIO_PIO_1
#define X_STEP_PIN 0                // D6
#define Y_STEP_PIN 1                // D7
#define Z_STEP_PIN 18               // Not exposed on standard XIAO; no motor
#define DIRECTION_PORT GPIO_OUTPUT
#define DIRECTION_OUTMODE GPIO_MAP
#define X_DIRECTION_PIN 2           // D8
#define Y_DIRECTION_PIN 3           // D10
#define Z_DIRECTION_PIN 19          // Not exposed; no motor
#define ENABLE_PORT GPIO_OUTPUT
#define STEPPERS_ENABLE_PIN 4       // D9, shared, interface depends on drivers
#define X_LIMIT_PIN 26              // D0
#define Y_LIMIT_PIN 27              // D1
#define LIMIT_INMODE GPIO_MAP
#define AUXOUTPUT0_PWM_PIN 7        // D5, PWM servo plugin output 0
#define AUXINPUT0_PIN 28            // D2, optional feed hold
#define AUXINPUT1_PIN 29            // D3, optional reset/halt
#if CONTROL_ENABLE & CONTROL_FEED_HOLD
#define FEED_HOLD_PIN AUXINPUT0_PIN
#endif
#if CONTROL_ENABLE & CONTROL_HALT
#define RESET_PIN AUXINPUT1_PIN
#endif
// D4/GPIO6 is spare. USB D+/D- are separate from these GPIOs.
