This topic is to explain the M142 P1 R35 S40 line that is in in the machine_start_code TWICE and the filament start code ONCE.
Backstory: Brand new X1C was not turning on chamber fan automatically after updating to latest firmware (01.08.02) despite bed temp being >55 and using PLA. I discovered, through trial and error, that the M142 P1 R35 S40 line, which was located in the three before-mentioned places, had something to do with it.
Issue: Chamber fan not turning on automatically
Experiment: When I removed the line entirely from all three places, the behavior of the chamber fan was like the old days (two firmwares ago). Then I played around more. I changed the RXX (âR35â default), and found it represented chamber temp. If my chamber temp was below, the fans wouldnât turn on and if it was above, the fan would turn on, give the rest of the start code (bed temp parameter â>55â) was met. HOWEVER, I found then that the chamber fan would turn on in increments as the chamber temp rose. This confirmed my suspicions that the M142 part of the line was a firmware reference. Itâs a type of code used to reference an internal firmware line or set of lines and activate them, which explains the differing behavior between removing the line completely and changing the chamber temp (RXX/R35).
Summary:
Two firmwares ago, this code didnât exist and what it referred to didnât exist, and without itâs reference the chamber fan would start at 60-70% right at the time of reaching the set temp. However, now that the code exists, it aims for a 35 degree (âR35â) chamber temp. You have three options: 1) Leave as is, 2) Remove the M142 line entirely, or 3) or set a different temp for the RXX (default R35) figure. If you set a different temp for the RXX figure, it will incrementally increase chamber fan speed after reaching the desired temp at different, unspecified stages of the chamber temp. This means itâs controlled at this level 100% by firmware. If you want to not use this at all, and have the fan on from get-go (set BED temp [55 by default]), just delete or comment out line.
NOTE: The P1S has this code too. However, it is N/A for the P1S since the P1S has no chamber sensor.
Code breakdown:
M142 P1 R35 S40
M142: Firmware node reference and activation
P1: Parts cooling fan (presence to activate to aid cooling hotend)
R35: Set Chamber Temp
S40: Speed of fan