🩺 Assert FAN_SOFT_PWM where required (#23383, #23477)

This commit is contained in:
Scott Lahteine
2021-12-29 04:17:41 -06:00
committed by Scott Lahteine
parent 1552c6d2a5
commit 5a9635aa58
19 changed files with 50 additions and 35 deletions

View File

@ -1995,8 +1995,12 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
#endif
#endif
#if HAS_FAN0 && CONTROLLER_FAN_PIN == FAN_PIN
#error "You cannot set CONTROLLER_FAN_PIN equal to FAN_PIN."
#if HAS_FAN0
#if CONTROLLER_FAN_PIN == FAN_PIN
#error "You cannot set CONTROLLER_FAN_PIN equal to FAN_PIN."
#elif ENABLED(FAN_SOFT_PWM_REQUIRED) && DISABLED(FAN_SOFT_PWM)
#error "FAN_SOFT_PWM is required. Enable it to continue."
#endif
#endif
#if ENABLED(USE_CONTROLLER_FAN)

View File

@ -121,7 +121,7 @@
#define CONTROLLER_FAN_PIN FAN2_PIN
#endif
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
//
// Misc. Functions

View File

@ -93,7 +93,7 @@
#define FAN_PIN PB10
#endif
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
//
// Temperature Sensors

View File

@ -113,7 +113,7 @@
#define HEATER_BED_PIN PC9 // HOT BED
#define FAN_PIN PC6 // FAN
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
#define CONTROLLER_FAN_PIN PC7

View File

@ -87,7 +87,7 @@
#define FAN_PIN PG14 // MAIN BOARD FAN
#endif
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
//
// Temperature Sensors

View File

@ -143,9 +143,7 @@
#ifndef FAN_PIN
#define FAN_PIN PA0 // FAN
#endif
#if PIN_EXISTS(FAN)
#define FAN_SOFT_PWM
#endif
#define FAN_SOFT_PWM_REQUIRED
//
// SD Card

View File

@ -144,7 +144,7 @@
#define HEATER_BED_PIN PA1 // HOT BED
#define FAN_PIN PA2 // FAN
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
//
// SD Card

View File

@ -97,7 +97,7 @@
// Heaters / Fans
//
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
//
// SD Card

View File

@ -38,10 +38,9 @@
//#define DISABLE_DEBUG
#define DISABLE_JTAG
//#define ENABLE_SPI3
#define FLASH_EEPROM_EMULATION
#define FAN_SOFT_PWM
#if ENABLED(FLASH_EEPROM_EMULATION)
#if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
#define FLASH_EEPROM_EMULATION
#define EEPROM_PAGE_SIZE (0x800U) // 2KB
#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
#define MARLIN_EEPROM_SIZE (EEPROM_PAGE_SIZE)
@ -118,6 +117,8 @@
#endif
#endif
#define FAN_SOFT_PWM_REQUIRED
//
// Misc. Functions
//

View File

@ -30,10 +30,12 @@
//
// Flash EEPROM Emulation
//
#define FLASH_EEPROM_EMULATION
#define EEPROM_PAGE_SIZE 0x800 // 2KB
#define EEPROM_START_ADDRESS (0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE) // 256K firmware space
#define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE
#if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
#define FLASH_EEPROM_EMULATION
#define EEPROM_PAGE_SIZE 0x800 // 2KB
#define EEPROM_START_ADDRESS (0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE) // 256K firmware space
#define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE
#endif
//
// Servos

View File

@ -89,14 +89,19 @@
#define HEATER_BED_PIN PA8 // pin 67 (Hot Bed Mosfet)
#define FAN_PIN PA15 // pin 77 (4cm Fan)
#ifdef MAPLE_STM32F1
#define FAN_SOFT_PWM // Required to avoid issues with heating or STLink
#define FAN_MIN_PWM 35 // Fan will not start in 1-30 range
#define FAN_MAX_PWM 255
#if TERN(MAPLE_STM32F1, ENABLED(FAN_SOFT_PWM), ENABLED(FAST_PWM_FAN)) && FAN_MIN_PWM < 5 // Required to avoid issues with heating or STLink
#error "FAN_MIN_PWM must be 5 or higher." // Fan will not start in 1-30 range
#endif
#if defined(MAPLE_STM32F1) || DISABLED(FAST_PWM_FAN) // STM32 HAL required to allow TIMER2 Hardware PWM
#define FAN_SOFT_PWM_REQUIRED
#else
#define FAST_PWM_FAN // STM32 Variant allow TIMER2 Hardware PWM
#define FAN_MIN_PWM 5
#define FAN_MAX_PWM 255
#if FAST_PWM_FAN_FREQUENCY <= 1000 // Default 1000 is noisy, max 65K (uint16)
#error "FAST_PWM_FAN_FREQUENCY must be greater than 1000."
#elif FAST_PWM_FAN_FREQUENCY > 65535
#error "FAST_PWM_FAN_FREQUENCY must be less than 65536."
#endif
#endif
//#define BEEPER_PIN PD13 // pin 60 (Servo PWM output 5V/GND on Board V0G+) made for BL-Touch sensor

View File

@ -91,7 +91,7 @@
#endif
#define FAN1_PIN PD13
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
//
// Temperature Sensors

View File

@ -45,7 +45,9 @@
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
#if NO_EEPROM_SELECTED
#define FLASH_EEPROM_EMULATION
#endif
#if ENABLED(FLASH_EEPROM_EMULATION)
// SoC Flash (framework-arduinoststm32-maple/STM32F1/libraries/EEPROM/EEPROM.h)
#define EEPROM_START_ADDRESS (0x8000000UL + (512 * 1024) - 2 * EEPROM_PAGE_SIZE)

View File

@ -29,8 +29,10 @@
#define BOARD_INFO_NAME "Artillery Ruby"
#define FLASH_EEPROM_EMULATION
//#define I2C_EEPROM
#if NO_EEPROM_SELECTED
#define FLASH_EEPROM_EMULATION
//#define I2C_EEPROM
#endif
//#define E2END 0xFFF // 4KB
#define HAL_TIMER_RATE F_CPU

View File

@ -119,7 +119,7 @@
#define FAN2_PIN PE4
#define FAN3_PIN PE5
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
// Neopixel Rings
#define NEOPIXEL_PIN PC7

View File

@ -35,7 +35,7 @@
// Use soft PWM for fans - PWM is not working properly when paired with STM32 Arduino Core v1.7.0
// This can be removed when Core version is updated and PWM behaviour is fixed.
#define FAN_SOFT_PWM
#define FAN_SOFT_PWM_REQUIRED
//
// Configure Timers