Added option to increase the FAN PWM frequency.
This commit is contained in:
parent
6a5a34e0ff
commit
1874cb71a6
@ -8,7 +8,7 @@
|
||||
//User specified version info of THIS file to display in [Pronterface, etc] terminal window during startup.
|
||||
//Implementation of an idea by Prof Braino to inform user that any changes made
|
||||
//to THIS file by the user have been successfully uploaded into firmware.
|
||||
#define STRING_VERSION_CONFIG_H "2012-02-25" //Personal revision number for changes to THIS file.
|
||||
#define STRING_VERSION_CONFIG_H "2012-05-02" //Personal revision number for changes to THIS file.
|
||||
#define STRING_CONFIG_H_AUTHOR "erik" //Who made the changes.
|
||||
|
||||
// This determines the communication speed of the printer
|
||||
@ -230,6 +230,9 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
|
||||
#define FAST_PWM_FAN
|
||||
|
||||
// M240 Triggers a camera by emulating a Canon RC-1 Remote
|
||||
// Data from: http://www.doc-diy.net/photo/rc-1_hacked/
|
||||
// #define PHOTOGRAPH_PIN 23
|
||||
|
@ -170,6 +170,10 @@ bool IsStopped();
|
||||
void enquecommand(const char *cmd); //put an ascii command at the end of the current buffer.
|
||||
void prepare_arc_move(char isclockwise);
|
||||
|
||||
#ifdef FAST_PWM_FAN
|
||||
void setPwmFrequency(uint8_t pin, int val);
|
||||
#endif
|
||||
|
||||
#ifndef CRITICAL_SECTION_START
|
||||
#define CRITICAL_SECTION_START unsigned char _sreg = SREG; cli();
|
||||
#define CRITICAL_SECTION_END SREG = _sreg;
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "watchdog.h"
|
||||
#include "EEPROMwrite.h"
|
||||
#include "language.h"
|
||||
#include "pins_arduino.h"
|
||||
|
||||
#define VERSION_STRING "1.0.0 RC2"
|
||||
|
||||
@ -1512,4 +1513,74 @@ void Stop()
|
||||
|
||||
bool IsStopped() { return Stopped; };
|
||||
|
||||
#ifdef FAST_PWM_FAN
|
||||
void setPwmFrequency(uint8_t pin, int val)
|
||||
{
|
||||
val &= 0x07;
|
||||
switch(digitalPinToTimer(pin))
|
||||
{
|
||||
|
||||
#if defined(TCCR0A)
|
||||
case TIMER0A:
|
||||
case TIMER0B:
|
||||
TCCR0B &= ~(CS00 | CS01 | CS02);
|
||||
TCCR0B |= val;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR1A)
|
||||
case TIMER1A:
|
||||
case TIMER1B:
|
||||
TCCR1B &= ~(CS10 | CS11 | CS12);
|
||||
TCCR1B |= val;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR2)
|
||||
case TIMER2:
|
||||
case TIMER2:
|
||||
TCCR2 &= ~(CS10 | CS11 | CS12);
|
||||
TCCR2 |= val;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR2A)
|
||||
case TIMER2A:
|
||||
case TIMER2B:
|
||||
TCCR2B &= ~(CS20 | CS21 | CS22);
|
||||
TCCR2B |= val;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR3A)
|
||||
case TIMER3A:
|
||||
case TIMER3B:
|
||||
case TIMER3C:
|
||||
TCCR3B &= ~(CS30 | CS31 | CS32);
|
||||
TCCR3B |= val;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR4A)
|
||||
case TIMER4A:
|
||||
case TIMER4B:
|
||||
case TIMER4C:
|
||||
TCCR4B &= ~(CS40 | CS41 | CS42);
|
||||
TCCR4B |= val;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR5A)
|
||||
case TIMER5A:
|
||||
case TIMER5B:
|
||||
case TIMER5C:
|
||||
TCCR5B &= ~(CS50 | CS51 | CS52);
|
||||
TCCR5B |= val;
|
||||
break;
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -559,6 +559,9 @@ void tp_init()
|
||||
#endif
|
||||
#if (FAN_PIN > -1)
|
||||
SET_OUTPUT(FAN_PIN);
|
||||
#ifdef FAST_PWM_FAN
|
||||
setPwmFrequency(FAN_PIN, 1); // No prescaling. Pwm frequency = F_CPU/256/8
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HEATER_0_USES_MAX6675
|
||||
|
Loading…
Reference in New Issue
Block a user