Added support for P-Channel Mosfets (by TaaraLabs)

This commit is contained in:
wagiminator
2021-04-05 12:12:59 +02:00
parent b8eaaba48f
commit 9aa9171686

View File

@@ -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;
} }