@pouryatorabi I can't think of anything, but am looking forward to suggestions, if there are any by others
Posts made by adambx
-
RE: Sending data from python server to Duet
-
RE: Sending data from python server to Duet
Hi,
you could have a parameter in the macro like "param.R" for example.
If you call the macro with the parameter, it will act as if it received a resultM1585 -> Server ....calculate... M1585 R{result} <- Server
of course that's not synchronous. If you want to wait for the answer, another option would be to use a message box. That would be a little bit more complicated, although much more flexible
Afaik there is no other way to wait for a message via GCODE...
-
RE: Save arbitrary sensor data to CSV like M956
@chrishamm Thanks for the reply.
I was thinking of faster streaming, maybe something along the lines of 100Hz. The added difficulty might be that i'm using CAN Connected boards.It would be an alternative to making custom boards.
-
Save arbitrary sensor data to CSV like M956
Would it at all be feasible to implement saving short bursts of sensor data to CSV similarly to the Accelerometer?
I'm interested in sub-CAN frequency, otherwise i would use a regular loop in a macro.
Many sensors give analog output but 250ms update rate might be a little slow to get meaningful data.I envision something where there are following inputs:
- Sensor number to log
- Logging frequency
- Duration/number of samples
- Filename
(- write XYZ axis position along with the value?)
Just asking for general feasibility as in "maybe 3.7" or "rather 4.0"
Cheers
-
FilamentMonitor A0 but still update DM for all moves?
Re: Filament Monitor Data Access from OM
Hello all
quick questions/suggestions for the DataModel filamentMonitors
When i configure the filamentMonitor to only monitor printing moves, the data model values are not updated when extruding without printing. Is that intended? Additionally, could the totalExtrusion be updated with a higher frequency instead of in increments of the checked length? Typically i use a check length of 6mm and it is irritating when i make a 3mm extrusion move, the totalExtrusion is not updated until i extrude multiple times.
A bit more context:
I am using a macro to calibrate flowrate multipliers using the filament monitor which in general works quite well, but for that I need to reconfigure it to monitor all moves since the DM values are not updated otherwise.Now I am also extruding with an empty extruder while waiting for filament to be loaded using another macro, and this causes filament-error.g calls as long as the user does not push filament in yet.
I know i can check for status == "processing" in the filament-error.g and ignore it otherwise, but from my point of view the intuitive approach would be to configure the monitor as A0, but still be able to use the data model to monitor values when using it outside of printing. Does that make sense?
-
RE: [RRF 3.5.2] Extruder motor fails to do a long extrusion
@dc42 understood, thanks for the detailed response. Moves this long are not really a use case when 3d printing i guess. Certainly not important for us right now as the behaviour was only noticed on accident.
Thanks again!
Cheers -
RE: [RRF 3.5.2] Extruder motor fails to do a long extrusion
So here with a little better production value, and full config
I noticed I had 128 Microstepping configured for the extruder, which seemed a little excessive, so i reduced it down to 32, to see if the issue still occurs. This time the extruder emitted a loud screeching noise without motor movement .(beware of the volume when watching the video) I've attached a random coupling to the output shaft just for better visualization of the movement.
You can see the console as well as the extruder in the video with both
E20
andE20000
variants.
WhatsApp Video 2024-08-07 at 20.58.56_bf3ab18c.mp4Note that the issue occurs in both Standalone and SBC mode when the extruder is connected via CAN.
Full config.g
; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"duet3" ; set printer name ; Drives M569 P0 S1 D3 M569 P1 S1 D3 M569 P2 S1 D3 M569 P3 S1 D3 M569 P4 S1 D3 M569 P121.0 S0 M584 X0 Y4:3 Z1:2 E121.0 ;spindle XY 50mm/r ;spindle Z 5mm/r ;extruder 30.778125/r Bondtech QR M350 X128 Y128 Z32 E32 I1 ; configure microstepping with interpolation M92 X512.00 Y512.00 Z17920 E1408.4125 ; set steps per mm M566 X1000 Y1000 Z10.00 E600.00 ; set maximum instantaneous speed changes (mm/min) M203 X30000.00 Y30000.00 Z300.00 E1200.00 ; set maximum speeds (mm/min) M201 X2500.00 Y2500.00 Z50.00 E3000.00 ; set accelerations (mm/s^2) M906 X1400 Y1400 Z650 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; ringing cancellation 24Hz M593 P"zvd" F40.5 M572 D0 S0.02 ; Axis Limits M208 X-55 Y-20 Z0 S1 M208 X440 Y400 Z300 S0 ; Endstops M574 X1 S1 P"!io0.in" M574 Y1 S1 P"!io1.in+!io2.in" M574 Z1 S1 P"!io7.in+!io8.in" ; Z-Probe1 M558 K0 P1 C"!io4.in" H2 F1500 G31 K0 P500 X0 Y0 Z-0.1 M557 X-10:320 Y63:230 P5:3 ; define mesh grid G4 S2 ; wait for expansion boards to start ; Heaters M308 S0 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out2" T0 Q10 ; create bed heater output on out0 and map it to sensor 0 M143 H0 S110 ; set temperature limit for heater 0 to 120C M307 H0 R0.244 K0.145:0.000 D18.04 E1.35 S1.00 B0 M140 H0 ; map heated bed to heater 0 M308 S1 P"121.temp0" Y"pt1000" ; configure sensor 1 as thermistor on pin temp2 M950 H1 C"121.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Heater model parameters M307 H1 R1.947 K0.240:0.254 D11.64 E1.35 S1.00 B0 V23.4 ; Fans M950 F0 C"121.out1" Q500 ; create fan 0 on pin out3 and set its frequency M106 P0 S0 C"T0 Hotend" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"121.out2" ; create fan 1 on pin out4 and set its frequency M106 P1 C"T0 Coldend" H1:1 T40 ; Coldend on for extruder > 40 C M950 F9 C"out9" M106 P9 S200 C"UV Led" M950 F8 C"!out4" M106 P8 S80 I1 C"Cabinet" M591 D0 P3 C"121.io1.in" S1 R92:110 L25.6 ; filament monitor M591 D0 ; display filament sensor parameters for extruder drive 0 ; Tools M563 P0 D0 H1 F0 ; 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 M200 D2.85 M200 S0
-
RE: [RRF 3.5.2] Extruder motor fails to do a long extrusion
@deckingman I am working with @leone on this:
There was no typo, having (
G1 E20 F100
) works fine and the extruder moves with proper F100Here you can see the rotation speed in the first few seconds and the console line later.
In the first Video you can see the console input in the beginning. The only change is the E parameter value.MB6HC, TB1LC. I can post the extruder config later when i have access to it, but it has been running fine for the last couple of years. Although we have never extruded 20m at once and only discovered this by accident
Cheers
-
RE: Mutiple Motion Systems & Macro Conflicts in 3.5
Thanks a lot. Will try it out!
-
RE: Mutiple Motion Systems & Macro Conflicts in 3.5
Hi @SumoSniper ,
I'm facing similar issues, but with a more complex macro structure with submacros modifying and checking global variables. I haven't investigated too deeply but have been able to get around all issues so far by adding some M598's. First randomly at the start of every macro that is being called and at various points inside the macros. I settled on placing M598's after calls to macros that could modify a global variable that i will need later on and before i check/use a global variable that could have been modified by a macro.Due to time constraints i could not investigate too far or boil it down to test cases, but i figured it's because of the deferred queue. Now macros called from jobs behave just as theones being called when no job is running.
I hope to have some time to read up more on this topic at some point. It would also help if the documentation had some examples of what could go wrong for people using only 1 motion system but trip over some problems with macros, meta commands and queueing etc.
Hope my "advice" could help out
Cheers -
FTP does not properly respond to "LIST -a"
I am using wget to download files from the SD Card using FTP. worked so far for 3.4, but has stopped working in 3.5.
After some research it turns out that the newly introduced feature of supporting LIST <dir> does not take into account the -a flag that is sent by many FTP clients including wget.there is a discussion here:
https://savannah.gnu.org/bugs/?59954The relevant change is here. Should an error be returned on LIST -a?
https://github.com/Duet3D/RepRapFirmware/commit/7e11027b22a0720d756369393bf96d94a2c01b9a#diff-1608ecf6e91dd6a71fa80c16d6c79cc2e79f5b6ed17ab92a97b8fd8de96d1dd4R675-R678i guess if an error is returned, wget will retry with "LIST", that's the usual behaviour.
debug output of wget looks like this:
230 Login successful. Logged in! ==> SYST ... --> SYST 215 UNIX Type: L8 done. UNIX TYPE L8: I know it and I will use "LIST -a" as standard list command
Cheers
Adam