
Best posts made by sinned6915
-
RRF Cheat Sheet
Hi -
Edit 5/30/2021: TLDR 3-page tape together RepRap G&M Code reference Version 1.0 is below and linked here - https://git.io/JGWSJ
RepRap GCode-MCode Cheat Sheet pdf
I have been keeping a notepad near my printer to write stuff like the gcodes that I can not remember when I am stading in front of the PanelDue. Its pretty disorganized as of late.
It finally dawned on me that what I really want is a 'cheat sheet' or sorts. Maybe 1 page, front and back that can get laminated and slid under the printer, to be pulled out when you need to remeber how to use something to key it in. Something with print large enough to read so you don't need to use soda bottle reading glasses to glance at.
I fount this one online, and while its a bit outdated, is descent. I don't like how its like a page and a half though. Its a starting point at least.
https://www.makeit-3d.com/wp-content/uploads/RepRapGcodeCheatSheet.pdf
Anyone interested in helping me create one for RRF 2/RRF 3 ? I know that RRF 2 is no longer officially being developed, but there is still a large user base out there that I don't think we should ignore.
Something like color coded GCode entries- reguala black text for both versions, blue for RRF2, green for RRF3.
I am asking for help because I don't feel that I have enough experience to know what I don't know, and what I will need in the future.
I am sure that there are others out there who are more GCode fluent and can suggest the common, not so common and would be handy to have at your fingertips suggestions.
EDIT: Here is my start on Google Sheets-
https://docs.google.com/spreadsheets/d/1t7sre2tTz08T092pJQXnBBwlMeCLlWj1bUkufDhtY-A/edit?usp=sharing
Here is what I am thinking about for color coding options to show the differences between versions. I'm not sold on it yet, but its a start.
I am thinking the easiest way to whittle down the Mcode list is to use filters- entering 'Yes' in the second column will let us cull the list pretty quickly.
-
RE: RRF Cheat Sheet
I realized that I had not updated this in a while. Its still a work in progress, but this PDF should print to US Letter landscape. I could use some help converting to SVG so it would be page independant.
Contribution/Objective Critique and Collaboration welcome.
files on git here: https://github.com/nionio6915/RRF-Cheat-Sheet
-
Requesting detachable Z-probe to be added to the config tool
Hi all-
I'd like to request that an entry be added to the config tool and the dozuki pages for detachable probes under the endstop configuration page.
I am the developer of the Euclid Probe- a probe which is mechanically and electrically coupled through the use of a pair of magnets. The style of probe is gaining in popularity- beyond the installations of Euclid there are a few derivatives of and and imitations of Euclid and it's system.
The probe is essentialy an NC microswitch that is deployed and retracted via the M401 and M402 macros. It can be used as a Z-endstop and as a stand alone Z-probe. In RRF3 Conditional gcode used in the macros for deployment and retraction make the detachable probe robust and reliable. In RRF2, there were no logic checks and the user has to verify attachement or removal.
A corrolary device might be Johan's Allen Key probe that had a few deliberate motions to deply and retract. Those movement steps would need to be user input either by fields in the config tool, or with placeholders in M401/M402 macros to be edited later. Those macros could probably get some extra comments peppered throughout as needed.
I will admit to having some bias towards my own device, but as a class or type of hardware there is certainly a growing following. I'd like to get this catagory/group added to the config tool.
How does a new entry get considered?
What kind of supporting information do we need to provide and maintain?
Thanks in advance
Dennis P.
-
RE: Best probing choice
@mendelevium BLTouch can suffer from inaccuracies from heat and magnetism. Anything with onbaord electronics will suffer some sort of drift at temps >80C.
full disclosure: I am the creator of Euclid Probe. you can buy a kit or roll your own from the git repo. I think you will find it suitable for your needs.
Induction type probes will also suffer from some drift at those temps. Trying to get the device close to the nozzle also creates some difficulties. Voron users have give us feedback that they switched away from those specifically becasue they melted the housing being too close to the hot end.
The limitations on it are the temperatures for the components. Most switches are rated at 75-85C. For highter temps, we have kits that have components that are good for service at 100C and 125C.
DIY solutions that rely on friction, glues and similar suffer from durability.
-
RE: My Maestro Menu Files are now on github
I threw together an Excel spreadsheet to 'draw' icons and convert the binary and hex numbers. Its semi-automatic: meaning that you might need to adjust the lines and ranges to suit.
I 'checked' it against the binary for the fan.img icon in mud's menus.
https://github.com/nionio6915/LPC1768-RepRapFirmware-Files/blob/master/icon-creator.xlsx?raw=true
It uses conditional formatting to highlight the boxes and fill them in if you populate it with a 1, and spits out the binary and hex codes.
I only set it up for up to 8 pixel and 16 pixel widths. If you adjust the rows / columns you will have to play with the array and transposes.
Its not hard, but dont be surprised if you have to tweak it a bit.As always, use at your own risk, your mileage will vary.
-
RE: Z probe type?
I am using a similar probe. You can't tell if it is a SPST or SPDT snap action swtich unless you tested to see if the switch is NC or NO. That will make a difference too. NC is prefered. Hook up a test light or DMM and check. The config is different if it active low or hgh.
What is your M574 config line look like?
https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3 -
RE: I think I'm in the wrong place
@darryl123 youy can post images via the button here or just pasting them into the message body.
you might also find a service like imgur helpful- look at Desktop Website instructions
-
RE: Aluminum anodizing for IR probe
I have black anodized aluminum under PEI and it works beautifully
-
RE: Solved: Jogging past axis limits..?
@nightowl999
do you have and H564 statements in your homing macros ?formating: use three back ticks , the one under the ~, top left of your keyboard.
test
Latest posts made by sinned6915
-
RE: Euclid Probe behavior question
@dmbe11 the behavior you describe of moving straight to the dock then shaking is not normal.
the methodolgy is covered i the Eucild help files-
https://euclidprobe.github.io/06_rrf3.html#reprap-firmware-3x-usage-overviewplease post your files. we will be happy to help.
sinneD
-
RE: Alternative to BLtouch
@jens55 Euclid has sucessfully installed on Ender3's with auto deploy and stow.
You can always simplify and nad deply.disclaimer: I am the one behind Euclid probe.
-
RE: Probe deploy in loops
@dc42 i am using a detachable probe. here are my configs and macros:
; Mag Probe Settings ; RRF2 was M558 P5 H8 F300 T9000 A1 S.01 ; set Z probe type to switch and the dive height + speeds. Probe A times M558 K0 P8 C"^zprobe.in" H10 R0.5 F360:120 T9000 A5 S0.01 ; M558 K0 P5 C"^zprobe.in" H10 R0.5 F200 T9000 A1 S0.03 ; K0 for probe 0, P5 for filtered NC switch, P8 for UN-filtered NC switch, C for input pin, ; ^ for enabling the native pullup resistor on Duet2 hardware running RRF3 ; H dive height of 8mm, F240/120 probing speed 4-2mm/sec, T9000 travel speed 150mm/sec, ; A3 number of probes 1, S0.01 max tolerance of 0.01 ; G31 K0 P500 X-16.4 Y-29.27 Z3.12 ; for snap action switches DF2 etc
deployprobe.g
; *********************************************************** ; Euclid Probe Fixed Dock M401 Deploy Probe Macro ; saveas system/deployprobe.g ; comments and echo statements throughout are provided for convenience ; *********************************************************** ; echo "Running deployprobe.g" ; echo "Homing Check" if !move.axes[0].homed || !move.axes[1].homed ; If the printer hasn't been homed, home it M98 P"0:/sys/homexy.g" ; uncomment next line to echo the probe deploy state ; echo "Object Model Deployuser token =" ^sensors.probes[0].deployedByUser M564 H1 S0 ; Allow movement BEYOND axes boundaries (for Y to reach probe dock) G91 ; relative positioning ; echo "Lift Z in advance of deploy" G1 H2 Z15 F3000 ; move Z 15 for clearance above dock. ; ; need to figure out some safety check on this G90 ; absolute positioning ; echo "Probe Value =" ^sensors.probes[0].value[0] if sensors.probes[0].value[0]!=1000 ; if sensor is value other than 1000 do this ; uncomment next line to echo the probe deploy state echo "deployuser token = " ^sensors.probes[0].deployedByUser echo "Probe State = " ^sensors.probes[0].value[0] abort "deployprobe start value Probe already picked up. Manually return probe to the dock" ; if we're here we know it's becasue the above is true which I assume is because you have an NC switch as a probe. ; echo "Passed first logic test to deploy probe" ; Dock side position is at X0 Y20 ; Docked probe postion is at X0 Y-16 ; Dock exit point is at X65 Y-16 G90 G1 X0.0 Y20.0 F6000 ; move adjacent to probe dock location M400 ; wait for moves to finish G4 P250 ; wait 250 msecs ; echo "Probe Pickup while loop running" ; uncomment next line to echo the probe deplot state ; echo "Object Model Deployuser token (before while loop) = " ^sensors.probes[0].deployedByUser ; while sensors.probes[0].value[0]=1000 G90 G0 X0.0 Y-16.0 F3000 ; move over dock M400 ; wait for moves to finish G4 P250 ; pause for pickup ; echo "Probe Value =" ^sensors.probes[0].value[0] G0 X65 Y-16.0 F1200 ; slide probe out of dock - slowly M400 ; wait for moves to finish G4 P250 ; pause 1 seconds ; echo "Move to Center" G1 X150 Y150 F3000 ; move bed to clear probe from build surface M400 ; wait for moves to finish G4 P250 ; echo "Probe Pickup while loop complete" ; uncomment to echo the probe deplot state ; echo "Object Model Deployuser token (after while loop) = " ^sensors.probes[0].deployedByUser if sensors.probes[0].value[0]!=0 ; uncomment to echo the probe deploy state echo "Object Model Deployuser token (in abort if section)= " ^sensors.probes[0].deployedByUser abort "Deployprobe endvalue not 0 Probe not picked up! Deploy cancelled." echo "Restrict to Print Bed Size" M564 H1 S1 ; Restrict movement to within axes boundaries (for normal Y movement) echo "Macro deployprobe.g complete"
retractprobe.g
; *********************************************************** ; ; retractprobe.g ; ; *********************************************************** ; M118 S"Redefine probe as NC" ; M558 K0 P5 C"^zprobe.in" H8 R0.5 F200 T9000 A1 S0.03 ; M400 ; echo "running retractprobe.g macro" ; echo "deployuser token= " ^sensors.probes[0].deployedByUser ; echo "Probe Value = " ^sensors.probes[0].value[0] if sensors.probes[0].value[0]!= 0 echo "deployuser token= " ^sensors.probes[0].deployedByUser echo "Probe Value = " ^sensors.probes[0].value[0] abort "retractprobe: Probe not currently picked up!" ; echo "pass first logic loop" M564 S0 ; allow movement outside of print area ; echo "deployuser token= " ^sensors.probes[0].deployedByUser ; echo "Probe Value = " ^sensors.probes[0].value[0] G90 ; absolute positioning ; G1 X100.0 Y4.0 Z7.89 F12000 ; move to the starting point ; G1 X100.0 Y-27.0 Z7.890 F12000 ; move to the starting point Glass Bed G0 X100.0 Y-16.0 Z9.0 F12000 ; move to the starting point Bare Alum G0 X45.0 Y-16.0 F6000 ; move to the entry position for the dock G0 X2.0 Y-16.0 F3000 ; move to the dock position G0 X2.0 Y0.0 F12000 ; move to the side adjacent to the dock M400 G4 P250 G0 X100.0 Y0.0 F12000 ; move to the right to clear dock G0 X145 Y0.0 F6000 ; move to start point at middle front M400 G4 P250 M564 S1 ; limit axis to print area ; echo "complete movement commands" if sensors.probes[0].value[0]!= 1000 echo "deployuser token= " ^sensors.probes[0].deployedByUser echo "Probe Value = " ^sensors.probes[0].value[0] abort "retractprobe: Probe not correctly dropped off in dock!" ; echo "deployuser token= " ^sensors.probes[0].deployedByUser ; echo "Probe Value = " ^sensors.probes[0].value[0] ; echo "retractprobe.g macro complete"
-
RE: Elegant way to cancel a print during start
@chrishamm so do you you use the 'Filaments' to do things like organize, track usage, retraction and such too?
-
RE: Problems with macros
@tylersuard said in Problems with macros:
Sometimes my nozzle will rake across a particularly rough patch, and cause a layer skip.
THAT would be the thing to spend time on. You should not be getting rough patches like that often enough to want to write a macro to work around it.
An occasional ooze or blob is one thing, but as I read your post, if this happens often, let figure what is causing the condition and fix it.
-
RE: Elegant way to cancel a print during start
@chrishamm said in Elegant way to cancel a print during start:
@jay_s_uk I invoke a macro file
check-filament.g
from my start G-code to check the loaded filament (M98 P"check-filament.g" F"PLA"
e.g.). It's simple as this:if move.extruders[0].filament != param.F abort "Incorrect filament loaded!"
That will effectively abort the print if the wrong filament is loaded without running any pause/stop macros.
How would this work? What is the piece that you are looking at to compare in the logic statement?
Where/How are you defining the filament?
sinneD
-
Probe deploy in loops
I am working on a probe_find_Z macro. I started rolling my own, then found owendare's and wanted to try it with the while loop instead .
the odd behavior is it will pick up the probe and then the system will complain the probe is already deployed before probing.
normally, I try to wrap any sucessive probing with M401/M402 sequences. I can not figure out where its checking the probe status and erring out.
do i need another while loop to check the probe deploy token?
here is the output-
deployuser token = true Probe State = 0 deployprobe start value Probe already picked up. Manually return probe to the dock
from this macro-
; Probe the same spot 10 times to test repeatably. M291 P"Probe will be tested 10 times and return mean and standard deviation. Ok or Cancel?" R"Begin probe test?" S3 ; User must click OK or cancel. ; Check if any axis hasn't been homed, and home it if required while iterations < #move.axes ; By putting # in front of the array object, it will return the number of configured axis if !move.axes[iterations].homed ; if this axis is not homed G28 ; home all axes break ; no need to continue this loop else ; All axes are homed, but may not be in a point that can be probed. Move to the center of the area that can be probed. M401 G1 X{(move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0])/2} Y{(move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1])/2} Z15 F6000 M400 ;now begin our probe test while iterations < 10 if iterations <9 G30 P{iterations} X{move.axes[0].machinePosition} Y{move.axes[1].machinePosition} Z-9999 ; probe the current position and record the offset else G30 P{iterations} X{move.axes[0].machinePosition} Y{move.axes[1].machinePosition} Z-9999 S-1 ; probe the current position and calculate the deviation M402
this is mine- half done, but with static probes instead of a loop.
;*** ; findZprobeoffset.g ; *** ; the system must be homed before running this macro ; echo sensors.probes[0].deployedByUser if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed ; If the printer hasnt been Y homed, home it M98 P"0:/sys/homex.g" M98 P"0:/sys/homey.g" M98 P"0:/sys/homez.g" ; make sure that the nozzle is properly gapped with known height gauge before the start of the test ; Preheat nozzle to 130, clean nozzle, touch off nozzle to 0.2mm feeler gauge, G92 Z0.2 M291 P"Has the system been calibrated to a known good thickness gauge and the height set via G92? Ok or Cancel?" R"WARNING" S3 M291 P"Probe will be tested 10 times and return mean and standard deviation. Ok or Cancel?" R"WARNING" S3 ; User must click OK or cancel. M401 ; deploy probe ; echo sensors.probes[0].deployedByUser G1 X75 Y75 Z15 ; travel to X,Y of probe point 15mm above bed G30 Z-9999 ; probe point 1 G30 Z-9999 ; probe point 2 G30 Z-9999 ; probe point 3 G30 Z-9999 ; probe point 4 G30 Z-9999 ; probe point 5 G30 Z-9999 ; probe point 6 G30 Z-9999 ; probe point 7 G30 Z-9999 ; probe point 8 G30 Z-9999 ; probe point 9 G30 Z-9999 S-1 ; probe point 10, computer average and standard of deviation G91 G0 Z15 G90 M400 G4 P500 ; echo sensors.probes[0].deployedByUser M402 ; retract probe ; echo sensors.probes[0].deployedByUser M400
-
RE: Linear Rail for Euclid Probe
@fcwilt THANK YOU!
@JohnDStrand have you seen fcwilt's most excellent video of his system?
-
RE: CNC Gui Thoughts
@markz yes, this is what i think of when i picture a CNC controller in my mind.
Sadly, I dont think that Paneldue or DWC was ever concieved to provide this kind of functionality. I think it will take a major re-write to build in some of this and its a small market to service.