✨ "Rutilea" ESP32 board (#22880)
This commit is contained in:
parent
6f59d8171f
commit
8562f0ec44
|
@ -64,12 +64,9 @@ uint32_t i2s_port_data = 0;
|
||||||
#define I2S_EXIT_CRITICAL() portEXIT_CRITICAL(&i2s_spinlock[i2s_num])
|
#define I2S_EXIT_CRITICAL() portEXIT_CRITICAL(&i2s_spinlock[i2s_num])
|
||||||
|
|
||||||
static inline void gpio_matrix_out_check(uint32_t gpio, uint32_t signal_idx, bool out_inv, bool oen_inv) {
|
static inline void gpio_matrix_out_check(uint32_t gpio, uint32_t signal_idx, bool out_inv, bool oen_inv) {
|
||||||
//if pin = -1, do not need to configure
|
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO);
|
||||||
if (gpio != -1) {
|
gpio_set_direction((gpio_num_t)gpio, (gpio_mode_t)GPIO_MODE_DEF_OUTPUT);
|
||||||
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO);
|
gpio_matrix_out(gpio, signal_idx, out_inv, oen_inv);
|
||||||
gpio_set_direction((gpio_num_t)gpio, (gpio_mode_t)GPIO_MODE_DEF_OUTPUT);
|
|
||||||
gpio_matrix_out(gpio, signal_idx, out_inv, oen_inv);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static esp_err_t i2s_reset_fifo(i2s_port_t i2s_num) {
|
static esp_err_t i2s_reset_fifo(i2s_port_t i2s_num) {
|
||||||
|
@ -256,13 +253,7 @@ int i2s_init() {
|
||||||
|
|
||||||
I2S0.fifo_conf.dscr_en = 0;
|
I2S0.fifo_conf.dscr_en = 0;
|
||||||
|
|
||||||
I2S0.conf_chan.tx_chan_mod = (
|
I2S0.conf_chan.tx_chan_mod = TERN(I2S_STEPPER_SPLIT_STREAM, 4, 0);
|
||||||
#if ENABLED(I2S_STEPPER_SPLIT_STREAM)
|
|
||||||
4
|
|
||||||
#else
|
|
||||||
0
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
I2S0.fifo_conf.tx_fifo_mod = 0;
|
I2S0.fifo_conf.tx_fifo_mod = 0;
|
||||||
I2S0.conf.tx_mono = 0;
|
I2S0.conf.tx_mono = 0;
|
||||||
|
|
||||||
|
@ -313,9 +304,16 @@ int i2s_init() {
|
||||||
xTaskCreatePinnedToCore(stepperTask, "StepperTask", 10000, nullptr, 1, nullptr, CONFIG_ARDUINO_RUNNING_CORE); // run I2S stepper task on same core as rest of Marlin
|
xTaskCreatePinnedToCore(stepperTask, "StepperTask", 10000, nullptr, 1, nullptr, CONFIG_ARDUINO_RUNNING_CORE); // run I2S stepper task on same core as rest of Marlin
|
||||||
|
|
||||||
// Route the i2s pins to the appropriate GPIO
|
// Route the i2s pins to the appropriate GPIO
|
||||||
gpio_matrix_out_check(I2S_DATA, I2S0O_DATA_OUT23_IDX, 0, 0);
|
// If a pin is not defined, no need to configure
|
||||||
gpio_matrix_out_check(I2S_BCK, I2S0O_BCK_OUT_IDX, 0, 0);
|
#if defined(I2S_DATA) && I2S_DATA >= 0
|
||||||
gpio_matrix_out_check(I2S_WS, I2S0O_WS_OUT_IDX, 0, 0);
|
gpio_matrix_out_check(I2S_DATA, I2S0O_DATA_OUT23_IDX, 0, 0);
|
||||||
|
#endif
|
||||||
|
#if defined(I2S_BCK) && I2S_BCK >= 0
|
||||||
|
gpio_matrix_out_check(I2S_BCK, I2S0O_BCK_OUT_IDX, 0, 0);
|
||||||
|
#endif
|
||||||
|
#if defined(I2S_WS) && I2S_WS >= 0
|
||||||
|
gpio_matrix_out_check(I2S_WS, I2S0O_WS_OUT_IDX, 0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Start the I2S peripheral
|
// Start the I2S peripheral
|
||||||
return i2s_start(I2S_NUM_0);
|
return i2s_start(I2S_NUM_0);
|
||||||
|
|
|
@ -425,9 +425,10 @@
|
||||||
#define BOARD_MRR_ESPA 6001 // MRR ESPA based on ESP32 (native pins only)
|
#define BOARD_MRR_ESPA 6001 // MRR ESPA based on ESP32 (native pins only)
|
||||||
#define BOARD_MRR_ESPE 6002 // MRR ESPE based on ESP32 (with I2S stepper stream)
|
#define BOARD_MRR_ESPE 6002 // MRR ESPE based on ESP32 (with I2S stepper stream)
|
||||||
#define BOARD_E4D_BOX 6003 // E4d@BOX
|
#define BOARD_E4D_BOX 6003 // E4d@BOX
|
||||||
#define BOARD_FYSETC_E4 6004 // FYSETC E4
|
#define BOARD_RESP32_CUSTOM 6004 // Rutilea ESP32 custom board
|
||||||
#define BOARD_PANDA_ZHU 6005 // Panda_ZHU
|
#define BOARD_FYSETC_E4 6005 // FYSETC E4
|
||||||
#define BOARD_PANDA_M4 6006 // Panda_M4
|
#define BOARD_PANDA_ZHU 6006 // Panda_ZHU
|
||||||
|
#define BOARD_PANDA_M4 6007 // Panda_M4
|
||||||
|
|
||||||
//
|
//
|
||||||
// SAMD51 ARM Cortex M4
|
// SAMD51 ARM Cortex M4
|
||||||
|
|
89
Marlin/src/pins/esp32/pins_ESPA_common.h
Normal file
89
Marlin/src/pins/esp32/pins_ESPA_common.h
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
/**
|
||||||
|
* Marlin 3D Printer Firmware
|
||||||
|
* Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
|
*
|
||||||
|
* Based on Sprinter and grbl.
|
||||||
|
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ESPA-like pin assignments
|
||||||
|
* Supports 4 stepper drivers, heated bed, single hotend.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "env_validate.h"
|
||||||
|
|
||||||
|
#ifndef DEFAULT_MACHINE_NAME
|
||||||
|
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Disable I2S stepper stream, by default
|
||||||
|
//
|
||||||
|
#undef I2S_STEPPER_STREAM
|
||||||
|
#undef I2S_WS
|
||||||
|
#undef I2S_BCK
|
||||||
|
#undef I2S_DATA
|
||||||
|
|
||||||
|
//
|
||||||
|
// Limit Switches
|
||||||
|
//
|
||||||
|
#define X_STOP_PIN 34
|
||||||
|
#define Y_STOP_PIN 35
|
||||||
|
#define Z_STOP_PIN 15
|
||||||
|
|
||||||
|
//
|
||||||
|
// Steppers
|
||||||
|
//
|
||||||
|
#define X_STEP_PIN 27
|
||||||
|
#define X_DIR_PIN 26
|
||||||
|
#define X_ENABLE_PIN 25
|
||||||
|
|
||||||
|
#define Y_STEP_PIN 33
|
||||||
|
#define Y_DIR_PIN 32
|
||||||
|
#define Y_ENABLE_PIN X_ENABLE_PIN
|
||||||
|
|
||||||
|
#define Z_STEP_PIN 14
|
||||||
|
#define Z_DIR_PIN 12
|
||||||
|
#define Z_ENABLE_PIN X_ENABLE_PIN
|
||||||
|
|
||||||
|
#define E0_STEP_PIN 16
|
||||||
|
#define E0_DIR_PIN 17
|
||||||
|
#define E0_ENABLE_PIN X_ENABLE_PIN
|
||||||
|
|
||||||
|
//
|
||||||
|
// Temperature Sensors
|
||||||
|
//
|
||||||
|
#define TEMP_0_PIN 36 // Analog Input
|
||||||
|
#define TEMP_BED_PIN 39 // Analog Input
|
||||||
|
|
||||||
|
//
|
||||||
|
// Heaters / Fans
|
||||||
|
//
|
||||||
|
#define HEATER_0_PIN 2
|
||||||
|
#define FAN_PIN 13
|
||||||
|
#define HEATER_BED_PIN 4
|
||||||
|
|
||||||
|
//
|
||||||
|
// MicroSD card
|
||||||
|
//
|
||||||
|
#define SD_MOSI_PIN 23
|
||||||
|
#define SD_MISO_PIN 19
|
||||||
|
#define SD_SCK_PIN 18
|
||||||
|
#define SDSS 5
|
||||||
|
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
|
|
@ -37,41 +37,8 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BOARD_INFO_NAME "FYSETC_E4"
|
#define BOARD_INFO_NAME "FYSETC_E4"
|
||||||
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
|
|
||||||
|
|
||||||
//
|
#include "pins_ESPA_common.h"
|
||||||
// Disable I2S stepper stream
|
|
||||||
//
|
|
||||||
#undef I2S_STEPPER_STREAM
|
|
||||||
#define I2S_WS -1
|
|
||||||
#define I2S_BCK -1
|
|
||||||
#define I2S_DATA -1
|
|
||||||
|
|
||||||
//
|
|
||||||
// Limit Switches
|
|
||||||
//
|
|
||||||
#define X_STOP_PIN 34
|
|
||||||
#define Y_STOP_PIN 35
|
|
||||||
#define Z_STOP_PIN 15
|
|
||||||
|
|
||||||
//
|
|
||||||
// Steppers
|
|
||||||
//
|
|
||||||
#define X_STEP_PIN 27
|
|
||||||
#define X_DIR_PIN 26
|
|
||||||
#define X_ENABLE_PIN 25
|
|
||||||
|
|
||||||
#define Y_STEP_PIN 33
|
|
||||||
#define Y_DIR_PIN 32
|
|
||||||
#define Y_ENABLE_PIN X_ENABLE_PIN
|
|
||||||
|
|
||||||
#define Z_STEP_PIN 14
|
|
||||||
#define Z_DIR_PIN 12
|
|
||||||
#define Z_ENABLE_PIN X_ENABLE_PIN
|
|
||||||
|
|
||||||
#define E0_STEP_PIN 16
|
|
||||||
#define E0_DIR_PIN 17
|
|
||||||
#define E0_ENABLE_PIN X_ENABLE_PIN
|
|
||||||
|
|
||||||
#if HAS_TMC_UART
|
#if HAS_TMC_UART
|
||||||
//
|
//
|
||||||
|
@ -89,28 +56,6 @@
|
||||||
#define TMC_BAUD_RATE 115200
|
#define TMC_BAUD_RATE 115200
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
|
||||||
// Temperature Sensors
|
|
||||||
//
|
|
||||||
#define TEMP_0_PIN 36 // Analog Input
|
|
||||||
#define TEMP_BED_PIN 39 // Analog Input
|
|
||||||
|
|
||||||
//
|
|
||||||
// Heaters / Fans
|
|
||||||
//
|
|
||||||
#define HEATER_0_PIN 2
|
|
||||||
#define FAN_PIN 13
|
|
||||||
#define HEATER_BED_PIN 4
|
|
||||||
|
|
||||||
//
|
|
||||||
// MicroSD card
|
|
||||||
//
|
|
||||||
#define SD_MOSI_PIN 23
|
|
||||||
#define SD_MISO_PIN 19
|
|
||||||
#define SD_SCK_PIN 18
|
|
||||||
#define SDSS 5
|
|
||||||
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hardware serial pins
|
* Hardware serial pins
|
||||||
*
|
*
|
||||||
|
|
|
@ -38,68 +38,17 @@
|
||||||
|
|
||||||
#define BOARD_INFO_NAME "MRR ESPA"
|
#define BOARD_INFO_NAME "MRR ESPA"
|
||||||
#define BOARD_WEBSITE_URL "github.com/maplerainresearch/MRR_ESPA"
|
#define BOARD_WEBSITE_URL "github.com/maplerainresearch/MRR_ESPA"
|
||||||
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
|
|
||||||
|
|
||||||
//
|
#include "pins_ESPA_common.h"
|
||||||
// Disable I2S stepper stream
|
|
||||||
//
|
|
||||||
#undef I2S_STEPPER_STREAM
|
|
||||||
#undef I2S_WS
|
|
||||||
#undef I2S_BCK
|
|
||||||
#undef I2S_DATA
|
|
||||||
|
|
||||||
//
|
|
||||||
// Limit Switches
|
|
||||||
//
|
|
||||||
#define X_STOP_PIN 34
|
|
||||||
#define Y_STOP_PIN 35
|
|
||||||
#define Z_STOP_PIN 15
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Steppers
|
// Steppers
|
||||||
//
|
//
|
||||||
#define X_STEP_PIN 27
|
|
||||||
#define X_DIR_PIN 26
|
|
||||||
#define X_ENABLE_PIN 25
|
|
||||||
//#define X_CS_PIN 21
|
//#define X_CS_PIN 21
|
||||||
|
|
||||||
#define Y_STEP_PIN 33
|
|
||||||
#define Y_DIR_PIN 32
|
|
||||||
#define Y_ENABLE_PIN X_ENABLE_PIN
|
|
||||||
//#define Y_CS_PIN 22
|
//#define Y_CS_PIN 22
|
||||||
|
|
||||||
#define Z_STEP_PIN 14
|
|
||||||
#define Z_DIR_PIN 12
|
|
||||||
#define Z_ENABLE_PIN X_ENABLE_PIN
|
|
||||||
//#define Z_CS_PIN 5 // SS_PIN
|
//#define Z_CS_PIN 5 // SS_PIN
|
||||||
|
|
||||||
#define E0_STEP_PIN 16
|
|
||||||
#define E0_DIR_PIN 17
|
|
||||||
#define E0_ENABLE_PIN X_ENABLE_PIN
|
|
||||||
//#define E0_CS_PIN 21
|
//#define E0_CS_PIN 21
|
||||||
|
|
||||||
//
|
|
||||||
// Temperature Sensors
|
|
||||||
//
|
|
||||||
#define TEMP_0_PIN 36 // Analog Input
|
|
||||||
#define TEMP_BED_PIN 39 // Analog Input
|
|
||||||
|
|
||||||
//
|
|
||||||
// Heaters / Fans
|
|
||||||
//
|
|
||||||
#define HEATER_0_PIN 2
|
|
||||||
#define FAN_PIN 13
|
|
||||||
#define HEATER_BED_PIN 4
|
|
||||||
|
|
||||||
//
|
|
||||||
// MicroSD card
|
|
||||||
//
|
|
||||||
#define SD_MOSI_PIN 23
|
|
||||||
#define SD_MISO_PIN 19
|
|
||||||
#define SD_SCK_PIN 18
|
|
||||||
#define SDSS 5
|
|
||||||
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
|
|
||||||
|
|
||||||
// Hardware serial pins
|
// Hardware serial pins
|
||||||
// Add the following to Configuration.h or Configuration_adv.h to assign
|
// Add the following to Configuration.h or Configuration_adv.h to assign
|
||||||
// specific pins to hardware Serial1.
|
// specific pins to hardware Serial1.
|
||||||
|
|
|
@ -51,7 +51,6 @@
|
||||||
//
|
//
|
||||||
// Enable I2S stepper stream
|
// Enable I2S stepper stream
|
||||||
//
|
//
|
||||||
#undef I2S_STEPPER_STREAM
|
|
||||||
#define I2S_STEPPER_STREAM
|
#define I2S_STEPPER_STREAM
|
||||||
#define I2S_WS 26
|
#define I2S_WS 26
|
||||||
#define I2S_BCK 25
|
#define I2S_BCK 25
|
||||||
|
|
37
Marlin/src/pins/esp32/pins_RESP32_CUSTOM.h
Normal file
37
Marlin/src/pins/esp32/pins_RESP32_CUSTOM.h
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/**
|
||||||
|
* Marlin 3D Printer Firmware
|
||||||
|
* Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
|
*
|
||||||
|
* Based on Sprinter and grbl.
|
||||||
|
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rutilea ESP32 (Tensilica Xtensa LX6) pin assignments
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "env_validate.h"
|
||||||
|
|
||||||
|
#define BOARD_INFO_NAME "Rutilea ESP32"
|
||||||
|
|
||||||
|
#include "pins_ESPA_common.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// I2S (steppers & other output-only pins)
|
||||||
|
//
|
||||||
|
#define I2S_STEPPER_STREAM
|
|
@ -695,6 +695,8 @@
|
||||||
#include "esp32/pins_MRR_ESPE.h" // ESP32 env:esp32
|
#include "esp32/pins_MRR_ESPE.h" // ESP32 env:esp32
|
||||||
#elif MB(E4D_BOX)
|
#elif MB(E4D_BOX)
|
||||||
#include "esp32/pins_E4D.h" // ESP32 env:esp32
|
#include "esp32/pins_E4D.h" // ESP32 env:esp32
|
||||||
|
#elif MB(RESP32_CUSTOM)
|
||||||
|
#include "esp32/pins_RESP32_CUSTOM.h" // ESP32 env:esp32
|
||||||
#elif MB(FYSETC_E4)
|
#elif MB(FYSETC_E4)
|
||||||
#include "esp32/pins_FYSETC_E4.h" // ESP32 env:FYSETC_E4
|
#include "esp32/pins_FYSETC_E4.h" // ESP32 env:FYSETC_E4
|
||||||
#elif MB(PANDA_ZHU)
|
#elif MB(PANDA_ZHU)
|
||||||
|
|
Loading…
Reference in a new issue