migrate config.g
-
You can get 3rd party tools to mount the ext4 filesystem under windows, but scp/sftp is probably easier if you have network access to the pi.
(and if you have network access then the web interface as suggested is even easier)
like if there is no configuration at all.
run
M98 P"config.g"
from the usb console to verify if there is a problem with the config? Could be some of the old network specific config that isn't supported on the SBC is causing config to not be parsed? -
hm, I just looked at the latest image and the files in /boot/sys/ aren't the same as in /opt/dsf/sd/sys?
not sure whats what; getting the network running and using duet web control is probably the safest bet.
-
@bearer I can confirm this. When I re-imaged my Pi I copied my config files and macros to /boot/sys/ but I still had to either upload through DWC or use VNC to copy them to the pi
-
I don't know if the intention has been to have a firstboot like script to copy the files from /boot to /opt/dsf/sd or if the intention was to symlink from /opt/dsf/sd/sys to /boot/sys etc or what but seems it still needs some work whatever the intention.
edit seems there is a config option to choose the sd directory and its still "BaseDirectory": "/opt/dsf/sd" on the 2020-08-22-DuetPi-lite.img image.
incidentally if anyone wanna poke the image from windows before writing it to a card or something, qemu is your friend.
mini how-to: installer, kernel, dtb file, launch script and this link to enable ansi colours in cmd.exe -
@bearer Windows10 with WSL2 is also an option: https://devblogs.microsoft.com/commandline/access-linux-filesystems-in-windows-and-wsl-2/
-
@oliof said in migrate config.g:
@bearer Windows10 with WSL2 is also an option: https://devblogs.microsoft.com/commandline/access-linux-filesystems-in-windows-and-wsl-2/
haven't tried, but hear good things. i used quemu because i wanted run the image to look for symlinks or overlays etc at runtime.
-
(hm, come to think of it, qemu is a good way to put ssh keys into image for headless and passwordless installs, mess with static ip setting and so on)
-
@Phaedrux makes sense but it is not working. go to "SYSTEM" and there I can see the config files. I uploaded my files using the UPLOAD SYSTEM FILES button, and after that did a reboot as requested. ANd the duet still is booting from some config file that is not the one being shown in the DUET CONTROL PANEL
-
sounds unlikely, what is the output if you run the gcode
M98 P"config.g"
? -
@bearer it reports some errors:
![0_1605874708756_18f4831c-e02f-4985-bcd1-f63603745d58-image.png](Uploading 100%)
Im trying to SSH to the raspi, but default user pi, passed raspberry is not working, has it been changed?
-
Please try uploading picture again, or better, copy/paste the text.
As for ssh, no, its still the default pi / raspberry for the images i have tried at least.
-
@bearer I uloaded the config.g file using the interface. Something is going wrong there because Im receiving errors. I fixed most of them, but for example Im getting:
M307: error bad model parametersBut this is the same config I was using and printing with with my previous duet3/octoprint.
What is the meaning of this error?
The only M307 commands I have in my config.g is:
M307 H0 B1 S1.00 ; enable bang-bang mode for the chamber heater and set PWM limit
M307 H1 B0 S1.00 ; disable bang-bang mode for heater 1 and set PWM limit
M307 H2 B0 S1.00 ; disable bang-bang mode for heater 2 and set PWM limitAnd all heaters were working ok.
-
Hard to say without seeing the config file tbh.
But if you can fix the errors you're clearly editing the correct file no?
-
@bearer
; Configuration file for Duet 3 (firmware version 3) ORIGINAL
; executed by the firmware on start-up
;; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
; M550 P"Printer" ; set printer name
M669 K1 ; select CoreXY mode; Network
; M552 S0 disable network; Drives
M569 P0.0 S0 D2 ; physical drive 0.0 goes forwards X Se invirtieron los cables tambien. Se agrego D3 para stealhtchop3
M569 P0.1 S1 D2 ; physical drive 0.1 goes forwards Y Ultimo cambio: de S0 a S1. Se agrego D3 para stealhtchop3
M569 P0.2 S1 D2 ; physical drive 0.2 goes forwards
M569 P0.3 S1 D2 ; physical drive 0.3 goes reverse
M569 P0.4 S0 D2 ; physical drive 0.4 goes forwards
M569 P0.5 S1 D2 ; physical drive 0.5 goes backwardsM584 X0.0 Y0.1 Z0.2:0.3 E0.4:0.5 ; set drive mapping
M350 X16 Y16 Z32 E16:16 I1 ; configure microstepping with interpolation
; M92 X160.32 Y160.32 Z3200.00:3200.00 E827.22 set steps per mm
M92 X80.16 Y80.16 Z3200.00 E428.25:428.25 ; set steps per mm
M566 X900.00 Y900.00 Z300.00 E450:450 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z240.00:240.00 E2400.00 ; set maximum speeds (mm/min)
M201 X1000.00 Y1000.00 Z20.00:20.00 E500.00 ; set accelerations (mm/s^2)
M906 X1500 Y1500 Z900:900 E1000:1000 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S300 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X400 Y350 Z400 S0 ; set axis maxima; Endstops
M574 X1 S3 ; configure sensorless endstop for low end on X
M574 Y1 S3 ; configure sensorless endstop for low end on Y
M574 Z2 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M558 P5 C"^!io3.in" H5 F120 T18000 ; set Z probe type to switch and the dive height + speeds
G31 P500 X0 Y28.5 Z0.245 ; set Z probe trigger value, offset and trigger height
; M557 X25:310 Y27:312 S57:57 define mesh grid for beta 3
M557 X50:340 Y29:329 S82:30 ; define mesh beta4; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
;M307 H0 B0 D30 S1.00 ; enable PID para camara, deadtime en 30 segundos
M307 H0 B1 S1.00 ; enable bang-bang mode for the chamber heater and set PWM limit
;M140 H0 ; map heated bed to heater 0
M141 H0 ; map chamber to heater 0
M143 H0 S130 ; set temperature limit for heater 0 to 130C
M308 S1 P"temp1" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S2 P"temp2" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 2 as thermistor on pin temp2
M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
;M950 F0 C"out3" Q500 ; create fan 0 on pin out3 and set its frequency
;M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
;M950 F1 C"out4" Q500 ; create fan 1 on pin out4 and set its frequency
;M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 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 D1 H2 ; define tool 1
G10 P1 X-61 Y0 Z-2.05 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C; Custom settings are not defined
M915 X Y S1 R0 F0 ; sensroless sensitivity 1 for beta 4 and 2 beta3; movments without homing
M564 H0; Miscellaneous
M207 S6 R0.2 F1800 ;firmware retraction
M83 ; relative extrusion
M950 S0 C"0.out9" ; servo "0" in pin out9
M280 P0 S92 ; move servo to rest position
M376 H30 ; cancell mesh levelling at 30 mm
M143 S450 ; set max temp to 450 degrees for T0
M143 H2 S450 ; set max temp to 450 for T1
M950 J0 C"^io8.in" ; Definition of emervengy stop pin
M581 P0 R0 T0 ; Assigment of the emergency stop
M950 P5 C"out3" ; assign gpio port 5 to out3 for buzzer. control win M42 P5 SX range 0 to 1
M501 ; load saved parameters from non-volatile memory
;T0 ; select first toolI had to comment that last T0 line, it was complaining about not being able to select tool...
-
@Tinchus said in migrate config.g:
M350 X16 Y16 Z32 E16:16 I1 ; configure microstepping with interpolation
; M92 X160.32 Y160.32 Z3200.00:3200.00 E827.22 set steps per mm
M92 X80.16 Y80.16 Z3200.00 E428.25:428.25 ; set steps per mmthere is no point going for x32 interpolation on the z axis
x16 is more than fine.even without interpolation you are at 0.01mm per step
-
@Tinchus said in migrate config.g:
The only M307 commands I have in my config.g is:
Do you also have a config-override.g present with M307 commands in it?
@Tinchus said in migrate config.g:
M501 ; load saved parameters from non-volatile memory
You can an M501 command at the end of config.g, which loads config-override.g, perhaps it's from an older version though?
Are you able to edit the config.g now? or are you still having problems with that?
Can you tell us what point you're currently at?
-
@Phaedrux yes, I found these lines in config-override:
M307 H0 A26.3 C284.7 D3.5 S1.00 V23.9 B0
M307 H1 A657.9 C255.6 D5.8 S0.95 V23.9 B0
M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0I guess they were created after automatic tunning of heaters
Im able to edit config.g directly from the duet web control.
My actual state is kind of bad. Im getting many different errors, it is a mess actually. Im updating all software from scratch to be sure there is nothing corrupt.
My question is: my config.g file was working ok with duet3+octoprint. I was printing with on problems.
The config.g file I trying to use with duet web control is the same file, I uploaded it from the interface, why Im having these problems?This is what I did:
.- my duet came with an SD card, that is the one Im using.
.- I updated the firmware to 3.1.1 using the windows USB connection method
.- I connected the ribbon cable.
.- Then I ran the sudo aptget update instructions I found in duet website tutorial, no errors reported.
Is this OK? do I need to update DWC too?For example, my Z motors are not moving at all with the DWC, there was no problem with them using the same config.g and octoprint
Ideas? -
Can you please send M122 in the gcode console and post the results?
I suggest getting a fresh image of DuetPi from here and reflashing your Pi SD card.
https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_DuetPi
Then doing a sudo apt update sudo apt upgrade
-
@Phaedrux Im super confused. I downloaded the new raspi image, I did the upgrades (they are launched in the we interface at the first boot, nice!)
After reboot I uploaded my config files.
1.- problem: I noticed there is no ssh connection available
2.- I tried to do a homeing: HOME ALLI get this error:
Error: G0/G1: insufficient axes homedMy homeall.g was working ok before:
; homeall.g
; called to home all axes
;
M280 P0 S92
T0 P0; Calibration of motor currents etc
G91
G1 H2 Z0.02 F500
G4 P150
G1 H2 X0.02 F2000
G4 P150
G1 H2 Y0.02 F2000
G4 P150M400
M913 X60 Y60 ; drop motor current to 60%
M400; HOME X/Y
G1 H1 Y-400 X-400 F10000 ;
G1 Y175 X175 F5000 ;
M400
G1 H1 Y-400 F10000
G1 Y175G1 H1 X-400 F10000
G1 X175
M400G90 ; absolute positioning
M400
M913 X100 Y100 ; drop motor current to 100%
M400; Z HOMING
; G1 X175 Y175 F5000 go to first bed probe point and home Z for beta3
G1 X135 Y100 F5000 ; for beta4
G30Home X and Y reports the same error. The files were also working ok.
the files:
; homex.g
; called to home the X axis
;M280 P0 S92
T0 P0; Calibration of motor currents etc
G91
G1 H2 Z0.02 F500
G4 P150
G1 H2 X0.02 F2000
G4 P150
G1 H2 Y0.02 F2000
G4 P150
G1 X50 F5000
M400
M913 X60 Y60
G1 H1 X-400 F10000
G90
M913 X100 Y100
G1 X175 F4000
M400M280 P0 S92
T0 P0G91
G1 H2 Z0.02 F500
G4 P150
G1 H2 X0.02 F2000
G4 P150
G1 H2 Y0.02 F2000
G4 P150
M400
G1 Y50 F5000
M400
M913 X60 Y60
G1 H1 Y-400 F10000
G90
M913 X100 Y100
G1 Y175 F4000
M400The M122 reports this:
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-956L2-G43S4-6JTD2-3SJ6J-1A6GG
Used output buffers: 1 of 40 (10 max)
=== RTOS ===
Static ram: 154604
Dynamic ram: 162568 of which 68 recycled
Exception stack ram used: 412
Never used ram: 75564
Tasks: NETWORK(ready,1972) HEAT(blocked,1188) CanReceiv(suspended,3820) CanSender(suspended,1460) CanClock(blocked,1436) TMC(blocked,204) MAIN(running,4952) IDLE(ready,76)
Owned mutexes:
=== Platform ===
Last reset 00:07:48 ago, cause: power up
Last software reset at 2020-11-20 19:38, reason: User, spinning module LinuxInterface, available RAM 75160 bytes (slot 2)
Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
Error status: 0
MCU temperature: min 34.3, current 39.6, max 39.7
Supply voltage: min 23.9, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0
Driver 0: standstill, reads 10286, writes 22 timeouts 0, SG min/max 0/92
Driver 1: standstill, reads 10287, writes 22 timeouts 0, SG min/max 0/90
Driver 2: standstill, reads 10289, writes 20 timeouts 0, SG min/max 0/1023
Driver 3: standstill, reads 10290, writes 20 timeouts 0, SG min/max 0/1023
Driver 4: standstill, reads 10295, writes 15 timeouts 0, SG min/max 0/0
Driver 5: standstill, reads 10296, writes 15 timeouts 0, SG min/max 0/0
Date/time: 2020-11-21 00:31:26
Slowest loop: 4.03ms; fastest: 0.14ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
Hiccups: 0(0), FreeDm: 375, MinFreeDm: 374, MaxWait: 98508ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 13, completed moves: 13, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== Heat ===
Bed heaters = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = 0 -1 -1 -1
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP* is ready with "M122" in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger* is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
SBC is idle in state(s) 0
Daemon* is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 0.82ms; fastest: 0.01ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
HTTP sessions: 0 of 8- Ethernet -
State: disabled
Error counts: 0 0 0 0 0
Socket states: 0 0 0 0 0 0 0 0
=== CAN ===
Messages sent 1785, longest wait 0ms for type 0
=== Linux interface ===
State: 0, failed transfers: 0
Last transfer: 17ms ago
RX/TX seq numbers: 14410/14411
SPI underruns 0, overruns 0
Number of disconnects: 0
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.1.1
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 25.35
Thanks in advance
- Ethernet -
-
When connected to the DWC, the system tab on the left side is used to show you your config and homing files. Is that where you are editing your files?
Your homing files isn't quite right for corexy.
; HOME X/Y
G1 H1 Y-400 X-400 F10000 ;
G1 Y175 X175 F5000 ;This section will home both x and y but will stop both axis when either one hits. So the second move at least one of the axis will not yet be homed.
Use something like this instead for corexy
https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_homeall_g_file
G91 ; relative mode G1 H1 X-240 Y-240 F3000 ; coarse home X or Y G1 H1 X-240 ; coarse home X G1 H1 Y-240 ; coarse home Y G1 X4 Y4 F600 ; move away from the endstops G1 H1 X-10 ; fine home X G1 H1 Y-10 ; fine home Y ''' Z homing section follows'''