New board STM32F407 (#14994)
This commit is contained in:
		
							parent
							
								
									bb4a252567
								
							
						
					
					
						commit
						0b47558a09
					
				| @ -22,7 +22,6 @@ | ||||
|  */ | ||||
| #if defined(ARDUINO_ARCH_STM32) && !defined(STM32GENERIC) | ||||
| 
 | ||||
| 
 | ||||
| #include "../../inc/MarlinConfig.h" | ||||
| 
 | ||||
| #include <SPI.h> | ||||
| @ -73,16 +72,22 @@ void spiInit(uint8_t spiRate) { | ||||
|   // Use datarates Marlin uses
 | ||||
|   uint32_t clock; | ||||
|   switch (spiRate) { | ||||
|   case SPI_FULL_SPEED:    clock = 20000000; break; // 13.9mhz=20000000  6.75mhz=10000000  3.38mhz=5000000  .833mhz=1000000
 | ||||
|   case SPI_HALF_SPEED:    clock =  5000000; break; | ||||
|   case SPI_QUARTER_SPEED: clock =  2500000; break; | ||||
|   case SPI_EIGHTH_SPEED:  clock =  1250000; break; | ||||
|   case SPI_SPEED_5:       clock =   625000; break; | ||||
|   case SPI_SPEED_6:       clock =   300000; break; | ||||
|   default: | ||||
|     clock = 4000000; // Default from the SPI library
 | ||||
|     case SPI_FULL_SPEED:    clock = 20000000; break; // 13.9mhz=20000000  6.75mhz=10000000  3.38mhz=5000000  .833mhz=1000000
 | ||||
|     case SPI_HALF_SPEED:    clock =  5000000; break; | ||||
|     case SPI_QUARTER_SPEED: clock =  2500000; break; | ||||
|     case SPI_EIGHTH_SPEED:  clock =  1250000; break; | ||||
|     case SPI_SPEED_5:       clock =   625000; break; | ||||
|     case SPI_SPEED_6:       clock =   300000; break; | ||||
|     default: | ||||
|       clock = 4000000; // Default from the SPI library
 | ||||
|   } | ||||
|   spiConfig = SPISettings(clock, MSBFIRST, SPI_MODE0); | ||||
|   #if defined(MISO_PIN) && defined(SDSS) && defined(MOSI_PIN) && defined(SCK_PIN) | ||||
|     SPI.setMISO(MISO_PIN); | ||||
|     SPI.setSSEL(SDSS); | ||||
|     SPI.setMOSI(MOSI_PIN); | ||||
|     SPI.setSCLK(SCK_PIN); | ||||
|   #endif | ||||
|   SPI.begin(); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -290,6 +290,7 @@ | ||||
| #define BOARD_BLACK_STM32F407ZE       4205  // BLACK_STM32F407ZE
 | ||||
| #define BOARD_STEVAL                  4206  // STEVAL-3DP001V1 3D PRINTER BOARD
 | ||||
| #define BOARD_BIGTREE_SKR_PRO_V1_1    4207  // BigTreeTech SKR Pro v1.1 (STM32F407ZG)
 | ||||
| #define BOARD_BIGTREE_BTT002_V1_0     4208  // BigTreeTech BTT002 v1.0 (STM32F407VE)
 | ||||
| 
 | ||||
| //
 | ||||
| // ARM Cortex M7
 | ||||
|  | ||||
| @ -502,6 +502,8 @@ | ||||
|   #include "stm32/pins_STEVAL.h"                // STM32F4                                env:STM32F4 | ||||
| #elif MB(BIGTREE_SKR_PRO_V1_1) | ||||
|   #include "stm32/pins_BIGTREE_SKR_PRO_V1.1.h"  // STM32F4                                env:BIGTREE_SKR_PRO | ||||
| #elif MB(BIGTREE_BTT002_V1_0) | ||||
|   #include "stm32/pins_BIGTREE_BTT002_V1.0.h"   // STM32F4                                env:BIGTREE_BTTOO2 | ||||
| 
 | ||||
| //
 | ||||
| // ARM Cortex M7
 | ||||
|  | ||||
							
								
								
									
										254
									
								
								Marlin/src/pins/stm32/pins_BIGTREE_BTT002_V1.0.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										254
									
								
								Marlin/src/pins/stm32/pins_BIGTREE_BTT002_V1.0.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,254 @@ | ||||
| /**
 | ||||
|  * Marlin 3D Printer Firmware | ||||
|  * Copyright (c) 2019 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 <http://www.gnu.org/licenses/>.
 | ||||
|  * | ||||
|  */ | ||||
| #pragma once | ||||
| 
 | ||||
| #ifndef TARGET_STM32F4 | ||||
|   #error "Oops! Select an STM32F4 board in 'Tools > Board.'" | ||||
| #elif HOTENDS > 3 || E_STEPPERS > 3 | ||||
|   #error "BIGTREE SKR Pro V1.1 supports up to 3 hotends / E-steppers." | ||||
| #endif | ||||
| 
 | ||||
| #define BOARD_NAME "BIGTREE Btt002 1.0" | ||||
| 
 | ||||
| #define SRAM_EEPROM_EMULATION | ||||
| 
 | ||||
| // Ignore temp readings during development.
 | ||||
| //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
 | ||||
| 
 | ||||
| //
 | ||||
| // Servos  
 | ||||
| //
 | ||||
| #define SERVO0_PIN         PC3 | ||||
| 
 | ||||
| //
 | ||||
| // Limit Switches
 | ||||
| //
 | ||||
| #define X_MIN_PIN          PD3 | ||||
| #define X_MAX_PIN          PD3 | ||||
| #define Y_MIN_PIN          PD2 | ||||
| #define Y_MAX_PIN          PD2 | ||||
| #define Z_MIN_PIN          PD1 | ||||
| #define Z_MAX_PIN          PD1 | ||||
| 
 | ||||
| //
 | ||||
| // Z Probe must be this pins  ##
 | ||||
| //
 | ||||
| #ifndef Z_MIN_PROBE_PIN | ||||
|   #define Z_MIN_PROBE_PIN  PD1 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // Steppers
 | ||||
| //
 | ||||
| #define X_STEP_PIN         PA9 | ||||
| #define X_DIR_PIN          PA10 | ||||
| #define X_ENABLE_PIN       PA8 | ||||
| #ifndef X_CS_PIN | ||||
|   #define X_CS_PIN         PE2 | ||||
| #endif | ||||
| 
 | ||||
| #define Y_STEP_PIN         PC8 | ||||
| #define Y_DIR_PIN          PC9 | ||||
| #define Y_ENABLE_PIN       PC7 | ||||
|  #ifndef Y_CS_PIN | ||||
|   #define Y_CS_PIN         PE3 | ||||
| #endif | ||||
| 
 | ||||
| #define Z_STEP_PIN         PD15 | ||||
| #define Z_DIR_PIN          PC6 | ||||
| #define Z_ENABLE_PIN       PD14 | ||||
| #ifndef Z_CS_PIN | ||||
|   #define Z_CS_PIN         PE4 | ||||
| #endif | ||||
| 
 | ||||
| #define E0_STEP_PIN        PD12 | ||||
| #define E0_DIR_PIN         PD13 | ||||
| #define E0_ENABLE_PIN      PD11 | ||||
| #ifndef E0_CS_PIN | ||||
|   #define E0_CS_PIN        PD7 | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
| //SKR_PRO_V1.1 
 | ||||
| #define E1_STEP_PIN        PD15 | ||||
| #define E1_DIR_PIN         PE7 | ||||
| #define E1_ENABLE_PIN      PA3 | ||||
| #ifndef E1_CS_PIN | ||||
|   #define E1_CS_PIN        PG15 | ||||
| #endif | ||||
| 
 | ||||
| #define E2_STEP_PIN        PD13 | ||||
| #define E2_DIR_PIN         PG9 | ||||
| #define E2_ENABLE_PIN      PF0 | ||||
| #ifndef E2_CS_PIN | ||||
|   #define E2_CS_PIN        PG12 | ||||
| #endif | ||||
| */ | ||||
| //
 | ||||
| // Software SPI pins for TMC2130 stepper drivers
 | ||||
| //
 | ||||
| #if ENABLED(TMC_USE_SW_SPI) | ||||
|   #ifndef TMC_SW_MOSI | ||||
|     #define TMC_SW_MOSI    PB15 | ||||
|   #endif | ||||
|   #ifndef TMC_SW_MISO | ||||
|     #define TMC_SW_MISO    PB14 | ||||
|   #endif | ||||
|   #ifndef TMC_SW_SCK | ||||
|     #define TMC_SW_SCK     PB13 | ||||
|   #endif | ||||
| #endif | ||||
| 
 | ||||
| #if HAS_TMC220x | ||||
|   /**
 | ||||
|    * TMC2208/TMC2209 stepper drivers | ||||
|    * | ||||
|    * Hardware serial communication ports. | ||||
|    * If undefined software serial is used according to the pins below | ||||
|    */ | ||||
|   //#define X_HARDWARE_SERIAL Serial1
 | ||||
|   //#define X2_HARDWARE_SERIAL Serial1
 | ||||
|   //#define Y_HARDWARE_SERIAL  Serial1
 | ||||
|   //#define Y2_HARDWARE_SERIAL Serial1
 | ||||
|   //#define Z_HARDWARE_SERIAL  Serial1
 | ||||
|   //#define Z2_HARDWARE_SERIAL Serial1
 | ||||
|   //#define E0_HARDWARE_SERIAL Serial1
 | ||||
|   //#define E1_HARDWARE_SERIAL Serial1
 | ||||
|   //#define E2_HARDWARE_SERIAL Serial1
 | ||||
|   //#define E3_HARDWARE_SERIAL Serial1
 | ||||
|   //#define E4_HARDWARE_SERIAL Serial1
 | ||||
| 
 | ||||
|   //
 | ||||
|   // Software serial  ##
 | ||||
|   //
 | ||||
|   #define X_SERIAL_TX_PIN  PE2 | ||||
|   #define X_SERIAL_RX_PIN  PE2 | ||||
| 
 | ||||
|   #define Y_SERIAL_TX_PIN  PE3 | ||||
|   #define Y_SERIAL_RX_PIN  PE3 | ||||
| 
 | ||||
|   #define Z_SERIAL_TX_PIN  PE4 | ||||
|   #define Z_SERIAL_RX_PIN  PE4 | ||||
| 
 | ||||
|   #define E0_SERIAL_TX_PIN PD7 | ||||
|   #define E0_SERIAL_RX_PIN PD7 | ||||
| 
 | ||||
|   //#define E1_SERIAL_TX_PIN PD1
 | ||||
|   //#define E1_SERIAL_RX_PIN PD1
 | ||||
| 
 | ||||
|   //#define E2_SERIAL_TX_PIN PD6
 | ||||
|   //#define E2_SERIAL_RX_PIN PD6
 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // Temperature Sensors
 | ||||
| //
 | ||||
| #define TEMP_0_PIN         PA2   // T1 <-> E0
 | ||||
| #define TEMP_1_PIN         PA0   // T2 <-> E1
 | ||||
| //#define TEMP_2_PIN         PC2   // T3 <-> E2  SKR_PRO
 | ||||
| #define TEMP_BED_PIN       PA1   // T0 <-> Bed
 | ||||
| 
 | ||||
| //
 | ||||
| // Heaters / Fans
 | ||||
| //
 | ||||
| #define HEATER_0_PIN       PE6  // Heater0
 | ||||
| //#define HEATER_1_PIN       PD14  // Heater1
 | ||||
| //#define HEATER_2_PIN       PB0   // Heater1
 | ||||
| #define HEATER_BED_PIN     PE5   // Hotbed
 | ||||
| #define FAN_PIN            PB9   // Fan0
 | ||||
| #define FAN1_PIN           PB8   // Fan1
 | ||||
| //#define FAN2_PIN           PE6   // Fan2
 | ||||
| 
 | ||||
| // HAL SPI pins group
 | ||||
| #define SCK_PIN            PA5   // SPI SCLK
 | ||||
| #define MYSSEL             PA4   // SPI SSEL
 | ||||
| #define MISO_PIN           PA6   // SPI MISO
 | ||||
| #define MOSI_PIN           PA7   // SPI MOSI
 | ||||
| 
 | ||||
| //
 | ||||
| // Misc. Functions
 | ||||
| //
 | ||||
| #define SDSS               PA4 | ||||
| 
 | ||||
| /**
 | ||||
|  * -------------------------------------SKR_MK3----------------------------------------------- | ||||
|  *               _____                                             _____                      | | ||||
|  *          PA3 | · · | GND                                    5V | · · | GND                 | | ||||
|  *       NRESET | · · | PC4(SD_DET)                 (LCD_D7) PE13 | · · | PE12  (LCD_D6)      |  | ||||
|  *   (MOSI)PA7  | · · | PB0(BTN_EN2)                (LCD_D5) PE11 | · · | PE10  (LCD_D4)      | | ||||
|  *  (SD_SS)PA4  | · · | PC5(BTN_EN1)                (LCD_RS) PE8  | · · | PE9   (LCD_EN)      | | ||||
|  *    (SCK)PA5  | · · | PA6(MISO)                  (BTN_ENC) PB1  | · · | PE7   (BEEPER)      | | ||||
|  *                ̄ ̄                                                ̄ ̄                       | | ||||
|  *               EXP2                                              EXP1                       | | ||||
|  * --------------------------------------------------------------------------------------------- | ||||
|  */ | ||||
| //
 | ||||
| // LCDs and Controllers
 | ||||
| //
 | ||||
| #if HAS_SPI_LCD | ||||
|   #define BEEPER_PIN       PE7 | ||||
|   #define BTN_ENC          PB1 | ||||
| 
 | ||||
|   #if ENABLED(CR10_STOCKDISPLAY) | ||||
|     #define LCD_PINS_RS    PE12 | ||||
| 
 | ||||
|     #define BTN_EN1        PE9 | ||||
|     #define BTN_EN2        PE10 | ||||
| 
 | ||||
|     #define LCD_PINS_ENABLE PE13 | ||||
|     #define LCD_PINS_D4    PE11 | ||||
| 
 | ||||
|   #else | ||||
| 
 | ||||
|     #define LCD_PINS_RS    PE8 | ||||
| 
 | ||||
|     #define BTN_EN1        PC5 | ||||
|     #define BTN_EN2        PB0 | ||||
|     #define SD_DETECT_PIN  PC4 | ||||
| 
 | ||||
|     #define LCD_SDSS       PA4 | ||||
| 
 | ||||
|     #define LCD_PINS_ENABLE PE9  | ||||
|     #define LCD_PINS_D4    PE10 | ||||
| 
 | ||||
|     #if ENABLED(ULTIPANEL) | ||||
|       #define LCD_PINS_D5  PE11 | ||||
|       #define LCD_PINS_D6  PE12 | ||||
|       #define LCD_PINS_D7  PE13 | ||||
|     #endif | ||||
| 
 | ||||
|   #endif | ||||
| 
 | ||||
|   // Alter timing for graphical display
 | ||||
|   #if HAS_GRAPHICAL_LCD | ||||
|     #ifndef ST7920_DELAY_1 | ||||
|       #define ST7920_DELAY_1 DELAY_NS(96) | ||||
|     #endif | ||||
|     #ifndef ST7920_DELAY_2 | ||||
|       #define ST7920_DELAY_2 DELAY_NS(48) | ||||
|     #endif | ||||
|     #ifndef ST7920_DELAY_3 | ||||
|       #define ST7920_DELAY_3 DELAY_NS(600) | ||||
|     #endif | ||||
|   #endif | ||||
| 
 | ||||
| #endif // HAS_SPI_LCD
 | ||||
							
								
								
									
										65
									
								
								buildroot/share/PlatformIO/boards/BigTree_Btt002.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								buildroot/share/PlatformIO/boards/BigTree_Btt002.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,65 @@ | ||||
| { | ||||
|   "build": { | ||||
|     "core": "stm32", | ||||
|     "cpu": "cortex-m4", | ||||
|     "extra_flags": "-DSTM32F407xx", | ||||
|     "f_cpu": "168000000L", | ||||
|     "hwids": [ | ||||
|       [ | ||||
|         "0x1EAF", | ||||
|         "0x0003" | ||||
|       ], | ||||
|       [ | ||||
|         "0x0483", | ||||
|         "0x3748" | ||||
|       ] | ||||
|     ], | ||||
|     "ldscript": "stm32f407xg.ld", | ||||
|     "mcu": "stm32f407vet6", | ||||
|     "variant": "BIGTREE_GENERIC_STM32F407_5X" | ||||
|   }, | ||||
|   "debug": { | ||||
|     "jlink_device": "STM32F407VE", | ||||
|     "openocd_target": "stm32f4x", | ||||
|     "svd_path": "STM32F40x.svd", | ||||
|     "tools": { | ||||
|       "stlink": { | ||||
|         "server": { | ||||
|           "arguments": [ | ||||
|             "-f", | ||||
|             "scripts/interface/stlink.cfg", | ||||
|             "-c", | ||||
|             "transport select hla_swd", | ||||
|             "-f", | ||||
|             "scripts/target/stm32f4x.cfg", | ||||
|             "-c", | ||||
|             "reset_config none" | ||||
|           ], | ||||
|           "executable": "bin/openocd", | ||||
|           "package": "tool-openocd" | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "frameworks": [ | ||||
|     "arduino", | ||||
|     "stm32cube" | ||||
|   ], | ||||
|   "name": "STM32F407VE (64k RAM. 512k Flash)", | ||||
|   "upload": { | ||||
|     "disable_flushing": false, | ||||
|     "maximum_ram_size": 65536, | ||||
|     "maximum_size": 524288, | ||||
|     "protocol": "stlink", | ||||
|     "protocols": [ | ||||
|       "stlink", | ||||
|       "dfu", | ||||
|       "jlink" | ||||
|     ], | ||||
|     "require_upload_port": true, | ||||
|     "use_1200bps_touch": false, | ||||
|     "wait_for_upload_port": false | ||||
|   }, | ||||
|   "url": "http://www.st.com/en/microcontrollers/stm32f407zg.html", | ||||
|   "vendor": "Generic" | ||||
| } | ||||
| @ -477,6 +477,26 @@ lib_ignore = Adafruit NeoPixel, SailfishLCD, SailfishRGB_LED, SlowSoftI2CMaster | ||||
| src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32> | ||||
| monitor_speed = 250000 | ||||
| 
 | ||||
| # | ||||
| # BIGTREE_SKR_BTT002 (STM32F407VET6 ARM Cortex-M4) | ||||
| # | ||||
| [env:BIGTREE_BTT002] | ||||
| platform = ststm32@5.4.3 | ||||
| framework = arduino | ||||
| board = BigTree_BTT002 | ||||
| extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py | ||||
| build_flags = ${common.build_flags} | ||||
|   -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407VE\" | ||||
|   -DTARGET_STM32F4 -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000 | ||||
|   -DHAVE_HWSERIAL2 | ||||
|   -DHAVE_HWSERIAL3 | ||||
|   -DPIN_SERIAL2_RX=PD_6 | ||||
|   -DPIN_SERIAL2_TX=PD_5 | ||||
| lib_deps = ${common.lib_deps} | ||||
| lib_ignore = Adafruit NeoPixel, SailfishLCD, SailfishRGB_LED, SlowSoftI2CMaster | ||||
| src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32> | ||||
| monitor_speed = 250000 | ||||
| 
 | ||||
| # | ||||
| # Teensy 3.1 / 3.2 (ARM Cortex-M4) | ||||
| # | ||||
| @ -516,7 +536,7 @@ build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py -DMCU_ST | ||||
|   -DDEBUG_LEVEL=0 | ||||
| src_filter  = ${common.default_src_filter} +<src/HAL/HAL_STM32F1> | ||||
| #-<frameworks> | ||||
| lib_ignore  = Adafruit NeoPixel, LiquidCrystal, LiquidTWI2, TMCStepper, TMC26XStepper, U8glib-HAL | ||||
| lib_ignore  = Adafruit NeoPixel, LiquidCrystal, LiquidTWI2, TMCStepper, U8glib-HAL | ||||
| 
 | ||||
| # | ||||
| # Espressif ESP32 | ||||
| @ -531,7 +551,7 @@ upload_port = /dev/ttyUSB0 | ||||
| lib_deps = | ||||
|   AsyncTCP=https://github.com/me-no-dev/AsyncTCP/archive/master.zip | ||||
|   ESPAsyncWebServer=https://github.com/me-no-dev/ESPAsyncWebServer/archive/master.zip | ||||
| lib_ignore  = TMC26XStepper, LiquidCrystal, LiquidTWI2, SailfishLCD, SailfishRGB_LED | ||||
| lib_ignore  = LiquidCrystal, LiquidTWI2, SailfishLCD, SailfishRGB_LED | ||||
| src_filter  = ${common.default_src_filter} +<src/HAL/HAL_ESP32> | ||||
| 
 | ||||
| # | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user