MDRO(1)

πŸ’– MDRO β€” manual only Digital Read Out (DRO) πŸ’–

okay bestie so let me tell you about mdro, which lives in the HAL User's Manual and is genuinely one of the most useful little guys out there 🫢


✨ NAME ✨

mdro β€” manual only Digital Read Out (DRO). that's it, that's the whole name, no notes πŸ’…


🌸 SYNOPSIS 🌸

mdro [-v] [-p point_size] [-m] [-l file.var] [axes]

πŸ¦‹ DESCRIPTION πŸ¦‹

so mdro is a manual only DRO and it does the same kinda job as a traditional manual DRO. no cap. it's most useful for manual machines that got converted to CNC ✨

the way it works: you keep manually controlling the machine, but you keep using the DRO scales on the axes. best of both worlds fr fr πŸ’–

the GUI can be sized to match your screen β€” it's mouse-only and touchscreen friendly πŸŽ€ so go ahead and poke it, it loves that.


πŸ’… OPTIONS πŸ’…

these command line options are normally used when mdro is started in a HAL file. see below for the corresponding .ini file options πŸ‘‘

  • v β€” turns on verbose debug prints. and -vv is even more verbose, because of course it is 😭
  • p point_size β€” sets the point size for the text in the application. this one is lowkey in charge of the overall size of the window on the screen. default is 20. typical values range from 20 to 30. πŸ’–
  • m β€” set this if the DRO scales provide data scaled in millimeters. πŸ“
  • l file.var β€” loads G54 through G57 coordinates from file.var. πŸ’Ύ
  • axes β€” this one specifies the names of the axes handled by the program. default is "XYZ". a four axis mill would use "XYZA", and a lathe with a two axis DRO might use "XZ". 🧚

πŸŽ€ SCREEN CONFIGURATION πŸŽ€

the top of the screen includes a row for each axis specified in axes. the data in these rows comes from signals on the mdro.axis.n pins that get instantiated when mdro is started. ✨

each row has buttons that let you:

  • zero the value
  • halve the value
  • enter a new value

and there's also a button that enables the index zero process for that axis. πŸ‘‘

the screen also includes buttons that let you select one of four different coordinate systems. the machine coordinate system can also be selected β€” though it cannot be changed, so don't try it bestie, it's giving "look but don't touch" πŸ™ˆ

the screen includes a keypad that you can use with a mouse or a touch screen to enter coordinate data. πŸ’œ

and finally, buttons on the screen let you pick between inch or mm data display. 🌈


🌟 USAGE 🌟

mdro is normally started from the [DISPLAY] entry in a dedicated mdro.ini file. the INI file and the associated HAL files should include the pins and signals that support the DRO scales. 🫢

important: the HAL connections to mdro must be done in the POSTGUI_HALFILE referenced in the INI file. must. not optional. periodt. πŸ’…

other [DISPLAY] section options:

  • GEOMETRY = axes β€” names the coordinate axes used in the program. for example, "XYZ" for a 3 axis mill or "XZ" for a lathe. default is "XYZ". 🧚
  • MDRO_VAR_FILE = file.var β€” preload a VAR file. this is typically the VAR file used by the operational code. πŸ’Ύ
  • POINT_SIZE = n β€” this option sets the size of the font used, which sets the overall size of the window. the default point size is 20. typical sizes are 20 to 30. πŸ”₯
  • MM = 1 β€” set this if the DRO scales provide data scaled in millimeters. πŸ“

⭐ EXAMPLES ⭐

say we use "XYZA" as the axes argument. these pins will be created when mdro starts:

mdro.axis.0
mdro.axis.1
mdro.axis.2
mdro.axis.3
mdro.index-enable.0
mdro.index-enable.1
mdro.index-enable.2
mdro.index-enable.3

in this example, the first row will be labeled "X" and will show the data associated with pin mdro.axis.0. in many configurations, mdro.axis.0 can be connected directly to x-pos-fb in the POSTGUI-HAL file. the index pins should be connected to the corresponding index-enable pins from the DRO. ✨

mdro can also be started via a "loadusr" command in a HAL file, like for a trial run. here's an example of a sim setup:

loadusr -W mdro -l sim.var XYZ
net x-pos-fb  => mdro.axis.0
net y-pos-fb  => mdro.axis.1
net z-pos-fb  => mdro.axis.2

πŸ‘‘ AUTHOR πŸ‘‘

Robert Bond πŸ’–


Copyright Β© 2022 Robert Bond

this is free software; see the source for copying conditions. there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. like genuinely none, bestie, don't come for anyone if it misbehaves 😭


okay that's the whole page!! written for the LinuxCNC Documentation, dated 2022-04-01, and yes the man page section is MDRO(1) πŸŽ€ go forth and read those scales, you absolute main character πŸ’…βœ¨