From 8d034a2a826a2c21a66fe92aa58f17556f25e55e Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 19 Oct 2025 02:00:59 -0400 Subject: [PATCH 1/3] N32 C10 12864 --- Marlin/src/HAL/STM32F1/HAL.cpp | 24 +++++- Marlin/src/HAL/STM32F1/HAL.h | 3 + Marlin/src/HAL/STM32F1/HAL_N32.cpp | 41 ++++++---- Marlin/src/HAL/STM32F1/HAL_N32.h | 15 ++++ Marlin/src/HAL/STM32F1/fastio.h | 4 + Marlin/src/inc/Conditionals-2-LCD.h | 14 +++- .../u8g/ultralcd_st7920_u8glib_rrd_AVR.cpp | 30 ++++++-- .../dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.h | 9 ++- Marlin/src/pins/stm32f1/pins_CREALITY_V4.h | 74 ++++++++++++++----- 9 files changed, 169 insertions(+), 45 deletions(-) diff --git a/Marlin/src/HAL/STM32F1/HAL.cpp b/Marlin/src/HAL/STM32F1/HAL.cpp index fb78432096..85adfdbca8 100644 --- a/Marlin/src/HAL/STM32F1/HAL.cpp +++ b/Marlin/src/HAL/STM32F1/HAL.cpp @@ -167,7 +167,8 @@ void MarlinHAL::adc_init() { adc.setContinuous(); adc.startConversion(); } - +#elif HAS_N32_CR10 + #include "HAL_N32.h" #endif // !VOXELAB_N32 void MarlinHAL::adc_start(const pin_t pin) { @@ -199,7 +200,26 @@ void MarlinHAL::adc_start(const pin_t pin) { _TCASE(POWER_MONITOR_CURRENT, POWER_MONITOR_CURRENT_PIN, POWERMON_CURRENT) _TCASE(POWER_MONITOR_VOLTAGE, POWER_MONITOR_VOLTAGE_PIN, POWERMON_VOLTAGE) } - adc_result = (adc_results[(int)pin_index] & 0xFFF) >> (12 - HAL_ADC_RESOLUTION); // shift out unused bits + + #if DISABLED(HAS_N32_CR10) + adc_result = (adc_results[(int)pin_index] & 0xFFF) >> (12 - HAL_ADC_RESOLUTION); // shift out unused bits + #else + ADC_Initial(USE_ADC); + + switch (pin_index) { + case TEMP_0: + adc_result = ADC_GetData(USE_ADC, ADC2_Channel_02_PA5); + adc_result = ADC_GetData(USE_ADC, ADC2_Channel_02_PA5); + break; + case TEMP_BED: + adc_result = ADC_GetData(USE_ADC, ADC2_Channel_01_PA4); + adc_result = ADC_GetData(USE_ADC, ADC2_Channel_01_PA4); + break; + default: + break; + } + adc_result = (adc_result >> 2) & 0x3FF; + #endif } // ------------------------ diff --git a/Marlin/src/HAL/STM32F1/HAL.h b/Marlin/src/HAL/STM32F1/HAL.h index 68773bdf27..1a976ec9ab 100644 --- a/Marlin/src/HAL/STM32F1/HAL.h +++ b/Marlin/src/HAL/STM32F1/HAL.h @@ -108,6 +108,9 @@ typedef int8_t pin_t; // ADC // ------------------------ +#if HAS_N32_CR10 + #define ADC_RESOLUTION 10 +#endif #ifdef ADC_RESOLUTION #define HAL_ADC_RESOLUTION ADC_RESOLUTION #else diff --git a/Marlin/src/HAL/STM32F1/HAL_N32.cpp b/Marlin/src/HAL/STM32F1/HAL_N32.cpp index e45cbbbfff..64786e2955 100644 --- a/Marlin/src/HAL/STM32F1/HAL_N32.cpp +++ b/Marlin/src/HAL/STM32F1/HAL_N32.cpp @@ -87,6 +87,7 @@ void ADC_DeInit(ADC_Module* NS_ADCx) { reg_temp = ADC_RCC_AHBPRST; reg_temp |= RCC_AHB_PERIPH_ADC1; ADC_RCC_AHBPRST = reg_temp; // ADC module reunion position + TERN_(HAS_N32_CR10, for(volatile int i=0; i<10; i++) {}) ADC_RCC_AHBPRST = 0x00000000; // ADC module reset and clear } else if (NS_ADCx == NS_ADC2) { @@ -94,6 +95,7 @@ void ADC_DeInit(ADC_Module* NS_ADCx) { reg_temp = ADC_RCC_AHBPRST; reg_temp |= RCC_AHB_PERIPH_ADC2; ADC_RCC_AHBPRST = reg_temp; // ADC module reunion position + TERN_(HAS_N32_CR10, for(volatile int i=0; i<10; i++) {}) ADC_RCC_AHBPRST = 0x00000000; // ADC module reset and clear } else if (NS_ADCx == NS_ADC3) { @@ -101,6 +103,7 @@ void ADC_DeInit(ADC_Module* NS_ADCx) { reg_temp = ADC_RCC_AHBPRST; reg_temp |= RCC_AHB_PERIPH_ADC3; ADC_RCC_AHBPRST = reg_temp; // ADC module reunion position + TERN_(HAS_N32_CR10, for(volatile int i=0; i<10; i++) {}) ADC_RCC_AHBPRST = 0x00000000; // ADC module reset and clear } else if (NS_ADCx == NS_ADC4) { @@ -108,6 +111,7 @@ void ADC_DeInit(ADC_Module* NS_ADCx) { reg_temp = ADC_RCC_AHBPRST; reg_temp |= RCC_AHB_PERIPH_ADC4; ADC_RCC_AHBPRST = reg_temp; // ADC module reunion position + TERN_(HAS_N32_CR10, for(volatile int i=0; i<10; i++) {}) ADC_RCC_AHBPRST = 0x00000000; // ADC module reset and clear } } @@ -399,21 +403,25 @@ void enable_adc_clk(uint8_t cmd) { void ADC_Initial(ADC_Module* NS_ADCx) { ADC_InitType ADC_InitStructure; + TERN_(HAS_N32_CR10, ADC_DeInit(NS_ADCx)); + /* ADC configuration ------------------------------------------------------*/ ADC_InitStructure.WorkMode = ADC_WORKMODE_INDEPENDENT; // Independent mode - ADC_InitStructure.MultiChEn = 1; // Multi-channel enable - ADC_InitStructure.ContinueConvEn = 1; // Continuous enable + ADC_InitStructure.MultiChEn = TERN(HAS_N32_CR10, 0, 1); // Multi-channel enable + ADC_InitStructure.ContinueConvEn = TERN(HAS_N32_CR10, 0, 1); // Continuous enable ADC_InitStructure.ExtTrigSelect = ADC_EXT_TRIGCONV_NONE; // Non-trigger ADC_InitStructure.DatAlign = ADC_DAT_ALIGN_R; // Right alignment - ADC_InitStructure.ChsNumber = 2; // Scan channel number + ADC_InitStructure.ChsNumber = TERN(HAS_N32_CR10, 1, 2); // Scan channel number ADC_Init(NS_ADCx, &ADC_InitStructure); - /* ADC regular channel14 configuration */ - ADC_ConfigRegularChannel(NS_ADCx, ADC2_Channel_05_PC4, 2, ADC_SAMP_TIME_55CYCLES5); - ADC_ConfigRegularChannel(NS_ADCx, ADC2_Channel_12_PC5, 1, ADC_SAMP_TIME_55CYCLES5); + #if !HAS_N32_CR10 + /* ADC regular channel14 configuration */ + ADC_ConfigRegularChannel(NS_ADCx, ADC2_Channel_05_PC4, 2, ADC_SAMP_TIME_55CYCLES5); + ADC_ConfigRegularChannel(NS_ADCx, ADC2_Channel_12_PC5, 1, ADC_SAMP_TIME_55CYCLES5); - /** 使能ADC DMA */ - ADC_EnableDMA(NS_ADCx, 1); + /** 使能ADC DMA */ + ADC_EnableDMA(NS_ADCx, 1); + #endif /* Enable ADC */ ADC_Enable(NS_ADCx, 1); @@ -424,7 +432,7 @@ void ADC_Initial(ADC_Module* NS_ADCx) { while (ADC_GetCalibrationStatus(NS_ADCx)); /* Start ADC Software Conversion */ - ADC_EnableSoftwareStartConv(NS_ADCx, 1); + IF_DISABLED(HAS_N32_CR10, ADC_EnableSoftwareStartConv(NS_ADCx, 1)); } /**================================================================ @@ -432,13 +440,20 @@ void ADC_Initial(ADC_Module* NS_ADCx) { ================================================================*/ uint16_t ADC_GetData(ADC_Module* NS_ADCx, uint8_t ADC_Channel) { uint16_t dat; + TERN_(HAS_N32_CR10, uint8_t timeOut); /** Set channel parameters */ - ADC_ConfigRegularChannel(NS_ADCx, ADC_Channel, 1, ADC_SAMP_TIME_239CYCLES5); + ADC_ConfigRegularChannel(NS_ADCx, ADC_Channel, 1, TERN(HAS_N32_CR10, ADC_SAMP_TIME_71CYCLES5, ADC_SAMP_TIME_239CYCLES5)); + + #if HAS_N32_CR10 + ADC_ClearFlag(NS_ADCx, ADC_FLAG_ENDC); + ADC_ClearFlag(NS_ADCx, ADC_FLAG_STR); + #endif /* Start ADC Software Conversion */ + TERN_(HAS_N32_CR10, timeOut = 0xFF); ADC_EnableSoftwareStartConv(NS_ADCx, 1); - while(ADC_GetFlagStatus(NS_ADCx, ADC_FLAG_ENDC) == 0); + while((ADC_GetFlagStatus(NS_ADCx, ADC_FLAG_ENDC) == 0) TERN_(HAS_N32_CR10, && (timeOut--))); ADC_ClearFlag(NS_ADCx, ADC_FLAG_ENDC); ADC_ClearFlag(NS_ADCx, ADC_FLAG_STR); @@ -630,8 +645,8 @@ void MarlinHAL::adc_init() { //NS_GPIOC_PL_CFG = reg_temp; // PC4/5 analog input enable_adc_clk(1); // Make ADC clock - ADC_DMA_init(); // DMA initialization - ADC_Initial(NS_ADC2); // ADC initialization + IF_DISABLED(HAS_N32_CR10, ADC_DMA_init()); // DMA initialization + ADC_Initial(USE_ADC); // ADC initialization delay(2); //NS_PINRT("get adc1 = ", adc_results[0], "\r\n"); diff --git a/Marlin/src/HAL/STM32F1/HAL_N32.h b/Marlin/src/HAL/STM32F1/HAL_N32.h index 719368f6f1..0a24b276e2 100644 --- a/Marlin/src/HAL/STM32F1/HAL_N32.h +++ b/Marlin/src/HAL/STM32F1/HAL_N32.h @@ -63,6 +63,21 @@ typedef struct { __IO uint32_t SAMPT3; } ADC_Module; +#if HAS_N32_CR10 + #define __IM volatile const /*! Defines 'read only' structure member permissions */ + #define __OM volatile /*! Defines 'write only' structure member permissions */ + #define __IOM volatile /*! Defines 'read / write' structure member permissions */ + typedef struct + { + __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ + __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ + __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ + __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ + } SysTick_Type; + #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ + #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ +#endif + #define NS_ADC1_BASE ((uint32_t)0x40020800) #define NS_ADC2_BASE ((uint32_t)0x40020c00) #define NS_ADC3_BASE ((uint32_t)0x40021800) diff --git a/Marlin/src/HAL/STM32F1/fastio.h b/Marlin/src/HAL/STM32F1/fastio.h index 8bb986b466..d067a62f38 100644 --- a/Marlin/src/HAL/STM32F1/fastio.h +++ b/Marlin/src/HAL/STM32F1/fastio.h @@ -30,6 +30,7 @@ #define READ(IO) (PIN_MAP[IO].gpio_device->regs->IDR & _BV32(PIN_MAP[IO].gpio_bit) ? HIGH : LOW) #define WRITE(IO,V) (PIN_MAP[IO].gpio_device->regs->BSRR = _BV32(PIN_MAP[IO].gpio_bit) << ((V) ? 0 : 16)) +#define U8G_WRITE(IO,V) ((V)?WRITE(IO,0):WRITE(IO,1)) #define TOGGLE(IO) TBI32(PIN_MAP[IO].gpio_device->regs->ODR, PIN_MAP[IO].gpio_bit) #define _GET_MODE(IO) gpio_get_mode(PIN_MAP[IO].gpio_device, PIN_MAP[IO].gpio_bit) @@ -38,13 +39,16 @@ #define _SET_OUTPUT_OD(IO) _SET_MODE(IO, GPIO_OUTPUT_OD) #define OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); WRITE(IO,V); }while(0) +#define U8G_OUT_WRITE(IO,V) do{ _SET_OUTPUT(IO); U8G_WRITE(IO,V); }while(0) #define OUT_WRITE_OD(IO,V) do{ _SET_OUTPUT_OD(IO); WRITE(IO,V); }while(0) +#define U8G_OUT_WRITE_OD(IO,V) do{ _SET_OUTPUT_OD(IO); U8G_WRITE(IO,V); }while(0) #define SET_INPUT(IO) _SET_MODE(IO, GPIO_INPUT_FLOATING) #define SET_INPUT_PULLUP(IO) _SET_MODE(IO, GPIO_INPUT_PU) #define SET_INPUT_PULLDOWN(IO) _SET_MODE(IO, GPIO_INPUT_PD) #define SET_OUTPUT(IO) OUT_WRITE(IO, LOW) #define SET_OUTPUT_OD(IO) OUT_WRITE_OD(IO, LOW) +#define U8G_SET_OUTPUT(IO) U8G_OUT_WRITE(IO, LOW) #define SET_PWM(IO) pinMode(IO, PWM) // do{ gpio_set_mode(PIN_MAP[pin].gpio_device, PIN_MAP[pin].gpio_bit, GPIO_AF_OUTPUT_PP); timer_set_mode(PIN_MAP[pin].timer_device, PIN_MAP[pin].timer_channel, TIMER_PWM); }while(0) #define SET_PWM_OD(IO) pinMode(IO, PWM_OPEN_DRAIN) diff --git a/Marlin/src/inc/Conditionals-2-LCD.h b/Marlin/src/inc/Conditionals-2-LCD.h index 847e5609d8..4d02c140b6 100644 --- a/Marlin/src/inc/Conditionals-2-LCD.h +++ b/Marlin/src/inc/Conditionals-2-LCD.h @@ -284,9 +284,17 @@ #define IS_RRD_FG_SC 1 #define NO_LCD_SDCARD - #define LCD_ST7920_DELAY_1 125 - #define LCD_ST7920_DELAY_2 125 - #define LCD_ST7920_DELAY_3 125 + + #ifdef VOXELAB_N32 + #define LCD_ST7920_DELAY_1 0 + #define LCD_ST7920_DELAY_2 80 + #define LCD_ST7920_DELAY_3 450 + #define HAS_N32_CR10 1 + #else + #define LCD_ST7920_DELAY_1 125 + #define LCD_ST7920_DELAY_2 125 + #define LCD_ST7920_DELAY_3 125 + #endif #elif ANY(ANET_FULL_GRAPHICS_LCD, CTC_A10S_A13) diff --git a/Marlin/src/lcd/dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.cpp b/Marlin/src/lcd/dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.cpp index 32911b5bf1..76fe4dc76e 100644 --- a/Marlin/src/lcd/dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.cpp +++ b/Marlin/src/lcd/dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.cpp @@ -91,11 +91,19 @@ #define ST7920_DAT(V) ((V) & 0x80) #endif -#define ST7920_SND_BIT(...) do{ \ - WRITE(ST7920_CLK_PIN, LOW); ST7920_DELAY_1; \ - WRITE(ST7920_DAT_PIN, ST7920_DAT(val)); ST7920_DELAY_2; \ - WRITE(ST7920_CLK_PIN, HIGH); ST7920_DELAY_3; \ - val <<= 1; }while(0); +#if HAS_N32_CR10 + #define ST7920_SND_BIT(...) do{ \ + U8G_WRITE(ST7920_CLK_PIN, LOW); ST7920_DELAY_1; \ + U8G_WRITE(ST7920_DAT_PIN, ST7920_DAT(val)); ST7920_DELAY_2; \ + U8G_WRITE(ST7920_CLK_PIN, HIGH); ST7920_DELAY_3; \ + val <<= 1; }while(0); +#else + #define ST7920_SND_BIT(...) do{ \ + WRITE(ST7920_CLK_PIN, LOW); ST7920_DELAY_1; \ + WRITE(ST7920_DAT_PIN, ST7920_DAT(val)); ST7920_DELAY_2; \ + WRITE(ST7920_CLK_PIN, HIGH); ST7920_DELAY_3; \ + val <<= 1; }while(0); +#endif // Optimize this code with -O3 #pragma GCC optimize (3) @@ -108,9 +116,15 @@ uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo uint8_t i, y; switch (msg) { case U8G_DEV_MSG_INIT: { - OUT_WRITE(ST7920_CS_PIN, LOW); - OUT_WRITE(ST7920_DAT_PIN, LOW); - OUT_WRITE(ST7920_CLK_PIN, HIGH); + #if HAS_N32_CR10 + U8G_OUT_WRITE(ST7920_CS_PIN, LOW); + U8G_OUT_WRITE(ST7920_DAT_PIN, LOW); + U8G_OUT_WRITE(ST7920_CLK_PIN, HIGH); + #else + OUT_WRITE(ST7920_CS_PIN, LOW); + OUT_WRITE(ST7920_DAT_PIN, LOW); + OUT_WRITE(ST7920_CLK_PIN, HIGH); + #endif ST7920_CS(); u8g_Delay(120); // Initial delay for boot up diff --git a/Marlin/src/lcd/dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.h b/Marlin/src/lcd/dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.h index f965913341..26c35f275b 100644 --- a/Marlin/src/lcd/dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.h +++ b/Marlin/src/lcd/dogm/u8g/ultralcd_st7920_u8glib_rrd_AVR.h @@ -45,8 +45,13 @@ void ST7920_SWSPI_SND_8BIT(uint8_t val); #define U8G_DELAY() DELAY_US(10) #endif -#define ST7920_CS() { WRITE(ST7920_CS_PIN, HIGH); U8G_DELAY(); } -#define ST7920_NCS() { WRITE(ST7920_CS_PIN, LOW); } +#if HAS_N32_CR10 + #define ST7920_CS() { U8G_WRITE(ST7920_CS_PIN, HIGH); U8G_DELAY(); } + #define ST7920_NCS() { U8G_WRITE(ST7920_CS_PIN, LOW); } +#else + #define ST7920_CS() { WRITE(ST7920_CS_PIN, HIGH); U8G_DELAY(); } + #define ST7920_NCS() { WRITE(ST7920_CS_PIN, LOW); } +#endif #define ST7920_SET_CMD() { ST7920_SWSPI_SND_8BIT(0xF8); U8G_DELAY(); } #define ST7920_SET_DAT() { ST7920_SWSPI_SND_8BIT(0xFA); U8G_DELAY(); } #define ST7920_WRITE_BYTE(a) { ST7920_SWSPI_SND_8BIT((uint8_t)((a)&0xF0u)); ST7920_SWSPI_SND_8BIT((uint8_t)((a)<<4U)); U8G_DELAY(); } diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h index 986c58555b..bb9d8ff8f7 100644 --- a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h @@ -82,14 +82,26 @@ // // Limit Switches // -#ifndef X_STOP_PIN - #define X_STOP_PIN PA5 -#endif -#ifndef Y_STOP_PIN - #define Y_STOP_PIN PA6 -#endif -#ifndef Z_STOP_PIN - #define Z_STOP_PIN PA7 +#if HAS_N32_CR10 + #ifndef X_STOP_PIN + #define X_STOP_PIN PA6 + #endif + #ifndef Y_STOP_PIN + #define Y_STOP_PIN PA7 + #endif + #ifndef Z_STOP_PIN + #define Z_STOP_PIN PC4 + #endif +#else + #ifndef X_STOP_PIN + #define X_STOP_PIN PA5 + #endif + #ifndef Y_STOP_PIN + #define Y_STOP_PIN PA6 + #endif + #ifndef Z_STOP_PIN + #define Z_STOP_PIN PA7 + #endif #endif #ifndef Z_MIN_PROBE_PIN @@ -106,7 +118,7 @@ // // Filament Runout Sensor // -#ifndef FIL_RUNOUT_PIN +#if !defined(FIL_RUNOUT_PIN) && !HAS_N32_CR10 #define FIL_RUNOUT_PIN PA4 // "Pulled-high" #endif @@ -148,8 +160,13 @@ // // Temperature Sensors // -#define TEMP_0_PIN PC5 // TH1 -#define TEMP_BED_PIN PC4 // TB1 +#if HAS_N32_CR10 + #define TEMP_0_PIN PA5 // TH1 + #define TEMP_BED_PIN PA4 // TB1 +#else + #define TEMP_0_PIN PC5 // TH1 + #define TEMP_BED_PIN PC4 // TB1 +#endif // // Heaters / Fans @@ -157,11 +174,20 @@ #ifndef HEATER_0_PIN #define HEATER_0_PIN PA1 // HEATER1 #endif -#ifndef HEATER_BED_PIN - #define HEATER_BED_PIN PA2 // HOT BED -#endif -#ifndef FAN0_PIN - #define FAN0_PIN PA0 // FAN +#if HAS_N32_CR10 + #ifndef HEATER_BED_PIN + #define HEATER_BED_PIN PA0 // HOT BED + #endif + #ifndef FAN0_PIN + #define FAN0_PIN PA2 // FAN + #endif +#else + #ifndef HEATER_BED_PIN + #define HEATER_BED_PIN PA2 // HOT BED + #endif + #ifndef FAN0_PIN + #define FAN0_PIN PA0 // FAN + #endif #endif #define FAN_SOFT_PWM_REQUIRED @@ -247,7 +273,21 @@ #error "Define RET6_12864_LCD or VET6_12864_LCD to select pins for the LCD with the Creality V4 controller." #endif -#if ENABLED(CR10_STOCKDISPLAY) +#if HAS_N32_CR10 + + #define LCD_PINS_RS PB12 // EXP3_07_PIN + #define LCD_PINS_EN PB15 // EXP3_08_PIN + #define LCD_PINS_D4 PB13 // EXP3_06_PIN + + #define BTN_ENC PB1 // EXP3_02_PIN Z_MIN_PROBE_PIN + #define BTN_EN1 PC6 // EXP3_03_PIN EXP3_01_PIN + #define BTN_EN2 PB14 // EXP3_05_PIN + + #ifndef HAS_PIN_27_BOARD + #define BEEPER_PIN PB0 // EXP3_01_PIN SERVO0_PIN + #endif + +#elif ENABLED(CR10_STOCKDISPLAY) #define LCD_PINS_RS EXP3_07_PIN #define LCD_PINS_EN EXP3_08_PIN From 0a2af77511ae47464aca154a1d2d28bbecc42e64 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 20 Oct 2025 04:04:37 -0400 Subject: [PATCH 2/3] make format-pins --- Marlin/src/pins/stm32f1/pins_CREALITY_V4.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h index bb9d8ff8f7..ec776fb363 100644 --- a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h @@ -275,16 +275,16 @@ #if HAS_N32_CR10 - #define LCD_PINS_RS PB12 // EXP3_07_PIN - #define LCD_PINS_EN PB15 // EXP3_08_PIN - #define LCD_PINS_D4 PB13 // EXP3_06_PIN + #define LCD_PINS_RS PB12 // EXP3_07_PIN + #define LCD_PINS_EN PB15 // EXP3_08_PIN + #define LCD_PINS_D4 PB13 // EXP3_06_PIN - #define BTN_ENC PB1 // EXP3_02_PIN Z_MIN_PROBE_PIN - #define BTN_EN1 PC6 // EXP3_03_PIN EXP3_01_PIN - #define BTN_EN2 PB14 // EXP3_05_PIN + #define BTN_ENC PB1 // EXP3_02_PIN Z_MIN_PROBE_PIN + #define BTN_EN1 PC6 // EXP3_03_PIN EXP3_01_PIN + #define BTN_EN2 PB14 // EXP3_05_PIN #ifndef HAS_PIN_27_BOARD - #define BEEPER_PIN PB0 // EXP3_01_PIN SERVO0_PIN + #define BEEPER_PIN PB0 // EXP3_01_PIN SERVO0_PIN #endif #elif ENABLED(CR10_STOCKDISPLAY) From e6b8e52f9da693e9a5149c7e2b21c1b3c0444de0 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 20 Oct 2025 20:17:41 -0400 Subject: [PATCH 3/3] remove unused --- Marlin/src/HAL/STM32F1/HAL_N32.h | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/Marlin/src/HAL/STM32F1/HAL_N32.h b/Marlin/src/HAL/STM32F1/HAL_N32.h index 0a24b276e2..719368f6f1 100644 --- a/Marlin/src/HAL/STM32F1/HAL_N32.h +++ b/Marlin/src/HAL/STM32F1/HAL_N32.h @@ -63,21 +63,6 @@ typedef struct { __IO uint32_t SAMPT3; } ADC_Module; -#if HAS_N32_CR10 - #define __IM volatile const /*! Defines 'read only' structure member permissions */ - #define __OM volatile /*! Defines 'write only' structure member permissions */ - #define __IOM volatile /*! Defines 'read / write' structure member permissions */ - typedef struct - { - __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ - __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ - __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ - __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ - } SysTick_Type; - #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ - #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ -#endif - #define NS_ADC1_BASE ((uint32_t)0x40020800) #define NS_ADC2_BASE ((uint32_t)0x40020c00) #define NS_ADC3_BASE ((uint32_t)0x40021800)