New firmware 1.16 RC1


  • administrators

    With the shipment of pre-production DueX2 and DueX5 boards imminent, I have frozen the firmware 1.16 source and put a release candidate at https://github.com/dc42/RepRapFirmware/tree/dev/Release/Duet-WiFi/Edge. The new features compared to 1.15e are:

    • Support the DueX2 and DueX5 expansion boards

    • Add support for up to 3 additional axes U, V and W. The number of axes is reported to DWC and to PanelDue.

    • Add support for X axis remapping and default fan remapping in the M563 tool creation command - see http://reprap.org/wiki/G-code#M563:_Define_or_remove_a_tool

    • Support minimum fan speeds and fan PWM blipping when starting fans from standstill - see http://reprap.org/wiki/G-code#M106:_Fan_On

    • Files uploaded to SD card are now time-stamped (thanks chrishamm)

    • Sending M307 A-1 C-1 D-1 disables the PID for a heater channel, allowing its pin and driver to be used for other purposes

    • Sending M106 P# I-1 disables the specified fan so that its control pin can be used as for general purpose output (M42) or a servo (M280). Caution: the polarity may not be what you expect.

    • Changed M42 pin numbering, see https://duet3d.com/wiki/Using_servos_and_controlling_unused_I/O_pins

    • Added M280 servo support, see https://duet3d.com/wiki/Using_servos_and_controlling_unused_I/O_pins

    • Allow separate firmware retract/un-retract speeds and negative extra un-retraction length to be configured in M207

    • Support expansion connector pin PB6 on the Duet WiFi and use it by default for a cooling fan tacho input

    • Added Z probe type 6 (switch on E1 endstop connector)

    • Added I parameter in M558 command to allow the sense of the Z probe reading to be reversed

    • Tool change macros are no longer run if you select the tool that is already selected.

    The primary use of additional axes and X-axis and fan remapping is to support dual material prints and dual simultaneous prints on IDEX (independent dual X carriage) printers. See https://duet3d.com/wiki/Configuring_multiple_independent_X-carriages_on_a_Cartesian_printer for how to configure this. The support for additional axes involved a lot of changes and might have side effects that I haven't foreseen, so that's why this version is a release candidate instead of a full release.

    I have included a beta of Chrishamm's 1.13 Duet Web control in the release folder. My thanks to Chrishamm for his work on this. I'll leave it to him to tell you all about it.



  • I have included a beta of Chrishamm's 1.13 Duet Web control in the release folder. My thanks for Chrishamm for his work on this. I'll leave it to him to tell you all about it.

    There will be AJAX errors fixed?



  • If I were to want to use a servo on a Duet 0.6 or 0.8.5, according to the Wiki there doesn't seem to be any "servo friendly" pins available on the expansion header.

    Assuming both fan channels are occupied, what pin would you recommend for controlling a servo on a Duet 0.8.5?


  • administrators

    Most servos expect a 5V control signal. The simplest solution is probably to take one of the heater control outputs on the expansion connector and use a 74HCT04, or a small signal mosfet a pull up resistor, or a NPN transistor and two resistors, to level shift it to 5V and at the same time invert it to get the correct polarity.



  • I may have found a bug in 1.16rc1/1.13 web controls - When you go to the G-Code Files section it just sits there saying loading. I rolled back to the 1.12 web controls and it does the same thing. Just about to roll back to 1.15e FW to see if that fixes it. Trying this initially on my old v0.6 Duet before the Wifi.



  • Thanks David. So I don't seem to be able to make this work. I've got a Duet 0.6 and BLtouch on my bench for testing, and I've just updated the Duet to 1.16 RC1.

    i've added the following two lines to the config to allow two pins to be used for servos:

    M307 H3 A-1 C-1 D-1 ; Make Heater 3 (Exp Pin 21) available for PWM use
    M307 H4 A-1 C-1 D-1 ; Make Heater 4 (Exp Pin 22) available for PWM use

    With a scope connected to the relevant expansion header pins (21, 22), as a test if I send the command M280 P3 S90, the only thing I see occur is the pin state switches from high to low, and stays there until the board is reset. No sign of a PWM burst being sent.

    The same behavior occurs with P4 (formally Heater 4), the pin goes low then stays there.

    Is there something I overlooked?

    @dc42:

    Most servos expect a 5V control signal. The simplest solution is probably to take one of the heater control outputs on the expansion connector and use a 74HCT04, or a small signal mosfet a pull up resistor, or a NPN transistor and two resistors, to level shift it to 5V and at the same time invert it to get the correct polarity.



  • Great news, and thank you for getting the release candidate out! How is this different from the betas? I have been using beta10 with no problems.


  • administrators

    @jgrouse:

    I may have found a bug in 1.16rc1/1.13 web controls - When you go to the G-Code Files section it just sits there saying loading. I rolled back to the 1.12 web controls and it does the same thing. Just about to roll back to 1.15e FW to see if that fixes it. Trying this initially on my old v0.6 Duet before the Wifi.

    Strange, it works fine for me on my Duet 0.6.


  • administrators

    @W3DRK:

    Thanks David. So I don't seem to be able to make this work. I've got a Duet 0.6 and BLtouch on my bench for testing, and I've just updated the Duet to 1.16 RC1.

    i've added the following two lines to the config to allow two pins to be used for servos:

    M307 H3 A-1 C-1 D-1 ; Make Heater 3 (Exp Pin 21) available for PWM use
    M307 H4 A-1 C-1 D-1 ; Make Heater 4 (Exp Pin 22) available for PWM use

    With a scope connected to the relevant expansion header pins (21, 22), as a test if I send the command M280 P3 S90, the only thing I see occur is the pin state switches from high to low, and stays there until the board is reset. No sign of a PWM burst being sent.

    The same behavior occurs with P4 (formally Heater 4), the pin goes low then stays there.

    Is there something I overlooked?

    I have tested this functionality on a Duet WiFi but not yet on a wired Duet. I shall try to find time to do this today.


  • administrators

    @terabyte:

    Great news, and thank you for getting the release candidate out! How is this different from the betas? I have been using beta10 with no problems.

    The main changes since beta 10 are the per-tool fan mapping and the SD card file time stamping.



  • Hi

    I have a problem in gcode-file section, too.
    I have 34 files and 6 directories, so 40 data entries. Directory is loaded well in WebControl.
    If I add the next file, it will upload but at loading the entries again it throws an ajax error and disconnets.
    After connecting again, you cant list this directory, its throws the error and disonnects.
    I tried this with 33/7 and 32/8. Its allways the 41st entry that produces the error.
    This was on my Duet 0.8.5.
    I can connect and list this directory with ftp. I deleted one file over ftp and can now list the directory with WebControl.

    Can someone please verify the problem with the 41st entry in a directory.

    I may have found a bug in 1.16rc1/1.13 web controls - When you go to the G-Code Files section it just sits there saying loading.

    This occured at mine too. But after reloading with F5 and checking that now you have under settings-general the correct WebInterface Version it dissappeard.

    Andre


  • administrators

    @AndreS:

    Hi

    I have a problem in gcode-file section, too.
    I have 34 files and 6 directories, so 40 data entries. Directory is loaded well in WebControl.
    If I add the next file, it will upload but at loading the entries again it throws an ajax error and disconnets.
    After connecting again, you cant list this directory, its throws the error and disonnects.
    I tried this with 33/7 and 32/8. Its allways the 41st entry that produces the error.
    This was on my Duet 0.8.5.
    I can connect and list this directory with ftp. I deleted one file over ftp and can now list the directory with WebControl.

    I have reproduced a similar issue. I will liaise with chrishamm to sort out a fix.



  • @W3DRK:

    Thanks David. So I don't seem to be able to make this work. I've got a Duet 0.6 and BLtouch on my bench for testing, and I've just updated the Duet to 1.16 RC1.

    i've added the following two lines to the config to allow two pins to be used for servos:

    M307 H3 A-1 C-1 D-1 ; Make Heater 3 (Exp Pin 21) available for PWM use
    M307 H4 A-1 C-1 D-1 ; Make Heater 4 (Exp Pin 22) available for PWM use

    With a scope connected to the relevant expansion header pins (21, 22), as a test if I send the command M280 P3 S90, the only thing I see occur is the pin state switches from high to low, and stays there until the board is reset. No sign of a PWM burst being sent.

    The same behavior occurs with P4 (formally Heater 4), the pin goes low then stays there.

    Is there something I overlooked?

    I can confirm that on a Duet 0.8.5, tried with H2 and H5.
    After M42 P2/5 S# the pin goes low and stays there. No PWM.

    Andre


  • administrators

    @roboduet:

    I have included a beta of Chrishamm's 1.13 Duet Web control in the release folder. My thanks for Chrishamm for his work on this. I'll leave it to him to tell you all about it.

    There will be AJAX errors fixed?

    This problem should be fixed in an upcoming DuetWiFiServer version. Fortunately I managed to compile all the source files yesterday, so I'm going to check how this can be resolved. AFAIK the problem concerning empty JSON responses doesn't show up on wired Duets, so it must be related to bad communication between the client and the ESP8266 chip. Nevertheless I've fixed another problem in the AJAX error handler and I hope this will make things a bit more stable.

    Here the preliminary changelog for DuetWebControl 1.16:

    • Implemented control buttons, axis positions and home warnings for optional UVW axes
    • Added new "time" key to rr_connect and to rr_upload requests for RTC support
    • Added tooltip to G-Code file list to display last modified date and time (if available)
    • Added new "Last modified" column to "Macros" and "System Directory" pages
    • Second SD card can be mounted on the "G-Code Files" page (DuetWiFi only)
    • Updated translations for v1.16
    • Bug fix: CPU temperature was not displayed; Min+max values are shown via title
    • Bug fix: Error reason wasn't explicitly converted to string in the AJAX error handler
    • Bug fix: Print status response was not requested when Settings page was active
    • Bug fix: Uploads should work well if an older Safari version or IE/Edge is used


  • I updated firmware and DWC, now it can't print a G-code file after uploading, throwing error:

    M32 s/Plate.gcode
    GCode file "s/Plate.gcode" not found
    Failed to open file s/Plate.gcode

    But the uploaded file can be printed from G-Code Files section.


  • administrators

    Unless you have a folder called /gcode/s containing a file called Plate.gcode, that was never going to work.



  • I understand that.
    But the error appears when I use "upload and print" button. So I guess that the system issues "M32 s/Plate.gcode" instead of "M32 Plate.gcode" after uploading.
    I tried different files, the error always pops out. But files upload correctly, I can print them from the list later.


  • administrators

    Sorry pkm, my bad. This version should fix it: https://www.dropbox.com/s/hbzhwws1dfk01pw/DuetWebControl-1.13-rc2.bin?dl=0

    Please let me know if it's working.



  • Thanks David!

    @dc42:

    I have tested this functionality on a Duet WiFi but not yet on a wired Duet. I shall try to find time to do this today.


  • administrators

    @W3DRK:

    Thanks David. So I don't seem to be able to make this work. I've got a Duet 0.6 and BLtouch on my bench for testing, and I've just updated the Duet to 1.16 RC1.

    i've added the following two lines to the config to allow two pins to be used for servos:

    M307 H3 A-1 C-1 D-1 ; Make Heater 3 (Exp Pin 21) available for PWM use
    M307 H4 A-1 C-1 D-1 ; Make Heater 4 (Exp Pin 22) available for PWM use

    With a scope connected to the relevant expansion header pins (21, 22), as a test if I send the command M280 P3 S90, the only thing I see occur is the pin state switches from high to low, and stays there until the board is reset. No sign of a PWM burst being sent.

    The same behavior occurs with P4 (formally Heater 4), the pin goes low then stays there.

    Is there something I overlooked?

    I have reproduced this and fixed it. I intend to release rc2 later today or tomorrow.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.