SoftwareSerialM for SKR STM32F1 boards (#15875)
This commit is contained in:
		
							parent
							
								
									8e7d1004cf
								
							
						
					
					
						commit
						9fd35c84ce
					
				| @ -25,7 +25,7 @@ | ||||
| #include "math.h" | ||||
| 
 | ||||
| #ifdef USBCON | ||||
|   #include "HardwareSerial.h" | ||||
|   #include <HardwareSerial.h> | ||||
| #else | ||||
|   #define HardwareSerial_h // Hack to prevent HardwareSerial.h header inclusion
 | ||||
|   #include "MarlinSerial.h" | ||||
|  | ||||
| @ -23,7 +23,7 @@ | ||||
| 
 | ||||
| #include "../../inc/MarlinConfig.h" | ||||
| 
 | ||||
| #include "Stream.h" | ||||
| #include <Stream.h> | ||||
| 
 | ||||
| #ifndef RX_BUFFER_SIZE | ||||
|   #define RX_BUFFER_SIZE 128 | ||||
|  | ||||
| @ -26,10 +26,10 @@ | ||||
| #include "i2s.h" | ||||
| 
 | ||||
| #include "../shared/Marduino.h" | ||||
| #include "driver/periph_ctrl.h" | ||||
| #include "rom/lldesc.h" | ||||
| #include "soc/i2s_struct.h" | ||||
| #include "freertos/queue.h" | ||||
| #include <driver/periph_ctrl.h> | ||||
| #include <rom/lldesc.h> | ||||
| #include <soc/i2s_struct.h> | ||||
| #include <freertos/queue.h> | ||||
| #include "../../module/stepper.h" | ||||
| 
 | ||||
| #define DMA_BUF_COUNT 8                                // number of DMA buffers to store data
 | ||||
|  | ||||
| @ -27,7 +27,7 @@ | ||||
| #include <ESPmDNS.h> | ||||
| #include <WiFiUdp.h> | ||||
| #include <ArduinoOTA.h> | ||||
| #include "driver/timer.h" | ||||
| #include <driver/timer.h> | ||||
| 
 | ||||
| void OTA_init() { | ||||
|   ArduinoOTA | ||||
|  | ||||
| @ -23,10 +23,10 @@ | ||||
| #ifdef ARDUINO_ARCH_ESP32 | ||||
| 
 | ||||
| #include <stdio.h> | ||||
| #include "esp_types.h" | ||||
| #include "soc/timer_group_struct.h" | ||||
| #include "driver/periph_ctrl.h" | ||||
| #include "driver/timer.h" | ||||
| #include <esp_types.h> | ||||
| #include <soc/timer_group_struct.h> | ||||
| #include <driver/periph_ctrl.h> | ||||
| #include <driver/timer.h> | ||||
| 
 | ||||
| #include "HAL.h" | ||||
| 
 | ||||
|  | ||||
| @ -22,7 +22,7 @@ | ||||
| #pragma once | ||||
| 
 | ||||
| #include <stdint.h> | ||||
| #include "driver/timer.h" | ||||
| #include <driver/timer.h> | ||||
| 
 | ||||
| // Includes needed to get I2S_STEPPER_STREAM. Note that pins.h
 | ||||
| // is included in case this header is being included early.
 | ||||
|  | ||||
| @ -56,7 +56,7 @@ | ||||
| // ------------------------
 | ||||
| #if ENABLED(LPC_SOFTWARE_SPI) | ||||
| 
 | ||||
|   #include "SoftwareSPI.h" | ||||
|   #include <SoftwareSPI.h> | ||||
| 
 | ||||
|   // Software SPI
 | ||||
| 
 | ||||
|  | ||||
| @ -46,7 +46,7 @@ | ||||
| #if ENABLED(FLASH_EEPROM_EMULATION) | ||||
| 
 | ||||
| extern "C" { | ||||
|   #include "lpc17xx_iap.h" | ||||
|   #include <lpc17xx_iap.h> | ||||
| } | ||||
| 
 | ||||
| #define SECTOR_START(sector)  ((sector < 16) ? (sector * 0x1000) : ((sector - 14) * 0x8000)) | ||||
|  | ||||
| @ -60,7 +60,7 @@ | ||||
| #if ENABLED(U8GLIB_ST7920) | ||||
| 
 | ||||
| #include <U8glib.h> | ||||
| #include "SoftwareSPI.h" | ||||
| #include <SoftwareSPI.h> | ||||
| #include "../../shared/Delay.h" | ||||
| 
 | ||||
| #undef SPI_SPEED | ||||
|  | ||||
| @ -59,7 +59,7 @@ | ||||
| 
 | ||||
| #if HAS_GRAPHICAL_LCD && DISABLED(U8GLIB_ST7920) | ||||
| 
 | ||||
| #include "SoftwareSPI.h" | ||||
| #include <SoftwareSPI.h> | ||||
| 
 | ||||
| #undef SPI_SPEED | ||||
| #define SPI_SPEED 2  // About 2 MHz
 | ||||
|  | ||||
| @ -26,7 +26,7 @@ | ||||
| 
 | ||||
| #if ENABLED(USE_WATCHDOG) | ||||
| 
 | ||||
| #include "lpc17xx_wdt.h" | ||||
| #include <lpc17xx_wdt.h> | ||||
| #include "watchdog.h" | ||||
| 
 | ||||
| void watchdog_init() { | ||||
|  | ||||
| @ -22,8 +22,8 @@ | ||||
| #ifdef __SAMD51__ | ||||
| 
 | ||||
| #include "../../inc/MarlinConfig.h" | ||||
| #include "Adafruit_ZeroDMA.h" | ||||
| #include "wiring_private.h" | ||||
| #include <Adafruit_ZeroDMA.h> | ||||
| #include <wiring_private.h> | ||||
| 
 | ||||
| // ------------------------
 | ||||
| // Local defines
 | ||||
|  | ||||
| @ -36,13 +36,13 @@ | ||||
| 
 | ||||
| #if HAS_SWSERIAL | ||||
|   #include "SoftwareSerial.h" | ||||
| #endif   | ||||
| #endif | ||||
| 
 | ||||
| #if ENABLED(SRAM_EEPROM_EMULATION) | ||||
|   #if STM32F7xx | ||||
|     #include "stm32f7xx_ll_pwr.h" | ||||
|     #include <stm32f7xx_ll_pwr.h> | ||||
|   #elif STM32F4xx | ||||
|     #include "stm32f4xx_ll_pwr.h" | ||||
|     #include <stm32f4xx_ll_pwr.h> | ||||
|   #else | ||||
|     #error "SRAM_EEPROM_EMULATION is currently only supported for STM32F4xx and STM32F7xx" | ||||
|   #endif | ||||
|  | ||||
| @ -91,7 +91,7 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) { | ||||
|     // This is fixed in Arduino_Core_STM32 1.8.
 | ||||
|     // These calls can be removed and replaced with
 | ||||
|     // timer_instance[timer_num]->setInterruptPriority
 | ||||
|     switch (timer_num) {                  | ||||
|     switch (timer_num) { | ||||
|       case STEP_TIMER_NUM: | ||||
|         HAL_NVIC_SetPriority(STEP_TIMER_IRQ_NAME, STEP_TIMER_IRQ_PRIO, 0); | ||||
|         break; | ||||
|  | ||||
| @ -272,7 +272,7 @@ extern "C" { | ||||
| // return free memory between end of heap (or end bss) and whatever is current
 | ||||
| 
 | ||||
| /*
 | ||||
| #include "wirish/syscalls.c" | ||||
| #include <wirish/syscalls.c> | ||||
| //extern caddr_t _sbrk(int incr);
 | ||||
| #ifndef CONFIG_HEAP_END | ||||
| extern char _lm_heap_end; | ||||
|  | ||||
| @ -20,7 +20,9 @@ | ||||
| 
 | ||||
| #include <stdint.h> | ||||
| 
 | ||||
| #define SW_SERIAL_PLACEHOLDER 1 | ||||
| #ifndef HAVE_SW_SERIAL | ||||
|    #define SW_SERIAL_PLACEHOLDER 1 | ||||
| #endif | ||||
| 
 | ||||
| class SoftwareSerial { | ||||
| public: | ||||
|  | ||||
| @ -36,3 +36,8 @@ | ||||
| #if ENABLED(FAST_PWM_FAN) | ||||
|   #error "FAST_PWM_FAN is not yet implemented for this platform." | ||||
| #endif | ||||
| 
 | ||||
| #if !defined(HAVE_SW_SERIAL) && HAS_TMC220x | ||||
|   #warning "With TMC2208/9 consider using SoftwareSerialM with HAVE_SW_SERIAL and appropriate SS_TIMER." | ||||
|   #error "Missing SoftwareSerial implementation." | ||||
| #endif | ||||
|  | ||||
| @ -64,7 +64,7 @@ extern "C" { | ||||
| // return free memory between end of heap (or end bss) and whatever is current
 | ||||
| 
 | ||||
| /*
 | ||||
| #include "wirish/syscalls.c" | ||||
| #include <wirish/syscalls.c> | ||||
| //extern caddr_t _sbrk(int incr);
 | ||||
| #ifndef CONFIG_HEAP_END | ||||
| extern char _lm_heap_end; | ||||
|  | ||||
| @ -133,7 +133,7 @@ | ||||
|                                        || HAS_E_DRIVER(TMC2660_STANDALONE) \ | ||||
|                                        || HAS_E_DRIVER(TMC2209_STANDALONE) \ | ||||
|                                        || HAS_E_DRIVER(TMC5130_STANDALONE) \ | ||||
|                                        || HAS_E_DRIVER(TMC5160_STANDALONE) )                    | ||||
|                                        || HAS_E_DRIVER(TMC5160_STANDALONE) ) | ||||
| //
 | ||||
| // Stretching 'drivers.h' to include LPC/SAMD51 SD options
 | ||||
| //
 | ||||
|  | ||||
| @ -122,7 +122,7 @@ const PinMap PinMap_PWM[] = { | ||||
|   {PE_5,  TIM9,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1    FAN1
 | ||||
|   {PE_6,  TIM9,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2    FAN2
 | ||||
|   {PC_9,  TIM8,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4    EXTENSION1-4
 | ||||
|    | ||||
| 
 | ||||
|   //probably unused on SKR-Pro. confirmation needed, please.
 | ||||
|   //{PA_0,  TIM2,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
 | ||||
|   //{PA_0,  TIM5,   STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1
 | ||||
|  | ||||
| @ -301,9 +301,10 @@ board             = genericSTM32F103RC | ||||
| platform_packages = tool-stm32duino | ||||
| extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py | ||||
| build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DHAVE_SW_SERIAL -DSS_TIMER=4 | ||||
| build_unflags     = -std=gnu++11 | ||||
| lib_deps          = ${common.lib_deps} | ||||
|   SoftwareSerialM=https://github.com/FYSETC/SoftwareSerialM/archive/master.zip | ||||
| lib_ignore        = Adafruit NeoPixel, SPI | ||||
| src_filter        = ${common.default_src_filter} +<src/HAL/HAL_STM32F1> | ||||
| monitor_speed     = 115200 | ||||
| @ -315,9 +316,10 @@ board             = genericSTM32F103RC | ||||
| platform_packages = tool-stm32duino | ||||
| extra_scripts     = buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py | ||||
| build_flags       = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DUSE_USB_COMPOSITE | ||||
|   ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14 -DUSE_USB_COMPOSITE -DHAVE_SW_SERIAL -DSS_TIMER=4 | ||||
| build_unflags     = -std=gnu++11 | ||||
| lib_deps          = ${common.lib_deps} | ||||
|   SoftwareSerialM=https://github.com/FYSETC/SoftwareSerialM/archive/master.zip | ||||
| lib_ignore        = Adafruit NeoPixel, SPI | ||||
| src_filter        = ${common.default_src_filter} +<src/HAL/HAL_STM32F1> | ||||
| monitor_speed     = 115200 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user