Merge pull request #479 from MStohn/thermocouple
BUGFIXES for temperature.cpp / add RUMBA thermocouple support
This commit is contained in:
commit
86405cdd11
2 changed files with 58 additions and 13 deletions
|
@ -1053,17 +1053,56 @@
|
||||||
#define PS_ON_PIN 45
|
#define PS_ON_PIN 45
|
||||||
#define KILL_PIN 46
|
#define KILL_PIN 46
|
||||||
|
|
||||||
|
#if (TEMP_SENSOR_0==0)
|
||||||
|
#define TEMP_0_PIN -1
|
||||||
|
#define HEATER_0_PIN -1
|
||||||
|
#else
|
||||||
#define HEATER_0_PIN 2 // EXTRUDER 1
|
#define HEATER_0_PIN 2 // EXTRUDER 1
|
||||||
#define HEATER_1_PIN 3 // EXTRUDER 2
|
#if (TEMP_SENSOR_0==-1)
|
||||||
#define HEATER_2_PIN 6 // EXTRUDER 3
|
#define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used
|
||||||
//optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4
|
#else
|
||||||
#define HEATER_BED_PIN 9 // BED
|
#define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define TEMP_0_PIN 15 // ANALOG NUMBERING
|
#if (TEMP_SENSOR_1==0)
|
||||||
#define TEMP_1_PIN 14 // ANALOG NUMBERING
|
#define TEMP_1_PIN -1
|
||||||
#define TEMP_2_PIN 13 // ANALOG NUMBERING
|
#define HEATER_1_PIN -1
|
||||||
//optional for extruder 4 or chamber: #define TEMP_2_PIN 12 // ANALOG NUMBERING
|
#else
|
||||||
#define TEMP_BED_PIN 11 // ANALOG NUMBERING
|
#define HEATER_1_PIN 3 // EXTRUDER 2
|
||||||
|
#if (TEMP_SENSOR_1==-1)
|
||||||
|
#define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used
|
||||||
|
#else
|
||||||
|
#define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (TEMP_SENSOR_2==0)
|
||||||
|
#define TEMP_2_PIN -1
|
||||||
|
#define HEATER_2_PIN -1
|
||||||
|
#else
|
||||||
|
#define HEATER_2_PIN 6 // EXTRUDER 3
|
||||||
|
#if (TEMP_SENSOR_2==-1)
|
||||||
|
#define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple
|
||||||
|
#else
|
||||||
|
#define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used
|
||||||
|
//optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4
|
||||||
|
|
||||||
|
#if (TEMP_SENSOR_BED==0)
|
||||||
|
#define TEMP_BED_PIN -1
|
||||||
|
#define HEATER_BED_PIN -1
|
||||||
|
#else
|
||||||
|
#define HEATER_BED_PIN 9 // BED
|
||||||
|
#if (TEMP_SENSOR_BED==-1)
|
||||||
|
#define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple
|
||||||
|
#else
|
||||||
|
#define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SDPOWER -1
|
#define SDPOWER -1
|
||||||
#define SDSS 53
|
#define SDSS 53
|
||||||
|
|
|
@ -571,6 +571,12 @@ static void updateTemperaturesFromRawValues()
|
||||||
|
|
||||||
void tp_init()
|
void tp_init()
|
||||||
{
|
{
|
||||||
|
#if (MOTHERBOARD == 80) && ((TEMP_SENSOR_0==-1)||(TEMP_SENSOR_1==-1)||(TEMP_SENSOR_2==-1)||(TEMP_SENSOR_BED==-1))
|
||||||
|
//disable RUMBA JTAG in case the thermocouple extension is plugged on top of JTAG connector
|
||||||
|
MCUCR=(1<<JTD);
|
||||||
|
MCUCR=(1<<JTD);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Finish init of mult extruder arrays
|
// Finish init of mult extruder arrays
|
||||||
for(int e = 0; e < EXTRUDERS; e++) {
|
for(int e = 0; e < EXTRUDERS; e++) {
|
||||||
// populate with the first value
|
// populate with the first value
|
||||||
|
@ -647,7 +653,7 @@ void tp_init()
|
||||||
#if TEMP_2_PIN < 8
|
#if TEMP_2_PIN < 8
|
||||||
DIDR0 |= 1 << TEMP_2_PIN;
|
DIDR0 |= 1 << TEMP_2_PIN;
|
||||||
#else
|
#else
|
||||||
DIDR2 = 1<<(TEMP_2_PIN - 8);
|
DIDR2 |= 1<<(TEMP_2_PIN - 8);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#if (TEMP_BED_PIN > -1)
|
#if (TEMP_BED_PIN > -1)
|
||||||
|
@ -689,7 +695,7 @@ void tp_init()
|
||||||
|
|
||||||
#if (EXTRUDERS > 1) && defined(HEATER_1_MINTEMP)
|
#if (EXTRUDERS > 1) && defined(HEATER_1_MINTEMP)
|
||||||
minttemp[1] = HEATER_1_MINTEMP;
|
minttemp[1] = HEATER_1_MINTEMP;
|
||||||
while(analog2temp(minttemp_raw[1], 1) > HEATER_1_MINTEMP) {
|
while(analog2temp(minttemp_raw[1], 1) < HEATER_1_MINTEMP) {
|
||||||
#if HEATER_1_RAW_LO_TEMP < HEATER_1_RAW_HI_TEMP
|
#if HEATER_1_RAW_LO_TEMP < HEATER_1_RAW_HI_TEMP
|
||||||
minttemp_raw[1] += OVERSAMPLENR;
|
minttemp_raw[1] += OVERSAMPLENR;
|
||||||
#else
|
#else
|
||||||
|
@ -710,7 +716,7 @@ void tp_init()
|
||||||
|
|
||||||
#if (EXTRUDERS > 2) && defined(HEATER_2_MINTEMP)
|
#if (EXTRUDERS > 2) && defined(HEATER_2_MINTEMP)
|
||||||
minttemp[2] = HEATER_2_MINTEMP;
|
minttemp[2] = HEATER_2_MINTEMP;
|
||||||
while(analog2temp(minttemp_raw[2], 2) > HEATER_2_MINTEMP) {
|
while(analog2temp(minttemp_raw[2], 2) < HEATER_2_MINTEMP) {
|
||||||
#if HEATER_2_RAW_LO_TEMP < HEATER_2_RAW_HI_TEMP
|
#if HEATER_2_RAW_LO_TEMP < HEATER_2_RAW_HI_TEMP
|
||||||
minttemp_raw[2] += OVERSAMPLENR;
|
minttemp_raw[2] += OVERSAMPLENR;
|
||||||
#else
|
#else
|
||||||
|
|
Reference in a new issue