✨ Index Pick-and-Place board Rev.3 (#22647)
Co-authored-by: Gonçalo Pereira <goncalo_pereira@outlook.pt> Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
		
				
					committed by
					
						 Scott Lahteine
						Scott Lahteine
					
				
			
			
				
	
			
			
			
						parent
						
							bae19a3737
						
					
				
				
					commit
					f94de97cdb
				
			
							
								
								
									
										1
									
								
								.github/workflows/test-builds.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/test-builds.yml
									
									
									
									
										vendored
									
									
								
							| @@ -97,6 +97,7 @@ jobs: | ||||
|         - REMRAM_V1 | ||||
|         - BTT_SKR_SE_BX | ||||
|         - chitu_f103 | ||||
|         - Index_Mobo_Rev03 | ||||
|  | ||||
|         # Put lengthy tests last | ||||
|  | ||||
|   | ||||
| @@ -395,6 +395,7 @@ | ||||
| #define BOARD_ANET_ET4P               4230  // ANET ET4P V1.x (STM32F407VGT6) | ||||
| #define BOARD_FYSETC_CHEETAH_V20      4231  // FYSETC Cheetah V2.0 | ||||
| #define BOARD_TH3D_EZBOARD_LITE_V2    4232  // TH3D EZBoard Lite v2.0 | ||||
| #define BOARD_INDEX_REV03             4233  // Index PnP Controller REV03 (STM32F407VET6/VGT6) | ||||
|  | ||||
| // | ||||
| // ARM Cortex M7 | ||||
|   | ||||
| @@ -645,6 +645,8 @@ | ||||
|   #include "stm32f4/pins_MKS_MONSTER8.h"        // STM32F4                                env:mks_monster8 env:mks_monster8_usb_flash_drive env:mks_monster8_usb_flash_drive_msc | ||||
| #elif MB(TH3D_EZBOARD_LITE_V2) | ||||
|   #include "stm32f4/pins_TH3D_EZBOARD_LITE_V2.h" // STM32F4                               env:TH3D_EZBoard_Lite_V2 | ||||
| #elif MB(INDEX_REV03) | ||||
|   #include "stm32f4/pins_INDEX_REV03.h"         // STM32F4                                env:Index_Mobo_Rev03 | ||||
|  | ||||
| // | ||||
| // ARM Cortex M7 | ||||
|   | ||||
							
								
								
									
										157
									
								
								Marlin/src/pins/stm32f4/pins_INDEX_REV03.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								Marlin/src/pins/stm32f4/pins_INDEX_REV03.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,157 @@ | ||||
| /** | ||||
|  * Marlin 3D Printer Firmware | ||||
|  * Copyright (c) 2020 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 | ||||
|  | ||||
| /** | ||||
|  * STM32F407VET6 on Index PnP Mobo Rev03 | ||||
|  * Website - https://indexmachines.io/ | ||||
|  */ | ||||
|  | ||||
| #define ALLOW_STM32DUINO | ||||
| #include "env_validate.h" | ||||
|  | ||||
| #define BOARD_INFO_NAME      "Index Mobo Rev03" | ||||
| #define DEFAULT_MACHINE_NAME "Index Pick and Place" | ||||
|  | ||||
| /** | ||||
|  * By default, the extra stepper motor configuration is: | ||||
|  * I = Left Head | ||||
|  * J = Right Head | ||||
|  * K = Auxiliary (Conveyor belt) | ||||
|  */ | ||||
|  | ||||
| #define SRAM_EEPROM_EMULATION | ||||
| #define MARLIN_EEPROM_SIZE                0x2000  // 8KB | ||||
|  | ||||
| // | ||||
| // Servos | ||||
| // | ||||
| #define SERVO0_PIN                          PB10 | ||||
| #define SERVO1_PIN                          PB11 | ||||
|  | ||||
| // | ||||
| // Limit Switches | ||||
| // | ||||
| #define X_STOP_PIN                          PC6 | ||||
| #define Y_STOP_PIN                          PD15 | ||||
| #define Z_STOP_PIN                          PD14 | ||||
|  | ||||
| // None of these require limit switches by default, so we leave these commented | ||||
| // here for your reference. | ||||
| // #define I_MIN_PIN                           PA8 | ||||
| // #define I_MAX_PIN                           PA8 | ||||
| // #define J_MIN_PIN                           PD13 | ||||
| // #define J_MAX_PIN                           PD13 | ||||
| // #define K_MIN_PIN                           PC9 | ||||
| // #define K_MAX_PIN                           PC9 | ||||
|  | ||||
| // | ||||
| // Steppers | ||||
| // | ||||
| #define X_STEP_PIN                          PB15 | ||||
| #define X_DIR_PIN                           PB14 | ||||
| #define X_ENABLE_PIN                        PD9 | ||||
| #define X_SERIAL_TX_PIN                     PD8 | ||||
| #define X_SERIAL_RX_PIN                     PD8 | ||||
|  | ||||
| #define Y_STEP_PIN                          PE15 | ||||
| #define Y_DIR_PIN                           PE14 | ||||
| #define Y_ENABLE_PIN                        PB13 | ||||
| #define Y_SERIAL_TX_PIN                     PB12 | ||||
| #define Y_SERIAL_RX_PIN                     PB12 | ||||
|  | ||||
| #define Z_STEP_PIN                          PE7 | ||||
| #define Z_DIR_PIN                           PB1 | ||||
| #define Z_ENABLE_PIN                        PE9 | ||||
| #define Z_SERIAL_TX_PIN                     PE8 | ||||
| #define Z_SERIAL_RX_PIN                     PE8 | ||||
|  | ||||
| #define I_STEP_PIN                          PC4 | ||||
| #define I_DIR_PIN                           PA4 | ||||
| #define I_ENABLE_PIN                        PB0 | ||||
| #define I_SERIAL_TX_PIN                     PC5 | ||||
| #define I_SERIAL_RX_PIN                     PC5 | ||||
|  | ||||
| #define J_STEP_PIN                          PE11 | ||||
| #define J_DIR_PIN                           PE10 | ||||
| #define J_ENABLE_PIN                        PE13 | ||||
| #define J_SERIAL_TX_PIN                     PE12 | ||||
| #define J_SERIAL_RX_PIN                     PE12 | ||||
| #define K_SERIAL_TX_PIN                     PA2 | ||||
| #define K_SERIAL_RX_PIN                     PA2 | ||||
|  | ||||
| #define K_STEP_PIN                          PD6 | ||||
| #define K_DIR_PIN                           PD7 | ||||
| #define K_ENABLE_PIN                        PA3 | ||||
|  | ||||
| // Reduce baud rate to improve software serial reliability | ||||
| #define TMC_BAUD_RATE                      19200 | ||||
|  | ||||
| // Not required for this board. Fails to compile otherwise. | ||||
| // PD0 is not connected on this board. | ||||
| #define TEMP_0_PIN                          PD0 | ||||
|  | ||||
| // General use mosfets, useful for things like pumps and solenoids | ||||
| #define FAN_PIN                             PE2 | ||||
| #define FAN1_PIN                            PE3 | ||||
| #define FAN2_PIN                            PE4 | ||||
| #define FAN3_PIN                            PE5 | ||||
|  | ||||
| // Neopixel Rings | ||||
| #define NEOPIXEL_PIN                        PC7 | ||||
| #define NEOPIXEL2_PIN                       PC8 | ||||
|  | ||||
| // SPI | ||||
| #define MISO_PIN                            PB4 | ||||
| #define MOSI_PIN                            PB5 | ||||
| #define SCK_PIN                             PB3 | ||||
|  | ||||
| // I2C | ||||
| #define I2C_SDA_PIN                         PB7 | ||||
| #define I2C_SCL_PIN                         PB6 | ||||
|  | ||||
| /** | ||||
|  * The index mobo rev03 has 3 aux ports. We define them here so they may be used | ||||
|  * in other places and to make sure someone doesn't have to go look up the pinout | ||||
|  * in the board files. Each 12 pin aux port has this pinout: | ||||
|  * | ||||
|  * VDC    1   2    GND | ||||
|  * 3.3V   3   4    SCL  (I2C_SCL_PIN) | ||||
|  * PWM1   5   6    SDA  (I2C_SDA_PIN) | ||||
|  * PWM2   7   8    CIPO (MISO_PIN) | ||||
|  * A1     9  10    COPI (MOSI_PIN) | ||||
|  * A2     11 12    SCK  (SCK_PIN) | ||||
|  */ | ||||
| #define INDEX_AUX1_PWM1                     PA15 | ||||
| #define INDEX_AUX1_PWM2                     PA5 | ||||
| #define INDEX_AUX1_A1                       PC0 | ||||
| #define INDEX_AUX1_A2                       PC1 | ||||
|  | ||||
| #define INDEX_AUX2_PWM1                     PA6 | ||||
| #define INDEX_AUX2_PWM2                     PA7 | ||||
| #define INDEX_AUX2_A1                       PC2 | ||||
| #define INDEX_AUX2_A2                       PC3 | ||||
|  | ||||
| #define INDEX_AUX3_PWM1                     PB8 | ||||
| #define INDEX_AUX3_PWM2                     PB9 | ||||
| #define INDEX_AUX3_A1                       PA0 | ||||
| #define INDEX_AUX3_A2                       PA1 | ||||
| @@ -0,0 +1,51 @@ | ||||
| { | ||||
|   "build": { | ||||
|     "core": "stm32", | ||||
|     "cpu": "cortex-m4", | ||||
|     "extra_flags": "-DSTM32F407xx", | ||||
|     "f_cpu": "168000000L", | ||||
|     "hwids": [ | ||||
|       [ | ||||
|         "0x1EAF", | ||||
|         "0x0003" | ||||
|       ], | ||||
|       [ | ||||
|         "0x0483", | ||||
|         "0x3748" | ||||
|       ], | ||||
|       [ | ||||
|         "0x0483", | ||||
|         "0xdf11" | ||||
|       ] | ||||
|     ], | ||||
|     "mcu": "stm32f407vet6", | ||||
|     "variant": "MARLIN_F407VE" | ||||
|   }, | ||||
|   "debug": { | ||||
|     "jlink_device": "STM32F407VE", | ||||
|     "openocd_target": "stm32f4x", | ||||
|     "svd_path": "STM32F40x.svd" | ||||
|   }, | ||||
|   "frameworks": [ | ||||
|     "arduino", | ||||
|     "stm32cube" | ||||
|   ], | ||||
|   "name": "STM32F407VE (192k RAM. 512k Flash)", | ||||
|   "upload": { | ||||
|     "disable_flushing": false, | ||||
|     "maximum_ram_size": 131072, | ||||
|     "maximum_size": 524288, | ||||
|     "protocol": "stlink", | ||||
|     "protocols": [ | ||||
|       "stlink", | ||||
|       "dfu", | ||||
|       "jlink", | ||||
|       "blackmagic" | ||||
|     ], | ||||
|     "require_upload_port": true, | ||||
|     "use_1200bps_touch": false, | ||||
|     "wait_for_upload_port": false | ||||
|   }, | ||||
|   "url": "https://www.st.com/en/microcontrollers-microprocessors/stm32f407ve.html", | ||||
|   "vendor": "Generic" | ||||
| } | ||||
							
								
								
									
										13
									
								
								buildroot/tests/Index_Mobo_Rev03
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								buildroot/tests/Index_Mobo_Rev03
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| #!/usr/bin/env bash | ||||
| # | ||||
| # Build tests for Index_Mobo_Rev03 | ||||
| # | ||||
|  | ||||
| # exit on first failure | ||||
| set -e | ||||
|  | ||||
| use_example_configs Index/REV_03 | ||||
| exec_test $1 $2 "Index REV03 Pick and Place" "$3" | ||||
|  | ||||
| # cleanup | ||||
| restore_configs | ||||
| @@ -99,6 +99,18 @@ board             = marlin_blackSTM32F407VET6 | ||||
| build_flags       = ${stm32_variant.build_flags} | ||||
|                     -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS | ||||
|  | ||||
| # | ||||
| # STM32F407VET6 Index Mobo Rev 03 | ||||
| # | ||||
| [env:Index_Mobo_Rev03] | ||||
| platform          = ${common_stm32.platform} | ||||
| extends           = stm32_variant | ||||
| board             = marlin_index_mobo_rev03 | ||||
| build_flags       = ${stm32_variant.build_flags} | ||||
|   -DARDUINO_BLACK_F407VE | ||||
|   -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS | ||||
| extra_scripts     = ${stm32_variant.extra_scripts} | ||||
|  | ||||
| # | ||||
| # Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4) | ||||
| # For use with with davidtgbe's OpenBLT bootloader https://github.com/davidtgbe/openblt/releases | ||||
|   | ||||
		Reference in New Issue
	
	Block a user