• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Issue with Heater 1 Predicted Maximum Temperature Warning

Scheduled Pinned Locked Moved
General Discussion
4
15
458
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    R006
    last edited by 5 Jul 2024, 09:59

    hey,
    i am using Duet 2 wifi with RRF 3.5.2 rc1.

    Upon powering on the machine, I consistently encounter a warning stating that Heater 1 has reached a predicted maximum temperature of 589°C.

    Could you please provide detailed steps or recommendations for troubleshooting this specific warning?

    @dc42 @Phaedrux

    undefined 1 Reply Last reply 5 Jul 2024, 10:11 Reply Quote 0
    • undefined
      droftarts administrators @R006
      last edited by 5 Jul 2024, 10:11

      @R006 The warning message is just that, saying that the hot end heater can potentially get very hot, based on the model parameters. Not an error, but it shouldn't be ignored that you hot end heater is powerful, with the potential to melt the hot end.

      Ian

      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

      undefined 1 Reply Last reply 5 Jul 2024, 10:16 Reply Quote 0
      • undefined
        R006 @droftarts
        last edited by R006 7 May 2024, 10:23 5 Jul 2024, 10:16

        @droftarts
        Ok.
        So this will not affect the printing or the machine?
        modal parameters means PID parameter?

        undefined 1 Reply Last reply 5 Jul 2024, 13:44 Reply Quote 0
        • undefined
          droftarts administrators @R006
          last edited by 5 Jul 2024, 13:44

          @R006 said in Issue with Heater 1 Predicted Maximum Temperature Warning:

          So this will not affect the printing or the machine?

          No, it's just a warning to say if you set it to a high temperature, while turning off limits such as M143 and M570, or the heater suffers from thermal runaway (possibly if there's a wiring fault), things are going to get very hot!

          Ian

          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

          undefined 1 Reply Last reply 6 Jul 2024, 08:45 Reply Quote 1
          • undefined
            R006 @droftarts
            last edited by R006 7 Jun 2024, 08:46 6 Jul 2024, 08:45

            @droftarts
            okay,
            Is there any way to re-solved this (like electronic end)?

            undefined 1 Reply Last reply 6 Jul 2024, 09:10 Reply Quote 0
            • undefined
              droftarts administrators @R006
              last edited by 6 Jul 2024, 09:10

              @R006 Can you post the exact error message? I misread your first post, where you said:

              Heater 1 has reached a predicted ...

              The usual error message is something like:

              Warning: Heater 1 predicted maximum temperature at full power is 589°C

              Obviously these are two quite different things. You should only get the message at startup. As far as I'm aware there's no way to disable it. It's just a warning. The only way to avoid it is to fit a lower power heater, and retune the heater.

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              undefined 1 Reply Last reply 6 Jul 2024, 09:11 Reply Quote 1
              • undefined
                R006 @droftarts
                last edited by 6 Jul 2024, 09:11

                @droftarts
                Warning: Heater 1 predicted maximum temperature at full power is 589°C
                okay

                1 Reply Last reply Reply Quote 0
                • undefined
                  Phaedrux Moderator
                  last edited by 8 Jul 2024, 20:33

                  The warning is telling you what temperature it calculates as the maximum that could be reached in a failure condition where power was stuck on. It's up to you do mitigate that with a thermal fuse that could physically cut power to the heater when a temperature has been reached. They usually only cost a few cents and are used in everyday appliances that have heaters like kettles or toasters.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  undefined 1 Reply Last reply 24 Jul 2024, 09:10 Reply Quote 1
                  • undefined
                    R006 @Phaedrux
                    last edited by 24 Jul 2024, 09:10

                    @Phaedrux @droftarts :

                    thank you for the clarification. I will try for fuse, before that I have couple of questions more:

                    1. If this warning appears, then it must appear every time for that machine or heater , right ?
                    2. Is it possible to reduce "S" value in M307, so that it never uses 100% PWM & may not cause this effect?

                    note: My concerns is to remove this warning, so that client does not mis interpret this as a problem with the extruder heating.

                    undefined 1 Reply Last reply 24 Jul 2024, 10:14 Reply Quote 0
                    • undefined
                      droftarts administrators @R006
                      last edited by 24 Jul 2024, 10:14

                      @R006 said in Issue with Heater 1 Predicted Maximum Temperature Warning:

                      1. If this warning appears, then it must appear every time for that machine or heater , right ?

                      As far as I know, there's no way to remove the warning message. However, it only shows at startup, and as it is a warning, it will disappear after 5 seconds. And you will only see it on the PanelDue or in DWC if you are already connected.

                      1. Is it possible to reduce "S" value in M307, so that it never uses 100% PWM & may not cause this effect?

                      That may remove the warning (though I'm not sure it will), but then your heater will take a lot longer to heat up, as it is using less power. It also doesn't protect you from a MOSFET or wiring failure, where the hot end would receive 100% power, and hit the temperature predicted.

                      The only real way around this is to fit a less powerful heater. But then, again, it will take longer to heat up.

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                      undefined 1 Reply Last reply 24 Jul 2024, 11:12 Reply Quote 1
                      • undefined
                        R006 @droftarts
                        last edited by 24 Jul 2024, 11:12

                        @droftarts
                        Okay,
                        I have two machine with same heater. but this warning message appears only in one machine. heater watt is 50.
                        So can i do something with its resistor value.

                        undefined undefined 2 Replies Last reply 25 Jul 2024, 06:17 Reply Quote 0
                        • undefined
                          deckingman @R006
                          last edited by 25 Jul 2024, 06:17

                          @R006 If you get a warning that a heater could potentially reach a dangerous temperature, then the safest way to address this is to use a less powerful heater. Then if say a MOSFET failed, the heater would get hot, but not dangerously so.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            droftarts administrators @R006
                            last edited by 25 Jul 2024, 09:36

                            @R006 Are both machines running the same firmware version? Check in config.g what the M307 command is for each heater; they are probably different. If you have M501 in config.g, also check config-override.g for M307.

                            The code for the warning is here: https://github.com/Duet3D/RepRapFirmware/blob/1f1ce4c1adbce5bc32e141a1940c697b71e02c22/src/Heating/Heater.cpp#L237

                            The firmware makes a prediction, based on M307 parameters, what the highest temperature is. If this is higher than the maximum heater temperature (set by M143) - ambient temperature, then multiplied by 1.5 plus 50, you get the warning.

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            undefined 1 Reply Last reply 19 Sept 2024, 05:41 Reply Quote 0
                            • undefined
                              R006 @droftarts
                              last edited by R006 19 Sept 2024, 05:41

                              @droftarts
                              Thank you.
                              After changing the 50W heater to a 40W heater, the warning no longer appears on one machine, but it should still be showing on the other machine. Now, I want to add a comment about this in RRF 3.4b3, but I am encountering multiple errors.

                              Building file: ../src/GPIO/GpOutPort.cpp
                              Building file: ../src/GCodes/GCodeBuffer/BinaryParser.cpp
                              Invoking: Cross G++ Compiler
                              Invoking: Cross G++ Compiler
                              arm-none-eabi-g++ -std=gnu++17 -D__SAME70Q20B__ -DRTOS -DDUET3_V06 -D_XOPEN_SOURCE -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\common\utils" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\cmsis\same70\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\arm\CMSIS\5.4.0\CMSIS\Core\Include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\SAME70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\preprocessor" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\header_files" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\drivers" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Hardware\SAME70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking\LwipEthernet\Lwip" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking\LwipEthernet\Lwip\src\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\FreeRTOS\src\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\FreeRTOS\src\portable\GCC\ARM_CM7\r0p1" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RRFLibraries\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CANlib\src" -O2 -Wall -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -mno-unaligned-access -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fexceptions -nostdlib -Wundef -Wdouble-promotion -Werror=return-type -Wsuggest-override -fsingle-precision-constant "-Wa,-ahl=GpOutPort.s" -fstack-usage -MMD -MP -MF"src/GPIO/GpOutPort.d" -MT"src/GPIO/GpOutPort.o" -o "src/GPIO/GpOutPort.o" "../src/GPIO/GpOutPort.cpp"
                              arm-none-eabi-g++ -std=gnu++17 -D__SAME70Q20B__ -DRTOS -DDUET3_V06 -D_XOPEN_SOURCE -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\common\utils" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\cmsis\same70\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\arm\CMSIS\5.4.0\CMSIS\Core\Include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\SAME70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\preprocessor" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\header_files" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\drivers" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Hardware\SAME70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking\LwipEthernet\Lwip" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking\LwipEthernet\Lwip\src\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\FreeRTOS\src\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\FreeRTOS\src\portable\GCC\ARM_CM7\r0p1" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RRFLibraries\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CANlib\src" -O2 -Wall -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -mno-unaligned-access -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fexceptions -nostdlib -Wundef -Wdouble-promotion -Werror=return-type -Wsuggest-override -fsingle-precision-constant "-Wa,-ahl=BinaryParser.s" -fstack-usage -MMD -MP -MF"src/GCodes/GCodeBuffer/BinaryParser.d" -MT"src/GCodes/GCodeBuffer/BinaryParser.o" -o "src/GCodes/GCodeBuffer/BinaryParser.o" "../src/GCodes/GCodeBuffer/BinaryParser.cpp"
                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void SoftwareReset(SoftwareResetReason, const uint32_t*)':
                              ../src/Hardware/ExceptionHandlers.cpp:86:9: error: 'ResetProcessor' was not declared in this scope
                              Finished building: ../src/Hardware/I2C.cpp
                              86 | ResetProcessor();
                              | ^~~~~~~~~~~~~~
                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void OutOfMemoryHandler()':
                              ../src/Hardware/ExceptionHandlers.cpp:92:57: error: 'GetStackPointer' was not declared in this scope
                              92 | SoftwareReset(SoftwareResetReason::outOfMemory, GetStackPointer());
                              | ^~~~~~~~~~~~~~~
                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void Terminate()':
                              ../src/Hardware/ExceptionHandlers.cpp:286:61: error: 'GetStackPointer' was not declared in this scope
                              286 | SoftwareReset(SoftwareResetReason::terminateCalled, GetStackPointer());
                              | ^~~~~~~~~~~~~~~

                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void __cxa_pure_virtual()':
                              ../src/Hardware/ExceptionHandlers.cpp:296:66: error: 'GetStackPointer' was not declared in this scope
                              296 | SoftwareReset(SoftwareResetReason::pureOrDeletedVirtual, GetStackPointer());
                              | ^~~~~~~~~~~~~~~
                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void __cxa_deleted_virtual()':
                              ../src/Hardware/ExceptionHandlers.cpp:301:66: error: 'GetStackPointer' was not declared in this scope
                              301 | SoftwareReset(SoftwareResetReason::pureOrDeletedVirtual, GetStackPointer());
                              | ^~~~~~~~~~~~~~~
                              Building file: ../src/GCodes/GCodeBuffer/ExpressionParser.cpp
                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void OutOfMemoryHandler()':
                              ../src/Hardware/ExceptionHandlers.cpp:93:1: warning: 'noreturn' function does return
                              93 | }
                              | ^
                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void Terminate()':
                              ../src/Hardware/ExceptionHandlers.cpp:287:1: warning: 'noreturn' function does return
                              287 | }
                              | ^
                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void __cxa_pure_virtual()':
                              ../src/Hardware/ExceptionHandlers.cpp:297:1: warning: 'noreturn' function does return
                              297 | }
                              | ^
                              ../src/Hardware/ExceptionHandlers.cpp: In function 'void cxa_deleted_virtual()':
                              ../src/Hardware/ExceptionHandlers.cpp:302:1: warning: 'noreturn' function does return
                              302 | }
                              | ^
                              Invoking: Cross G++ Compiler
                              make[1]: *** [src/Hardware/subdir.mk:33: src/Hardware/ExceptionHandlers.o] Error 1
                              make[1]: *** Waiting for unfinished jobs....
                              Finished building: ../src/Hardware/NonVolatileMemory.cpp
                              arm-none-eabi-g++ -std=gnu++17 -D__SAME70Q20B
                              -DRTOS -DDUET3_V06 -D_XOPEN_SOURCE -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\common\utils" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\cmsis\same70\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\arm\CMSIS\5.4.0\CMSIS\Core\Include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\SAME70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\preprocessor" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\utils\header_files" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CoreN2G\src\SAM4S_4E_E70\asf\sam\drivers" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Hardware\SAME70" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking\LwipEthernet\Lwip" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RepRapFirmware\src\Networking\LwipEthernet\Lwip\src\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\FreeRTOS\src\include" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\FreeRTOS\src\portable\GCC\ARM_CM7\r0p1" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\RRFLibraries\src" -I"C:\Users\rishita.butala\eclipse-workspace\Firmware_updatedM109\CANlib\src" -O2 -Wall -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -mno-unaligned-access -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fexceptions -nostdlib -Wundef -Wdouble-promotion -Werror=return-type -Wsuggest-override -fsingle-precision-constant "-Wa,-ahl=ExpressionParser.s" -fstack-usage -MMD -MP -MF"src/GCodes/GCodeBuffer/ExpressionParser.d" -MT"src/GCodes/GCodeBuffer/ExpressionParser.o" -o "src/GCodes/GCodeBuffer/ExpressionParser.o" "../src/GCodes/GCodeBuffer/ExpressionParser.cpp"

                              Finished building: ../src/Hardware/IoPorts.cpp

                              Finished building: ../src/Hardware/SoftwareReset.cpp

                              Finished building: ../src/GPIO/GpInPort.cpp

                              Finished building: ../src/GPIO/GpOutPort.cpp

                              Finished building: ../src/GCodes/GCodeBuffer/BinaryParser.cpp

                              Finished building: ../src/GCodes/GCodeBuffer/ExpressionParser.cpp

                              make: *** [makefile:98: all] Error 2
                              "make -j8 all" terminated with exit code 2. Build might be incomplete.

                              10:55:51 Build Failed. 8 errors, 8 warnings. (took 46s.991ms)

                              undefined 1 Reply Last reply 19 Sept 2024, 16:35 Reply Quote 0
                              • undefined
                                Phaedrux Moderator @R006
                                last edited by 19 Sept 2024, 16:35

                                @R006 said in Issue with Heater 1 Predicted Maximum Temperature Warning:

                                Now, I want to add a comment about this in RRF 3.4b3, but I am encountering multiple errors.

                                Best to start a new thread about your build errors.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA