Temperature changes with smart controller.

To start off - Thank you for this fantastic software.

I have the following problem with a tri-colour setup with a single nozzle. 

With Repetier-Host I can change the temperature of Extruder1, Extruder2 and Extruder3 but  when I want to change temperatures with the Smart Controller from RepRap Discount it will only change the temperatures of Extruder1 and Extruder2. The system does not allow change of temperature of Extruder3.  I set the temperatures with the PREHEAT ABS setting. 
In the EXTRUDER setting of the controller it will show 
Extruder 1 off
Extruder 2 off
Extruder 3 off 
while one of them is  ON

I used the online firmware configuration tool

Comments

  • That is a misunderstanding. Correctly these functions should be called "Turn Extruder 1 off". The tempertaure setting should be above these 3 off buttons.
  • Thank you Repetier for clearing up the misunderstanding about the "Turn Extruder 1 off"

    I still have the problem of not being able to change the temperature of Extruder3
    The other two and the Bed temperature can be changed but not Extruder 3

    Bed temp: 0° C  // I can change this to 30-120
    Temp. 1: 0° C // I can change this 170-275
    Temp. 2: 0° C // I can can change this temp.170-275
    *Temp. 3:        0° C // system will not allow any changes to be made to this temperature. It stays non-responsive after //selection

    From Quick settings I can select  PREHEAT ABS and it will set all three temperatures to 240°C
    I can turn all three extruders off as well.
    Once off I can only change Bed Temp. ,Temp. 1 and Temp2 
    Temp 3 stays dead and non -responsive

    In Repetier -Host I do not have this problem - it is only on the smart controller where I have this problem.


  • Ok, I see that function was never implemented and since noone has 3 extruders no one noticed:-) To fix it search in ui.cpp for

        case UI_ACTION_EXTRUDER1_TEMP:
    #if NUM_EXTRUDER>1
        {
            int tmp = (int)extruder[1].tempControl.targetTemperatureC;
            if(tmp < UI_SET_MIN_EXTRUDER_TEMP) tmp = 0;
            tmp += increment;
            if(tmp == 1) tmp = UI_SET_MIN_EXTRUDER_TEMP;
            if(tmp < UI_SET_MIN_EXTRUDER_TEMP) tmp = 0;
            else if(tmp > UI_SET_MAX_EXTRUDER_TEMP) tmp = UI_SET_MAX_EXTRUDER_TEMP;
            Extruder::setTemperatureForExtruder(tmp,1);
        }
        break;

    and then add the following code.

        case UI_ACTION_EXTRUDER2_TEMP:
    #if NUM_EXTRUDER>2
        {
            int tmp = (int)extruder[2].tempControl.targetTemperatureC;
            if(tmp < UI_SET_MIN_EXTRUDER_TEMP) tmp = 0;
            tmp += increment;
            if(tmp == 1) tmp = UI_SET_MIN_EXTRUDER_TEMP;
            if(tmp < UI_SET_MIN_EXTRUDER_TEMP) tmp = 0;
            else if(tmp > UI_SET_MAX_EXTRUDER_TEMP) tmp = UI_SET_MAX_EXTRUDER_TEMP;
            Extruder::setTemperatureForExtruder(tmp,1);
        }
        break;

    I hope it works. Will be part of the next 092 update.
  • Thank you!!!!!!
  • It is not working - maybe something else to change or add as well.
  • Shit yes, line

    Extruder::setTemperatureForExtruder(tmp,1);

    whould be

    Extruder::setTemperatureForExtruder(tmp,2);

    I guess since it is the 3rd extruder we wanted to change, not the second one.

  • Great!!!!! It is working - Thank You!!!!
Sign In or Register to comment.