⚗️ Use pwm_set_duty over analogWrite to set PWM (#23048)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
		@@ -22,18 +22,18 @@
 | 
			
		||||
#ifdef TARGET_LPC1768
 | 
			
		||||
 | 
			
		||||
#include "../../inc/MarlinConfigPre.h"
 | 
			
		||||
 | 
			
		||||
#if NEEDS_HARDWARE_PWM // Specific meta-flag for features that mandate PWM
 | 
			
		||||
 | 
			
		||||
#include <pwm.h>
 | 
			
		||||
 | 
			
		||||
void set_pwm_frequency(const pin_t pin, int f_desired) {
 | 
			
		||||
  LPC176x::pwm_set_frequency(pin, f_desired);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void set_pwm_duty(const pin_t pin, const uint16_t v, const uint16_t v_size/*=255*/, const bool invert/*=false*/) {
 | 
			
		||||
  LPC176x::pwm_write_ratio(pin, invert ? 1.0f - (float)v / v_size : (float)v / v_size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif // NEEDS_HARDWARE_PWM
 | 
			
		||||
#if NEEDS_HARDWARE_PWM // Specific meta-flag for features that mandate PWM
 | 
			
		||||
 | 
			
		||||
  void set_pwm_frequency(const pin_t pin, int f_desired) {
 | 
			
		||||
    LPC176x::pwm_set_frequency(pin, f_desired);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif // TARGET_LPC1768
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user