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

Print stuttering around curves, LaErrors

Scheduled Pinned Locked Moved
Duet Hardware and wiring
8
58
4.1k
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
    Charlie
    last edited by 26 Apr 2020, 19:37

    @brisma Thank you for your response! You bring up some really good points.

    Regarding the overzealous extruder jerk, Ive been told that its too high ever since I found that I could mess with it! I was under the assumption that the print moves would be dictated by the speed, acceleration, and jerk of the least responsive axis (at least I thought that was correct in Marlin). Therefore, I wanted to make sure that the extruder was unlikely to be the least responsive axis. Is this incorrect? Or maybe I shouldn't be considering it in that way?

    Regarding the M906, I was just making it 85% of the max motor current (which is 1680). I could change it to 1400, though Im not sure that it would change much (though I could be very mistaken!).

    My setup is Direct Drive. E3D Titan Aqua to a Supervolcano running 24V. As represented by the very low pressure advance value, PA isnt doing too much, so I could remove it.

    Thanks again for your time.

    1 Reply Last reply Reply Quote 0
    • undefined
      Charlie
      last edited by 26 Apr 2020, 19:44

      @NitroFreak First of all, thank you for printing items to fight COVID!

      Looks like you have many "Hiccups." In my experience, this has to do with very high microstepping. In your config.g file, what does it show under "M350"? For instance, mine is "M350 X16 Y16 Z16 E16 I1".

      1 Reply Last reply Reply Quote 1
      • undefined
        Phaedrux Moderator
        last edited by 26 Apr 2020, 19:49

        Yup definitely a large number of hiccups. @NitroFreak usually a result of using too high microstepping. x16 with interpolation to x256 is recommended.

        Regarding the halting movement behaviour I may have noticed something similar myself on curved surfaces lately but I was also testing a new slicer release and wrote it off as something I had changed there. I did not look at a M122 at the time. I'll keep that in mind on my next print.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • undefined
          Charlie
          last edited by 26 Apr 2020, 20:01

          @Phaedrux If the slicer matters, Im running cura 4.6.0 (newest release). Im still getting no hiccups, some LA Errors, and stuttering behavior.

          1 Reply Last reply Reply Quote 0
          • undefined
            Phaedrux Moderator
            last edited by 26 Apr 2020, 20:19

            I was using this version of Cura which is built on 4.6

            https://www.dropbox.com/sh/s43vqzmi4d2bqe2/AAADdYdSu9iwcKa0Knqgurm4a?dl=0&lst=

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • undefined
              NitroFreak
              last edited by 26 Apr 2020, 20:54

              @Phaedrux said in Print stuttering around curves, LaErrors:

              Yup definitely a large number of hiccups. @NitroFreak usually a result of using too high microstepping. x16 with interpolation to x256 is recommended.

              Regarding the halting movement behaviour I may have noticed something similar myself on curved surfaces lately but I was also testing a new slicer release and wrote it off as something I had changed there. I did not look at a M122 at the time. I'll keep that in mind on my next print.

              I have nothing out of the ordinary, apart from an external Y servo that i run with no microstepping.
              Also two X axis motors that i do indeed run with x16 and interpolation.

              M350 Y1 Z64 ;E16:16I0 ; Configure microstepping without interpolation
              M350 X16:16 I1 E16:16 I1 ; Configure microstepping with interpolation
              M92 X88.89 Y360.00 Z3200.00 E411:430 ; Set steps per mm, mk8 extruder 94.3

              Any idea what else it could be?

              1 Reply Last reply Reply Quote 0
              • undefined
                Phaedrux Moderator
                last edited by 26 Apr 2020, 20:56

                @NitroFreak said in Print stuttering around curves, LaErrors:

                Z3200.00

                Are you using z hop or something? I might try dropping the Z axis back to x16.

                The external stepper could be something but I'm not familiar.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • undefined
                  Charlie
                  last edited by 26 Apr 2020, 21:19

                  Are you sure that your M350 commands are all after your M584 commands?

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Charlie
                    last edited by 26 Apr 2020, 21:32

                    As an update, decreasing extruder jerk did not improve or worsen the artifacts. The issue persists.

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Phaedrux Moderator
                      last edited by 26 Apr 2020, 21:44

                      I'm about to try a print. The mesh isn't very high resolution though so the curves are pretty facetted.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Phaedrux Moderator
                        last edited by 26 Apr 2020, 22:14

                        === DDARing ===
                        Scheduled moves: 11250, completed moves: 11225, StepErrors: 0, LaErrors: 1, Underruns: 34, 0

                        Only a few minutes into the print and there is 1 La error and a few under runs.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          Charlie
                          last edited by 26 Apr 2020, 22:24

                          Changing X, Y, and E instantaneous speed (jerk) settings dramatically (both high and low) did not affect the outcome.

                          IMG_8301.jpg

                          Changing pressure advance mid print (through M572 command on the gcode console during the print) also did not change the fact that it still stopped while traveling around the large radius arcs.

                          Below is a link to the GCode for the affected print.

                          https://drive.google.com/file/d/17gsPftKUcRSPVDl176A_GBqD7sG8GH9i/view?usp=sharing
                          

                          Please let me know if there is a better way to post gcode, as it exceeded the maximum file size for uploading.

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            Phaedrux Moderator
                            last edited by 27 Apr 2020, 01:45

                            From the end of the print:

                            === DDARing === Scheduled moves: 18, completed moves: 18, StepErrors: 0, LaErrors: 14, Underruns: 698, 0

                            m122
                            === Diagnostics ===
                            RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later
                            Board ID: 08DDM-9FAM2-LW4SD-6JKF0-3SN6N-T2ZBY
                            Used output buffers: 1 of 24 (16 max)
                            === RTOS ===
                            Static ram: 25712
                            Dynamic ram: 93328 of which 228 recycled
                            Exception stack ram used: 544
                            Never used ram: 11260
                            Tasks: NETWORK(ready,628) HEAT(blocked,1176) MAIN(running,3728) IDLE(ready,160)
                            Owned mutexes:
                            === Platform ===
                            Last reset 03:48:36 ago, cause: power up
                            Last software reset at 2020-03-30 17:04, reason: User, spinning module GCodes, available RAM 11148 bytes (slot 2)
                            Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
                            Error status: 0
                            Free file entries: 10
                            SD card 0 detected, interface speed: 20.0MBytes/sec
                            SD card longest block write time: 0.0ms, max retries 0
                            MCU temperature: min 27.2, current 29.2, max 30.7
                            Supply voltage: min 23.7, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
                            Driver 0: standstill, SG min/max 0/1023
                            Driver 1: standstill, SG min/max 0/1023
                            Driver 2: standstill, SG min/max 0/279
                            Driver 3: standstill, SG min/max 0/1023
                            Driver 4: standstill, SG min/max not available
                            Date/time: 2020-04-26 19:43:09
                            Cache data hit count 4294967295
                            Slowest loop: 67.26ms; fastest: 0.07ms
                            I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                            === Move ===
                            Hiccups: 0, FreeDm: 160, MinFreeDm: 98, MaxWait: 60049ms
                            Bed compensation in use: mesh, comp offset 0.000
                            === DDARing ===
                            Scheduled moves: 18, completed moves: 18, StepErrors: 0, LaErrors: 14, Underruns: 698, 0
                            === Heat ===
                            Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
                            Heater 0 is on, I-accum = 0.2
                            Heater 1 is on, I-accum = 0.4
                            === GCodes ===
                            Segments left: 0
                            Stack records: 3 allocated, 0 in use
                            Movement lock held by null
                            http is idle in state(s) 0
                            telnet is idle in state(s) 0
                            file is idle in state(s) 0
                            serial is idle in state(s) 0
                            aux is idle in state(s) 0
                            daemon is idle in state(s) 0
                            queue is idle in state(s) 0
                            autopause is idle in state(s) 0
                            Code queue is empty.
                            === Network ===
                            Slowest loop: 200.47ms; fastest: 0.08ms
                            Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
                            HTTP sessions: 1 of 8
                            - WiFi -
                            Network state is running
                            WiFi module is connected to access point
                            Failed messages: pending 0, notready 0, noresp 2
                            WiFi firmware version 1.23
                            WiFi MAC address 5c:cf:7f:ef:4a:74
                            WiFi Vcc 3.31, reset reason Turned on by main processor
                            WiFi flash size 4194304, free heap 24512
                            WiFi IP address 10.10.0.95
                            WiFi signal strength -44dBm, reconnections 0, sleep mode modem
                            Socket states: 0 0 0 0 0 0 0 0

                            I did not have any of the pausing I saw previously on the more detailed mesh.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              Charlie
                              last edited by 27 Apr 2020, 02:28

                              @Phaedrux Hmmm, seems like you still have LA Errors, though you didn't have any pausing. If you are using Cura, may I ask what your Maximum Resolution, Maximum Travel Resolution, and Maximum Deviation settings are? Mine are 0.833 mm, 0.7 mm, and 0.015 mm respectively. Do you think that this may be the cause of my issue? They may be too low.

                              undefined 1 Reply Last reply 27 Apr 2020, 08:19 Reply Quote 0
                              • undefined
                                Phaedrux Moderator
                                last edited by 27 Apr 2020, 02:32

                                No stutters this time, but the model was very low res by comparison. In the next couple days I'll be printing another bunch of high resolution curved models. I'll check again then.

                                Max res : 0.05
                                Max travel res 0.1094
                                Max deviation 0.05

                                And this last print was with that custom cura build from just the other day. Maybe give that build a try.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  NitroFreak @Charlie
                                  last edited by 27 Apr 2020, 08:19

                                  @Charlie said in Print stuttering around curves, LaErrors:

                                  @Phaedrux Hmmm, seems like you still have LA Errors, though you didn't have any pausing. If you are using Cura, may I ask what your Maximum Resolution, Maximum Travel Resolution, and Maximum Deviation settings are? Mine are 0.833 mm, 0.7 mm, and 0.015 mm respectively. Do you think that this may be the cause of my issue? They may be too low.

                                  I also had this suspicion per this video
                                  https://www.youtube.com/watch?v=Hvw3DrVAeTA
                                  I changed my values to 1.133, 0,75 and 0.075 respectively. No change in the stuttering.
                                  Also, it is weird because the duet being 32 bit should not really have this problem?

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    NitroFreak
                                    last edited by NitroFreak 27 Apr 2020, 09:18

                                    I´ve now captured it on video so that it´s easy to see.
                                    100mm circle, 2 perimeters, no infill, Z seam always at the front.
                                    I dropped the Z axis steps back to x16 and 800 steps /mm. Yes i did use Z hop but i can´t imagine how that would affect a mid layer line.

                                    https://youtu.be/IbhTUJ972cE

                                    It is really weird because i used to be able to print at 250mm/sec no problem.
                                    https://www.youtube.com/watch?v=o-Qg3nTha1A

                                    After that I didnt really change anything apart from some tpre, tfree and tpost files. But this is all single extrusion.
                                    Here is another M122 after the circle

                                    M122
                                    === Diagnostics ===
                                    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later
                                    Board ID: 08DGM-917NK-F23T0-6J9DJ-3S86S-TWBWD
                                    Used output buffers: 3 of 24 (16 max)
                                    === RTOS ===
                                    Static ram: 25680
                                    Dynamic ram: 94004 of which 0 recycled
                                    Exception stack ram used: 476
                                    Never used ram: 10912
                                    Tasks: NETWORK(ready,648) HEAT(blocked,1172) MAIN(running,3748) IDLE(ready,160)
                                    Owned mutexes:
                                    === Platform ===
                                    Last reset 00:29:05 ago, cause: software
                                    Last software reset at 2020-04-27 10:32, reason: User, spinning module GCodes, available RAM 11076 bytes (slot 3)
                                    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
                                    Error status: 0
                                    Free file entries: 10
                                    SD card 0 detected, interface speed: 20.0MBytes/sec
                                    SD card longest block write time: 0.0ms, max retries 0
                                    MCU temperature: min 36.7, current 38.2, max 40.0
                                    Supply voltage: min 24.3, current 24.6, max 24.8, under voltage events: 0, over voltage events: 0, power good: yes
                                    Driver 0: standstill, SG min/max 0/1023
                                    Driver 1: standstill, SG min/max 0/1023
                                    Driver 2: standstill, SG min/max 0/249
                                    Driver 3: standstill, SG min/max 0/1023
                                    Driver 4: standstill, SG min/max not available
                                    Date/time: 2020-04-27 11:02:02
                                    Cache data hit count 4294967295
                                    Slowest loop: 43.29ms; fastest: 0.08ms
                                    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                                    === Move ===
                                    Hiccups: 1415, FreeDm: 169, MinFreeDm: 134, MaxWait: 32660ms
                                    Bed compensation in use: none, comp offset 0.000
                                    === DDARing ===
                                    Scheduled moves: 6, completed moves: 6, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
                                    === Heat ===
                                    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
                                    Heater 0 is on, I-accum = 0.3
                                    Heater 1 is on, I-accum = 0.4
                                    === GCodes ===
                                    Segments left: 0
                                    Stack records: 1 allocated, 0 in use
                                    Movement lock held by null
                                    http is idle in state(s) 0
                                    telnet is idle in state(s) 0
                                    file is idle in state(s) 0
                                    serial is idle in state(s) 0
                                    aux is idle in state(s) 0
                                    daemon is idle in state(s) 0
                                    queue is idle in state(s) 0
                                    autopause is idle in state(s) 0
                                    Code queue is empty.
                                    === Network ===
                                    Slowest loop: 202.38ms; fastest: 0.08ms
                                    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
                                    HTTP sessions: 1 of 8

                                    • WiFi -
                                      Network state is running
                                      WiFi module is connected to access point
                                      Failed messages: pending 0, notready 0, noresp 1
                                      WiFi firmware version 1.23
                                      WiFi MAC address b4:e6:2d:52:f6:45
                                      WiFi Vcc 3.34, reset reason Turned on by main processor
                                      WiFi flash size 4194304, free heap 25032
                                      WiFi IP address 192.168.0.93
                                      WiFi signal strength -58dBm, reconnections 0, sleep mode modem
                                      Socket states: 0 0 0 0 0 0 0 0

                                    And here is my config.g

                                    ; Configuration file for Duet WiFi (firmware version 1.21)
                                    ; executed by the firmware on start-up
                                    ;
                                    ; generated by RepRapFirmware Configuration Tool v2 on Sun Feb 03 2019 22:30:32 GMT+0100 (Central European Standard Time)
                                    ; General preferences
                                    G90 ; Send absolute coordinates...
                                    M83 ; ...but relative extruder moves
                                    ; Network
                                    M550 P"ARPEG" ; Set machine name
                                    M552 S1 ; Enable network
                                    M587 S"KDG-4F519" P"ApbjYbr9nQu7" ; Configure access point. You can delete this line once connected
                                    M586 P0 S1 ; Enable HTTP
                                    M586 P1 S0 ; Disable FTP
                                    M586 P2 S0 ; Disable Telnet
                                    ; Drives
                                    M569 P0 S1 ; Drive 0 goes forwards (X1)
                                    M569 P1 S1 ; Drive 1 goes forwards (X2)
                                    M569 P2 S0 ; Drive 2 goes backwards (Z)
                                    M569 P3 S1 ; Drive 3 goes forwards extruder
                                    M569 P4 S1 ; Drive 4 goes backwards extruder 2
                                    M569 P5 S0 T8:8:8:8 ; Drive 5 minimum step pulse timing 3 microseconds (JMC servo minimum 2.5 microseconds)
                                    M584 X0:1 Y5 Z2 E3:4 ; Apply custom drive mapping
                                    M350 Y1 Z16 ;E16:16I0 ; Configure microstepping without interpolation
                                    M350 X16:16 I1 E16:16 I1 ; Configure microstepping with interpolation
                                    M92 X88.89 Y360.00 Z800.00 E411:430 ; Set steps per mm, mk8 extruder 94.3
                                    M566 X1000.00 Y1000.00 Z200.00 E1500.00:1500.00 ; Set maximum instantaneous speed changes (mm/min)
                                    M203 X24000.00 Y24000.00 Z2000.00 E4200.00:4200.00 ; Set maximum speeds (mm/min)
                                    M201 X5000.00 Y5000.00 Z700.00 E2000.00:1000.00 ; Set accelerations (mm/s^2)
                                    M906 X1600.00 Y800.00 Z1100.00 E1100.00:1200.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
                                    M593 F24.5 ; Dynamic Acceleration Adjustment at 24.5 Hertz
                                    M572 D0 S0.02 ; Pressure advance
                                    M84 S30 ; Set idle timeout
                                    ;M207 S0.2 F1800 Z0.8
                                    ; Axis Limits
                                    M208 X5 Y5 Z0 S1 ; Set axis minima
                                    M208 X215 Y255 Z280 S0 ; Set axis maxima
                                    ; Endstops
                                    M574 X1 Y1 Z1 S1 ; Set active high endstops
                                    ; Z-Probe
                                    M558 P0 H5 F120 T6000 ; Disable Z probe but set dive height, probe speed and travel speed
                                    M557 X20:170 Y20:195 S20 ; Define mesh grid
                                    ; Heaters
                                    M307 H6 A-1 C-1 D-1 ; Disables heater 6 output as heater output and configures it as General I/O port
                                    M307 H7 A-1 C-1 D-1 ; Disables heater 7 output as heater output and configures it as General I/O port
                                    M570 H0 P10 T40 ; Lets the chamber deviate a max of 40C for max 10sec from its set temp (to not raise a fault when opening oven door)
                                    ;M140 H-1 ; Tell the firmware there is no bed heater
                                    M307 H0 B0 A188.1 C188.1 D3.5 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit (G=188.1, tc=275.7, td=-1.6)
                                    M305 P0 T100000 B4138 R4700 S"Chamber" ; Set thermistor + ADC parameters for heater 0
                                    M143 H0 S240 ; Set temperature limit for heater 0 to 240C
                                    M305 P1 X200 S"Model" ; Configure thermocouple for heater 1
                                    M143 H1 S430 ; Set temperature limit for heater 1 to 430C
                                    ;M305 P2 T100000 B4138 R4700 S"Support" ; Configure Thermistor + ADC parameters for heater 2
                                    ;M143 H2 S320 ; Set temperature limit for heater 2 to 290°C
                                    M305 P2 X201 S"Support" ; Configure thermocouple for heater 2
                                    M143 H2 S430 ; Set temperature limit for heater 2 to 430C
                                    M307 H1 A225.2 C128.7 D4.1 V24.5 S1.0 B0 ; Set PID parameters for Extruder Heater 1 model: gain 952.0, time constant 389.2, dead time 5.2, max PWM 0.30, calibration voltage 24.3, mode PID, inverted no, frequency default
                                    M307 H2 A225.2 C128.7 D4.1 V24.5 S1.0 B0 ; set preliminary PID for support extruder
                                    ; 12V Hotend autotune 390° while 212° chamber Heater 1 model: gain 495.4, time constant 164.7, dead time 2.9, max PWM 0.50, calibration voltage 23.1,
                                    ; 24V CTC Heater 1 model: gain 225.2, time constant 128.7, dead time 3.4, max PWM 1.00, calibration voltage 24.5
                                    ;M307 H2 A468.7 C131.8 D4.3 V24.5 S0.3 B0 ; Heater 2 model: gain 468.7, time constant 131.8, dead time 4.3, max PWM 0.30, calibration voltage 24.5, (12v heizpatrone im alu block)
                                    ; Fans
                                    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                                    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                                    ; Tools
                                    M563 P0 S"Model" D0 H1 ; Define tool 0
                                    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
                                    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
                                    M563 P1 S"Support" D1 H2 ; Define tool 1
                                    G10 P1 X24.93 Y1.18 Z-1.2 ; Set tool 1 axis offsets
                                    G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C
                                    ; Automatic saving after power loss is not enabled
                                    ; Custom settings are not configured
                                    ; Miscellaneous
                                    T0 ; Select first tool
                                    undefined 1 Reply Last reply 27 Apr 2020, 18:28 Reply Quote 0
                                    • undefined
                                      NitroFreak
                                      last edited by 27 Apr 2020, 12:35

                                      I remember, when i did the 250mm/s test, that it started to judder and slow down randomly at around 280mm/s.
                                      What can cause the processor to overload like that with just 60mm/s?

                                      deckingmanundefined 1 Reply Last reply 27 Apr 2020, 13:43 Reply Quote 0
                                      • deckingmanundefined
                                        deckingman @NitroFreak
                                        last edited by 27 Apr 2020, 13:43

                                        @NitroFreak Your video is very reminiscent of problems I had when pressure advance was first introduced. Although, that was with multiple extruders feeding a mixing hot and with much higher PA values than you are using. Still, I wonder if it might be worth disabling PA just to see if it makes any difference or not?

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

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          Phaedrux Moderator @NitroFreak
                                          last edited by 27 Apr 2020, 18:28

                                          @NitroFreak said in Print stuttering around curves, LaErrors:

                                          I dropped the Z axis steps back to x16 and 800 steps /mm. Yes i did use Z hop but i can´t imagine how that would affect a mid layer line.

                                          No I don't think that would cause mid layer issues, but skipping steps on a z hop is a recipe for inaccurate layer heights.

                                          Z-Bot CoreXY Build | Thingiverse Profile

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