mirror of
https://github.com/wagiminator/ATmega-Soldering-Station.git
synced 2025-08-09 13:09:11 +03:00
Added support for P-Channel Mosfets (by TaaraLabs)
This commit is contained in:
@@ -54,7 +54,10 @@
|
|||||||
#define VERSION "v1.8"
|
#define VERSION "v1.8"
|
||||||
|
|
||||||
// Type of MOSFET
|
// Type of MOSFET
|
||||||
#define P_MOSFET false // false for N-Channel MOSFET and true for P-Channel MOSFET
|
#define N_MOSFET // P_MOSFET or N_MOSFET
|
||||||
|
|
||||||
|
// Type of OLED Controller
|
||||||
|
#define SSD1306 // SSD1306 or SH1106
|
||||||
|
|
||||||
// Type of rotary encoder
|
// Type of rotary encoder
|
||||||
#define ROTARY_TYPE 1 // 0: 2 increments/step; 1: 4 increments/step (default)
|
#define ROTARY_TYPE 1 // 0: 2 increments/step; 1: 4 increments/step (default)
|
||||||
@@ -102,14 +105,16 @@
|
|||||||
#define EEPROM_IDENT 0xE76C // to identify if EEPROM was written by this program
|
#define EEPROM_IDENT 0xE76C // to identify if EEPROM was written by this program
|
||||||
|
|
||||||
// MOSFET control definitions
|
// MOSFET control definitions
|
||||||
#ifdef P_MOSFET // P-Channel MOSFET
|
#if defined (P_MOSFET) // P-Channel MOSFET
|
||||||
#define HEATER_ON 255
|
#define HEATER_ON 255
|
||||||
#define HEATER_OFF 0
|
#define HEATER_OFF 0
|
||||||
#define HEATER_PWM 255 - Output
|
#define HEATER_PWM 255 - Output
|
||||||
#elif // N-Channel MOSFET
|
#elif defined (N_MOSFET) // N-Channel MOSFET
|
||||||
#define HEATER_ON 0
|
#define HEATER_ON 0
|
||||||
#define HEATER_OFF 255
|
#define HEATER_OFF 255
|
||||||
#define HEATER_PWM Output
|
#define HEATER_PWM Output
|
||||||
|
#else
|
||||||
|
#error Wrong MOSFET type!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Define the aggressive and conservative PID tuning parameters
|
// Define the aggressive and conservative PID tuning parameters
|
||||||
@@ -190,10 +195,14 @@ uint8_t SensorCounter = 255;
|
|||||||
// Specify variable pointers and initial PID tuning parameters
|
// Specify variable pointers and initial PID tuning parameters
|
||||||
PID ctrl(&Input, &Output, &Setpoint, aggKp, aggKi, aggKd, REVERSE);
|
PID ctrl(&Input, &Output, &Setpoint, aggKp, aggKi, aggKd, REVERSE);
|
||||||
|
|
||||||
// Setup u8g object: uncomment according to the OLED used
|
// Setup u8g object depending on OLED controller
|
||||||
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);
|
#if defined (SSD1306)
|
||||||
//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_FAST|U8G_I2C_OPT_NO_ACK);
|
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);
|
||||||
|
#elif defined (SH1106)
|
||||||
|
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_FAST|U8G_I2C_OPT_NO_ACK);
|
||||||
|
#else
|
||||||
|
#error Wrong OLED controller type!
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
@@ -820,7 +829,7 @@ void InputNameScreen() {
|
|||||||
beep(); delay (10);
|
beep(); delay (10);
|
||||||
}
|
}
|
||||||
TipName[CurrentTip][TIPNAMELENGTH - 1] = 0;
|
TipName[CurrentTip][TIPNAMELENGTH - 1] = 0;
|
||||||
return value;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user