diff --git a/docs/html/gcode.html b/docs/html/gcode.html index 479b2097106..bc6c03259b2 100644 --- a/docs/html/gcode.html +++ b/docs/html/gcode.html @@ -39,12 +39,12 @@ tr.odd td { background: #d9d9d9; } tr.head td, tr.head th { background: black; color: white; } --> -LinuxCNC "G-Code" Quick Reference +LinuxCNC "G-code" Quick Reference - + diff --git a/docs/src/config/iov2.adoc b/docs/src/config/iov2.adoc index 03a94f654aa..0c238b4ef5b 100644 --- a/docs/src/config/iov2.adoc +++ b/docs/src/config/iov2.adoc @@ -14,7 +14,7 @@ I/O control handles I/O tasks like coolant, toolchange, e-stop and lube. The signals are turned on and off in userspace with G-code or in the case of e-stop -in hal. +in HAL. I/O Control V2 adds more toolchanger support for communication with the toolchanger. @@ -36,7 +36,7 @@ toolchanger. * Consistent view of state: Both parties must have a consistent view of the state at any point in time with respect to aborted versus completed, and tool - number and pocket + number and pocket. * Handshaked signaling an abort/fault: an abort signaled by LinuxCNC to the toolchanger, and a fault indicated from the toolchanger is handshaked to diff --git a/docs/src/config/lathe-config.adoc b/docs/src/config/lathe-config.adoc index 0e849badc2b..1d2f0125641 100644 --- a/docs/src/config/lathe-config.adoc +++ b/docs/src/config/lathe-config.adoc @@ -30,7 +30,7 @@ in the preamble of the G-code file. The following .ini settings are needed for lathe mode in Axis in addition to or replacing normal settings in the .ini file. These historical settings use identity kinematics (trivkins) and 'three' joints (0,1,2) corresponding to -coordinates x,y,z. The joint 1 for the unused y axis is required but not used +coordinates x, y, z. The joint 1 for the unused y axis is required but not used in these historical configurations. Simulated lathe configs may use these historical settings. Gmoccapy also uses the mentioned settings, but does offer additional settings, diff --git a/docs/src/config/moveoff.adoc b/docs/src/config/moveoff.adoc index 5a463c9ef3b..28c45fc310a 100644 --- a/docs/src/config/moveoff.adoc +++ b/docs/src/config/moveoff.adoc @@ -10,11 +10,11 @@ :hal: {basebackend@docbook:'':hal} :ngc: {basebackend@docbook:'':ngc} -The moveoff Hal component is a Hal-only method +The moveoff HAL component is a HAL-only method for implementing offsets. See the manpage ('$ man moveoff') for the IMPORTANT limitations and warnings. -The moveoff component is used to offset joint positions using custom Hal +The moveoff component is used to offset joint positions using custom HAL connections. Implementing an offset-while-program-is-paused functionality is supported with appropriate connections for the input pins. Nine joints are supported. @@ -64,11 +64,11 @@ limits) and an 'Error' message is issued. [CAUTION] If offsets are enabled and applied and the machine is turned off for any -reason, any 'external' Hal logic that manages the enabling pins and the +reason, any 'external' HAL logic that manages the enabling pins and the offset-in-M inputs is responsible for their state when the machine is subsequently turned on again. -This Hal-only means of offsetting is typically not known to LinuxCNC +This HAL-only means of offsetting is typically not known to LinuxCNC nor available in GUI preview displays. *No protection is provided* for offset moves that exceed soft limits managed by LinuxCNC. Since soft limits are not honored, an offset move may encounter hard limits (or *CRASH* if @@ -76,8 +76,8 @@ there are no limit switches). Use of the offset-min-M and offset-max-M inputs to limit travel is recommended. Triggering a hard limit will turn off the machine -- see *Caution* above. -The offset-in-M values may be set with inifile settings, controlled by a GUI, -or managed by other Hal components and connections. Fixed values may be +The offset-in-M values may be set with INI file settings, controlled by a GUI, +or managed by other HAL components and connections. Fixed values may be appropriate in simple cases where the direction and amount of offset is well-defined but a control method is required to deactivate an enabling pin in order to return offsets to zero. GUIs may provide means for users to @@ -86,34 +86,34 @@ set offset-in-M values to zero before deasserting an enabling pin. The default values for accel, vel, min, max, epsilon, waypoint-sample-secs, and waypoint-threshold may not be suitable for any particular application. This -Hal component is unaware of limits enforced elsewhere by LinuxCNC. +HAL component is unaware of limits enforced elsewhere by LinuxCNC. Users should test usage in a simulator application and understand all hazards before use on hardware. Sim configurations that demonstrate the component and a -gui (moveoff_gui) are located in: +GUI (moveoff_gui) are located in: * configs/sim/axis/moveoff (axis-ui) * configs/sim/touchy/ngcgui (touchy-ui) == Modifying an existing configuration -A system-provided halfile (LIB:hookup_moveoff.tcl) can be used to adapt an -existing configuration to use the moveoff component. Additional ini file -settings support the use of a simple gui (moveoff_gui) for controlling offsets. +A system-provided HAL file (LIB:hookup_moveoff.tcl) can be used to adapt an +existing configuration to use the moveoff component. Additional INI file +settings support the use of a simple GUI (moveoff_gui) for controlling offsets. -When the system halfile (LIB:hookup_moveoff.tcl) is properly specified in -a configuration ini file, it will: +When the system HAL file (LIB:hookup_moveoff.tcl) is properly specified in +a configuration INI file, it will: . Disconnect the original joint.N.motor-pos-cmd and joint.N.motor-pos-fb pin connections . Load (loadrt) the moveoff component (using the name mv) with a personality - set to accommodate all axes identified in the ini file + set to accommodate all axes identified in the INI file . Add (addf) the moveoff component functions in the required sequence . Reconnect the joint.N.motor-pos-cmd and joint.N.motor-pos-fb pins to use the moveoff component . Set the moveoff component operating parameters and limits for each axis - in accordance with additional ini file settings + in accordance with additional INI file settings Note: The moveoff_gui application supports configurations that use known kinematics modules with KINEMATICS_TYPE=KINEMATICS_IDENTITY. Supported @@ -123,10 +123,10 @@ to the corresponding joint. Modify an existing configuration as follows: -Make sure there is an ini file entry for [HAL]HALUI and create a new +Make sure there is an INI file entry for [HAL]HALUI and create a new [HAL]HALFILE entry for LIB:hookup_moveoff.tcl. The entry for LIB:hookup_moveoff.tcl should follow all HALFILE= entries -for halfiles that connect the pins for joint.N.motor-pos-cmd, +for HAL files that connect the pins for joint.N.motor-pos-cmd, joint.N.motor-pos-fb, and any components connected to these pins (pid and encoder components in a servo system for instance). @@ -140,7 +140,7 @@ HALFILE = existing_configuration_halfile_n HALFILE = LIB:hookup_moveoff.tcl ---- -Add ini file entries for the per-axis settings for each axis in use (if an +Add INI file entries for the per-axis settings for each axis in use (if an entry is not defined, the corresponding entry from the [AXIS_n] section will be used, if no entry is found, then the moveoff component default will be used). @@ -157,7 +157,7 @@ MAX_VELOCITY = MAX_ACCELERATION = ---- -Add ini file entries for moveoff component settings (omit to use moveoff defaults): +Add INI file entries for moveoff component settings (omit to use moveoff defaults): [source,{ini}] ---- @@ -168,7 +168,7 @@ WAYPOINT_THRESHOLD = ---- The moveoff_gui is used to make additional required connections and provide -a popup gui to: +a popup GUI to: . Provide a control togglebutton to Enable/Disable offsets . Provide a control togglebutton to Enable/Disable backtracking @@ -197,29 +197,29 @@ The mv.apply-offsets is connected to halui.program.is-paused or set to 1 depending upon the command line option -mode [ onpause | always ]. A new signal is automatically created if necessary. -To use the moveoff_gui, add an entry in the ini file [APPLICATIONS] +To use the moveoff_gui, add an entry in the INI file [APPLICATIONS] section as follows: [source,{ini}] ---- [APPLICATIONS] # Note: a delay (specified in seconds) may be required if connections -# are made using postgui halfiles ([HAL]POSTGUI_HALFILE=) +# are made using postgui HAL files ([HAL]POSTGUI_HALFILE=) DELAY = 0 APP = moveoff_gui option1 option2 ... ---- -When the halfile LIB:hookup_moveoff.tcl is used to load and connect the +When the HAL file LIB:hookup_moveoff.tcl is used to load and connect the moveoff component, the mv.move-enable pin will not be connected and -local controls provided by the moveoff_gui will be used. This is the +local controls provided by the moveoff_gui will be used. This is the simplest method to test or demonstrate the moveoff component when -modifying an existing ini configuration. +modifying an existing INI configuration. To enable external controls while using the moveoff_gui display -for offset values and status, halfiles that follow LIB:hookup_moveoff.tcl +for offset values and status, HAL files that follow LIB:hookup_moveoff.tcl must make additional connections. For example, the supplied demonstration -configs (configs/sim/axis/moveoff/*.ini) use a simple system halfile -(named LIB:moveoff_external.hal) to connect the mv.move-enable,mv.offset-in-M, +configs (configs/sim/axis/moveoff/*.ini) use a simple system HAL file +(named LIB:moveoff_external.hal) to connect the mv.move-enable, mv.offset-in-M, and mv.bactrack-enable pins to signals: [source,{ini}] @@ -246,7 +246,7 @@ net external_backtrack_en mv.backtrack-enable ---- These signals (external_enable, external_offset_M, external_backtrack_en) may -be managed by subsequent HALFILES (including POSTGUI_HALFILEs) to provide +be managed by subsequent HALFILES (including POSTGUI_HALFILEs) to provide customized control of the component while using the moveoff_gui display for current offset values and offset status. diff --git a/docs/src/config/pncconf.adoc b/docs/src/config/pncconf.adoc index cb57a6f6ffa..d6f8e9f4a70 100644 --- a/docs/src/config/pncconf.adoc +++ b/docs/src/config/pncconf.adoc @@ -4,34 +4,34 @@ [[cha:pncconf-wizard]] = Mesa Configuration Wizard -PNCconf is made to help build configurations that utilize specific Mesa +PnCconf is made to help build configurations that utilize specific Mesa 'Anything I/O' products. It can configure closed loop servo systems or hardware stepper systems. It uses a similar 'wizard' approach as Stepconf (used for software stepping, parallel port driven systems). -PNCconf is still in a development stage (Beta) so there are some bugs and +PnCconf is still in a development stage (Beta) so there are some bugs and lacking features. Please report bugs and suggestions to the LinuxCNC forum page or mail-list. -There are two trains of thought when using PNCconf: +There are two trains of thought when using PnCconf: -One is to use PNCconf to always configure your system - if you decide to change -options, reload PNCconf and allow it to configure the new options. This will +One is to use PnCconf to always configure your system - if you decide to change +options, reload PnCconf and allow it to configure the new options. This will work well if your machine is fairly standard and you can use custom files to add -non standard features. PNCconf tries to work with you in this regard. +non standard features. PnCconf tries to work with you in this regard. -The other is to use PNCconf to build a config that is close to what you want and +The other is to use PnCconf to build a config that is close to what you want and then hand edit everything to tailor it to your needs. This would be the choice -if you need extensive modifications beyond PNCconf's scope or just want to +if you need extensive modifications beyond PnCconf's scope or just want to tinker with / learn about LinuxCNC. You navigate the wizard pages with the forward, back, and cancel buttons there is also a help button that gives some help information about the pages, diagrams and an output page. -TIP: PNCconf's help page should have the most up to date info and has additional +TIP: PnCconf's help page should have the most up to date info and has additional details. == Step by Step Instructions @@ -44,7 +44,7 @@ image::images/pncconf-splash.png["PnCConf Configuration Wizard"] This allows you to select a previously saved configuration or create a new one. If you pick 'Modify a configuration' and then press 'Next' a file selection box will show. PnCConf preselects your last saved file. Choose the config you -wish to edit. If you made any changes to the main hal or ini files *PnCConf will +wish to edit. If you made any changes to the main HAL or INI files *PnCConf will over write* those files and those changes will be lost. Some files will not be over written and PnCConf places a note in those files. It also allows you to select desktop shortcut / launcher options. A desktop shortcut will place a @@ -61,7 +61,7 @@ Selector 'LinuxCNC' found in CNC menu and selecting your config name. image::images/pncconf-basic.png["PnCConf Basic machine information"] Machine Basics:: -If you use a name with spaces PNCconf will replace the spaces with underscore +If you use a name with spaces PnCconf will replace the spaces with underscore (as a loose rule Linux doesn't like spaces in names) Pick an axis configuration - this selects what type of machine you are building and what axes are available. The Machine units selector allows data entry of @@ -119,17 +119,17 @@ must decide on a balance. Keep in mind that if you tune your closed loop servo system then change the servo period you probably will need to tune them again. I/O Control Ports/Boards:: -PNCconf is capable of configuring machines that have up to two Mesa boards and +PnCconf is capable of configuring machines that have up to two Mesa boards and three parallel ports. Parallel ports can only be used for simple low speed (servo rate) I/O. Mesa:: -You must choose at least one Mesa board as PNCconf will not configure the +You must choose at least one Mesa board as PnCconf will not configure the parallel ports to count encoders or output step or PWM signals. -The mesa cards available in the selection box are based on what PNCconf finds +The mesa cards available in the selection box are based on what PnCconf finds for firmware on the systems. There are options to add custom firmware and/or 'blacklist' (ignore) some firmware or boards using a preference file. -If no firmware is found PNCconf will show a warning and use internal sample +If no firmware is found PnCconf will show a warning and use internal sample firmware - no testing will be possible. One point to note is that if you choose two PCI Mesa cards there currently is no way to predict which card is 0 and which is 1 - you must test - moving the cards could change their order. If you @@ -149,7 +149,7 @@ search' button. This pops up the help output page with a list of all the PCI devices that can be found. In there should be a reference to a parallel port device with a list of addresses. One of those addresses should work. Not all PCI parallel ports work properly. Either type can be selected as 'in' (maximum -amount of input pins) or 'out' (maximum amount of output pins) +amount of input pins) or 'out' (maximum amount of output pins). GUI Front-end list:: This specifies the graphical display screens LinuxCNC will use. @@ -160,7 +160,7 @@ AXIS * fully supports lathes. * is the most developed and used front-end * is designed to be used with mouse and keyboard -* is tkinter based so integrates PYVCP (python based virtual control panels) naturally. +* is tkinter based so integrates PyVCP (Python based virtual control panels) naturally. * has a 3D graphical window. * allows VCP integrated on the side or in center tab @@ -203,11 +203,11 @@ based OEM joystick. Joystick jogging:: Requires a custom 'device rule' to be installed in the system. This is a file -that LinuxCNC uses to connect to LINUX's device list. PNCconf will help to make this +that LinuxCNC uses to connect to Linux's device list. PnCconf will help to prepare this file. * 'Search for device rule' will search the system for rules, you can use this to - find the name of devices you have already built with PNCconf. + find the name of devices you have already built with PnCconf. * 'Add a device rule' will allow you to configure a new device by following the prompts. You will need your device available. * 'test device' allows you to load a device, see its pin names and check its @@ -223,7 +223,7 @@ MPG Jogging:: Allows you to use a Manual Pulse Generator to jog the machine's axis. MPG's are often found on commercial grade machines. They output quadrature -pulses that can be counted with a MESA encoder counter. PNCconf allows for an +pulses that can be counted with a MESA encoder counter. PnCconf allows for an MPG per axis or one MPG shared with all axis. It allows for selection of jog speeds using switches or a single speed. @@ -231,7 +231,7 @@ The selectable increments option uses the mux16 component. This component has options such as debounce and gray code to help filter the raw switch input. Overrides:: -PNCconf allows overrides of feed rates and/or spindle speed using a pulse +PnCconf allows overrides of feed rates and/or spindle speed using a pulse generator (MPG) or switches (eg. rotary). == GUI Configuration @@ -247,7 +247,7 @@ Front-end GUI Options:: The default options allows general defaults to be chosen for any display screen. AXIS defaults are options specific to AXIS. If you choose size , position or -force maximize options then PNCconf will ask if it's alright to overwrite a +force maximize options then PnCconf will ask if it's alright to overwrite a preference file (.axisrc). Unless you have manually added commands to this file it is fine to allow it. Position and force max can be used to move AXIS to a second monitor if the system is capable. @@ -257,7 +257,7 @@ changed while Touchy is running using the preference page. Touchy uses GTK to draw its screen, and GTK supports themes. Themes controls the basic look and feel of a program. You can download themes from the net or edit them yourself. There are a list of the current themes on the computer that you can pick from. -To help some of the text to stand out PNCconf allows you to override the +To help some of the text to stand out PnCconf allows you to override the Themes's defaults. The position and force max options can be used to move Touchy to a second monitor if the system is capable. @@ -283,7 +283,7 @@ You may select a blank file that you can later add your controls 'widgets' to or select a spindle display sample that will display spindle speed and indicate if the spindle is at requested speed. -PNCconf will connect the proper spindle display HAL pins for you. +PnCconf will connect the proper spindle display HAL pins for you. If you are using AXIS then the panel will be integrated on the right side. If not using AXIS then the panel will be separate 'stand-alone' from the front-end screen. @@ -295,18 +295,18 @@ sample panel' button the size and placement options will be honored. GLADE VCP:: GLADE VCPs fit naturally inside of TOUCHY screen as they both use GTK to draw them, but by changing GLADE VCP's theme it can be made to blend pretty well in -AXIS. (try Redmond) +AXIS (try Redmond). It uses a graphical editor to build its XML files. HAL pins are created for the user to connect to, inside of their custom HAL file. GLADE VCP also allows much more sophisticated (and complicated) programming -interaction, which PNCconf currently doesn't leverage. (see GLADE VCP in the +interaction, which PnCconf currently doesn't leverage (see GLADE VCP in the manual) -PNCconf has sample panels for the user to use as-is or build on. -With GLADE VCP PNCconf will allow you to select different options on your +PnCconf has sample panels for the user to use as-is or build on. +With GLADE VCP PnCconf will allow you to select different options on your sample display. Under 'sample options' select which ones you would like. @@ -337,7 +337,7 @@ Defaults and Options:: this checkbox. * Popup Tool Prompt ** Choose between an on screen prompt for tool changes or export standard signal - names for a User supplied custom tool changer Hal file + names for a User supplied custom tool changer HAL file * Leave spindle on during tool change: ** Used for lathes * Force individual manual homing @@ -398,17 +398,17 @@ first then down with out skipping a number. If by doing this the components are not where you want them then you must use a different firmware. The firmware dictates where, what and the max amounts of the components. Custom firmware is possible, ask nicely when contacting the LinuxCNC developers and Mesa. Using custom -firmware in PNCconf requires special procedures and is not always possible - -Though I try to make PNCconf as flexible as possible. +firmware in PnCconf requires special procedures and is not always possible - +Though I try to make PnCconf as flexible as possible. After choosing all these options press the 'Accept Component Changes' button and -PNCconf will update the I/O setup pages. Only I/O tabs will be shown for +PnCconf will update the I/O setup pages. Only I/O tabs will be shown for available connectors, depending on the Mesa board. == Mesa I/O Setup The tabs are used to configure the input and output pins of the Mesa boards. -PNCconf allows one to create custom signal names for use in custom HAL files. +PnCconf allows one to create custom signal names for use in custom HAL files. .Mesa I/O C2 Setup image::images/pncconf-mesa-io2.png["Mesa I/O C2 Setup"] @@ -466,7 +466,7 @@ enabled depending on how power is supplied to the encoder. If the motor and encoder do not agree on counting direction then the servo will run away when using PID control. -Since at the moment PID settings can not be tested in PNCconf the settings are +Since at the moment PID settings can not be tested in PnCconf the settings are really for when you re-edit a config - enter your tested PID settings. DAC scale:: DAC scaling, max output and offset are used to tailor the DAC output. @@ -534,7 +534,7 @@ set up and read a dial indicator to see if you are losing steps. Stepper Timing:: Stepper timing needs to be tailored to the step controller's requirements. -Pncconf supplies some default controller timing or allows custom timing settings. +PnCconf supplies some default controller timing or allows custom timing settings. See http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Stepper_Drive_Timing for some more known timing numbers (feel free to add ones you have figured out). If in doubt use large numbers such as 5000 this will only limit max speed. @@ -580,8 +580,8 @@ On a typical lathe:: * that is the positive Z direction * when the TOOL moves toward the operator * that is the positive X direction. Some lathes have X -* opposite (eg tool on back side), that will work fine but -* AXIS graphical display can not be made to reflect this. + opposite (eg tool on back side), that will work fine but + AXIS graphical display can not be made to reflect this. When using homing and / or limit switches LinuxCNC expects the HAL signals to be true when @@ -680,7 +680,7 @@ or the total travel minus the positive travel distance. You would set this to zero if the origin is positioned at the negative limit. This will always be zero or a negative number. -If you forget to make this negative PNCconf +If you forget to make this negative PnCconf will do it internally. (Final) HOME POSITION:: @@ -702,7 +702,7 @@ you must move in the Positive direction to get to the Origin, then the number will be negative. If you set this to zero then the Origin will be at the location of the limit -switch (plus distance to find index if used) +switch (plus distance to find index if used). Home Search Velocity:: Course home search velocity in units per minute. @@ -710,14 +710,14 @@ Course home search velocity in units per minute. Home Search Direction:: Sets the home switch search direction either negative (ie. towards negative limit switch) -or positive (ie. towards positive limit switch) +or positive (ie. towards positive limit switch). Home Latch Velocity:: -Fine Home search velocity in units per minute +Fine Home search velocity in units per minute. Home Final Velocity:: Velocity used from latch position to (final) home position -in units per minute. Set to 0 for max rapid speed +in units per minute. Set to 0 for max rapid speed. Home latch Direction:: Allows setting of the latch direction to the same @@ -795,7 +795,7 @@ This allows setting of HALUI commands and loading of classicladder and sample ladder programs. If you selected GLADE VCP options such as for zeroing axis, there will be commands showing. -See the << cha:hal-user-interface,HALUI Chapter >>for more info on using custom +See the <> for more info on using custom halcmds. There are several ladder program options. The Estop program allows an external ESTOP switch or the GUI frontend to throw @@ -807,7 +807,7 @@ The serial modbus program is basically a blank template program that sets up classicladder for serial modbus. See the << cha:classicladder,Classicladder Chapter >> in the manual. -.PnCConf, Advanced Options +.PnCConf, advanced options image::images/pncconf-advanced.png["PnCConf Advanced Options"] == HAL Components @@ -824,33 +824,33 @@ The first selection is components that pncconf uses internally. You may configure pncconf to load extra instances of the components for your custom HAL file. -Select the number of instances your custom file will need, pncconf will add +Select the number of instances your custom file will need, PnCconf will add what it needs after them. -Meaning if you need 2 and pncconf needs 1 pncconf will load 3 instances and use +Meaning if you need 2 and PnCconf needs 1 PnCconf will load 3 instances and use the last one. Custom Component Commands:: -This selection will allow you to load HAL components that pncconf does not use. +This selection will allow you to load HAL components that PnCconf does not use. Add the loadrt or loadusr command, under the heading 'loading command' Add the addf command under the heading 'Thread command'. The components will be added to the thread between reading of inputs and writing of outputs, in the order you write them in the 'thread command'. -== Advanced Usage Of PNCconf +== Advanced Usage Of PnCconf -PNCconf does its best to allow flexible customization by the user. -PNCconf has support for custom signal names, custom loading of components, +PnCconf does its best to allow flexible customization by the user. +PnCconf has support for custom signal names, custom loading of components, custom HAL files and custom firmware. -There are also signal names that PNCconf always provides regardless of options +There are also signal names that PnCconf always provides regardless of options selected, for user's custom HAL files With some thought most customizations should work regardless if you later select -different options in PNCconf. +different options in PnCconf. -Eventually if the customizations are beyond the scope of PNCconf's frame work -you can use PNCconf to build a base config or use one of LinuxCNC's sample +Eventually if the customizations are beyond the scope of PnCconf's frame work +you can use PnCconf to build a base config or use one of LinuxCNC's sample configurations and just hand edit it to what ever you want. Custom Signal Names:: @@ -887,25 +887,26 @@ have the option to move them around later. Custom Signal Names:: -The Hal Components page can be used to load components needed by a user for +The HAL Components page can be used to load components needed by a user for customization. Loading Custom Firmware:: -PNCconf searches for firmware on the system and then looks for the XML file that +PnCconf searches for firmware on the system and then looks for the XML file that it can convert to what it understands. These XML files are only supplied for officially released firmware from the LinuxCNC team. To utilize custom firmware one -must convert it to an array that PNCconf understands and add its file path -to PNCconf's preference file. By default this path searches the desktop for +must convert it to an array that PnCconf understands and add its file path +to PnCconf's preference file. By default this path searches the desktop for a folder named custom_firmware and a file named firmware.py. The hidden preference file is in the user's home file, is -named .pncconf-preferences and require one to select 'show hidden files' to see -and edit it. The contents of this file can be seen when you first load PNCconf - +named .pncconf-preferences and require one to select 'show hidden files' in your +file manager to see and edit it or on the command line you use 'ls' with the '-a' option. +The contents of this file can be seen when you first load PnCconf - press the help button and look at the output page. Ask on the LinuxCNC mail-list or forum for info about converting custom firmware. -Not all firmware can be utilized with PNCconf. +Not all firmware can be utilized with PnCconf. Custom HAL Files:: @@ -914,7 +915,7 @@ There are four custom files that you can use to add HAL commands to: * custom.hal is for HAL commands that don't have to be run after the GUI frontend loads. It is run after the configuration-named HAL file. * custom_postgui.hal is for commands that must be run after AXIS loads or a - standalone PYVCP display loads. + standalone PyVCP display loads. * custom_gvcp.hal is for commands that must be run after glade VCP is loaded. * shutdown.hal is for commands to run when LinuxCNC shuts down in a controlled manner. diff --git a/docs/src/config/python-interface.adoc b/docs/src/config/python-interface.adoc index 8d687d93756..62fb03b064b 100644 --- a/docs/src/config/python-interface.adoc +++ b/docs/src/config/python-interface.adoc @@ -28,7 +28,7 @@ Python programs through the `linuxcnc` module. Beyond the NML interface to the command, status and error channels, the `linuxcnc` module also contains: -- support for reading values from ini files +- support for reading values from INI files //// - support for position logging (???) @@ -79,12 +79,12 @@ for x in dir(s): Linuxcnc uses the default compiled-in path to the NML configuration file unless overridden, see <> for an example. +INI file values>> for an example. === linuxcnc.stat attributes *acceleration*:: '(returns float)' - - default acceleration, reflects the ini entry [TRAJ]DEFAULT_ACCELERATION. + default acceleration, reflects the INI entry [TRAJ]DEFAULT_ACCELERATION. *active_queue*:: '(returns integer)' - number of motions blending. @@ -99,20 +99,20 @@ ini file values>> for an example. current value of the analog input pins. *angular_units*:: '(returns float)' - -machine angular units per deg, reflects [TRAJ]ANGULAR_UNITS ini value. +machine angular units per deg, reflects [TRAJ]ANGULAR_UNITS INI value. *aout*:: '(returns tuple of floats)' - current value of the analog output pins. *axes*:: '(returns integer)' - - number of axes. Derived from [TRAJ]COORDINATES ini value. + number of axes. Derived from [TRAJ]COORDINATES INI value. *axis*:: '(returns tuple of dicts)' - reflecting current axis values. See <>. *axis_mask*:: '(returns integer)' - - mask of axis available as defined by [TRAJ]COORDINATES in the ini + mask of axis available as defined by [TRAJ]COORDINATES in the INI file. Returns the sum of the axes X=1, Y=2, Z=4, A=8, B=16, C=32, U=64, V=128, W=256. @@ -126,7 +126,7 @@ machine angular units per deg, reflects [TRAJ]ANGULAR_UNITS ini value. currently executing command. *current_line*:: '(returns integer)' - - currently executing line, int. + currently executing line. *current_vel*:: '(returns float)' - current velocity in user units per second. @@ -135,7 +135,7 @@ machine angular units per deg, reflects [TRAJ]ANGULAR_UNITS ini value. thread period *debug*:: '(returns integer)' - - debug flag from the ini file. + debug flag from the INI file. *delay_left*:: '(returns float)' - remaining time on dwell (G4) command, seconds. @@ -242,7 +242,7 @@ machine angular units per deg, reflects [TRAJ]ANGULAR_UNITS ini value. Desired joint positions. *joints*:: '(returns integer)' - - number of joints. Reflects [KINS]JOINTS ini value. + number of joints. Reflects [KINS]JOINTS INI value. *kinematics_type*:: '(returns integer)' - The type of kinematics. One of: @@ -256,7 +256,7 @@ machine angular units per deg, reflects [TRAJ]ANGULAR_UNITS ini value. maxHardLimit=2, minSoftLimit=4, maxSoftLimit=8. *linear_units*:: '(returns float)' - - machine linear units per mm, reflects [TRAJ]LINEAR_UNITS ini value. + machine linear units per mm, reflects [TRAJ]LINEAR_UNITS INI value. *lube*:: '(returns integer)' - 'lube on' flag. @@ -347,11 +347,11 @@ machine angular units per deg, reflects [TRAJ]ANGULAR_UNITS ini value. settings[4] = `G64 Q` naive CAM tolerance. *spindle*:: ' (returns tuple of dicts) ' - - returns the current spindle status + returns the current spindle status, see <> *spindles*:: '(returns integer)' - - number of spindles. Reflects [TRAJ]SPINDLES ini value. + number of spindles. Reflects [TRAJ]SPINDLES INI value. *state*:: '(returns integer)' - current command execution status. One of RCS_DONE, @@ -391,7 +391,7 @@ s.poll() if s.tool_table[0].id != 0: # a tool is loaded print(s.tool_table[0].zoffset) else: - print("no tool loaded") + print("No tool loaded.") ---- *velocity*:: '(returns float)' - @@ -463,7 +463,7 @@ For each joint, the following dictionary keys are available: *jointType*:: '(returns integer)' - type of axis configuration parameter, reflects [JOINT_n]TYPE. LINEAR=1, ANGULAR=2. See <> for details. + INI configuration>> for details. *max_ferror*:: '(returns float)' - maximum following error. configuration @@ -767,50 +767,50 @@ MDI commands will ignore this. "S1000" after this will turn the spindle off import linuxcnc c = linuxcnc.command() -#Increase speed of spindle 0 by 100rpm. Spindle must be on first +# Increase speed of spindle 0 by 100rpm. Spindle must be on first. c.spindle(linuxcnc.INCREASE) -#Increase speed of spindle 2 by 100rpm. Spindle must be on first +# Increase speed of spindle 2 by 100rpm. Spindle must be on first. c.spindle(linuxcnc.SPINDLE_INCREASE, 2) -#Set speed of spindle 0 to 1024 rpm +# Set speed of spindle 0 to 1024 rpm. c.spindle.(linuxcnc.SPINDLE_FORWARD, 1024) -#Set speed of spindle 1 to -666 rpm +# Set speed of spindle 1 to -666 rpm. c.spindle.(linuxcnc.SPINDLE_REVERSE, 666, 1) -#Stop spindle 0 +# Stop spindle 0. c.spindle.(linuxcnc.SPINDLE_OFF) -#Stop spindle 0 explicitly +# Stop spindle 0 explicitly. c.spindle.(linuxcnc.SPINDLE_OFF, 0) ---- `spindleoverride(float [, int])`:: - set spindle override factor. Defaults to spindle 0. + Set spindle override factor. Defaults to spindle 0. `state(int)`:: - set the machine state. Machine state should be STATE_ESTOP, STATE_ESTOP_RESET, STATE_ON, or STATE_OFF + Set the machine state. Machine state should be STATE_ESTOP, STATE_ESTOP_RESET, STATE_ON, or STATE_OFF. `task_plan_sync()`:: - on completion of this call, the var file on disk is updated with + On completion of this call, the var file on disk is updated with live values from the interpreter. `teleop_enable(int)`:: - enable/disable teleop mode (disable for joint jogging). + Enable/disable teleop mode (disable for joint jogging). `tool_offset(int, float, float, float, float, float, int)`:: - set the tool offset. See usage example above. + Set the tool offset. See usage example above. `traj_mode(int)`:: - set trajectory mode. Mode is one of MODE_FREE, MODE_COORD, or + Set trajectory mode. Mode is one of MODE_FREE, MODE_COORD, or MODE_TELEOP. `unhome(int)`:: - unhome a given joint. + Unhome a given joint. `wait_complete([float])`:: - wait for completion of the last command sent. If timeout in + Wait for completion of the last command sent. If timeout in seconds not specified, default is 5 seconds. Return -1 if timed out, return RCS_DONE or RCS_ERROR according to command execution status. @@ -846,9 +846,9 @@ if error: ---- [[python:reading-ini-values]] -== Reading ini file values +== Reading INI file values -Here's an example for reading values from an ini file through the +Here's an example for reading values from an INI file through the `linuxcnc.ini` object: [source,python] @@ -856,7 +856,7 @@ Here's an example for reading values from an ini file through the #!/usr/bin/env python3 # -*- coding: utf-8 -*- # run as: -# python ini-example.py ~/emc2-dev/configs/sim/axis/axis_mm.ini +# python3 ini-example.py ~/emc2-dev/configs/sim/axis/axis_mm.ini import sys import linuxcnc @@ -875,7 +875,7 @@ print("machine name: ", machine_name) extensions = inifile.findall("FILTER", "PROGRAM_EXTENSION") print("extensions: ", extensions) -# override default NML file by ini parameter if given +# override default NML file by INI parameter if given nmlfile = inifile.find("EMC", "NML_FILE") if nmlfile: linuxcnc.nmlfile = os.path.join(os.path.dirname(sys.argv[1]), nmlfile) @@ -888,7 +888,7 @@ Or for the same INI file as LinuxCNC: #!/usr/bin/env python3 # -*- coding: utf-8 -*- # run as: -# python ini-example2.py +# python3 ini-example2.py import linuxcnc diff --git a/docs/src/config/stepconf.adoc b/docs/src/config/stepconf.adoc index 957f7f05f1e..473d7236e4c 100644 --- a/docs/src/config/stepconf.adoc +++ b/docs/src/config/stepconf.adoc @@ -9,20 +9,20 @@ LinuxCNC is capable of controlling a wide range of machinery using many different hardware interfaces. -Stepconf is a program that generates configuration files for LinuxCNC +StepConf is a program that generates configuration files for LinuxCNC for a specific class of CNC machine: those that are controlled via a 'standard parallel port', and controlled by signals of type 'step & direction'. -Stepconf is installed when you install LinuxCNC and is in the CNC menu. +StepConf is installed when you install LinuxCNC and is in the CNC menu. -Stepconf places a file in the linuxcnc/config directory +StepConf places a file in the linuxcnc/config directory to store the choices for each configuration you create. When you change something, you need to pick the file that matches your configuration name. The file extension is .stepconf. -The Stepconf Wizard works best with at least 800 x 600 screen resolution. +The StepConf Wizard works best with at least 800 x 600 screen resolution. == Start Page @@ -35,13 +35,13 @@ The three first radio buttons are self-explanatory: * 'Modify' - Modify an existing configuration. After selecting this a file picker pops up so you can select the .stepconf file for modification. If you made any modifications to the main .hal or the .ini file these will be lost. - Modifications to custom.hal and custom_postgui.hal will not be changed by the Stepconf Wizard. - Stepconf will highlight the lastconf that was built. + Modifications to custom.hal and custom_postgui.hal will not be changed by the StepConf Wizard. + StepConf will highlight the lastconf that was built. * 'Import' - Import a Mach configuration file and attempt to convert it to a linuxcnc config file. - After the import, you will go though the pages of stepconf to confirm/modify the entries. + After the import, you will go though the pages of StepConf to confirm/modify the entries. The original mach xml file will not be changed. -These next options will be recorded in a preference file for the next run of Stepconf. +These next options will be recorded in a preference file for the next run of StepConf. * 'Create Desktop Shortcut' - This will place a link on your desktop to the files. * 'Create Desktop Launcher' - This will place a launcher on your desktop to start your application. @@ -71,7 +71,7 @@ image::images/stepconf-base_en.png["Basic Information Page",align="center"] Otherwise, select 'Other' and find the timing values in your driver's data sheet and enter them as 'nano seconds' in the 'Driver Timing Settings'. If the data sheet gives a value in microseconds, multiply by 1000. - For example, enter 4.5us as 4500ns. + For example, enter 4.5 µs as 4500 ns. + A list of some popular drives, along with their timing values, is on the LinuxCNC.org Wiki under @@ -99,10 +99,10 @@ The LinuxCNC Configuration Selector has configs for Sherline already configured. To run a latency test press the 'Test Base Period Jitter' button. See the <> section for more details. * 'Max Step Rate' -(((Max Step Rate))) - Stepconf automatically calculates the Max Step Rate based + StepConf automatically calculates the Max Step Rate based on the driver characteristics entered and the latency test result. * 'Min Base Period' - (((Min Base Period))) - Stepconf automatically determines the Min Base Period + StepConf automatically determines the Min Base Period based on the driver characteristics entered and latency test result. [[sub:latency-test]] @@ -152,7 +152,7 @@ with software stepping. If the max latency is more like 30-50 microseconds, you can still get good results, but your maximum step rate might be a little disappointing, especially if you use microstepping or have very fine pitch leadscrews. If the numbers are -100 us or more (100,000 nanoseconds), then the PC is not a good +100 µs or more (100,000 nanoseconds), then the PC is not a good candidate for software stepping. Numbers over 1 millisecond (1,000,000 nanoseconds) mean the PC is not a good candidate for LinuxCNC, regardless of whether you use software stepping or not. @@ -177,7 +177,7 @@ Turn on the 'invert' check box if the signal is inverted (0V for true/active, 5V These can be selected from an input pin drop down box for most configurations. * 'Charge Pump' - If your driver board requires a charge pump signal select Charge Pump from the drop down list for the output pin you wish to connect to your charge pump input. - The charge pump output is connected to the base thread by Stepconf. + The charge pump output is connected to the base thread by StepConf. The charge pump output will be about 1/2 of the maximum step rate shown on the Basic Machine Configuration page. * 'Plasma Arc Voltage' - If you require a Mesa THCAD to input a plasma arc voltage then select Plasma Arc Voltage from the list of output pins. This will enable a THCAD page during the setup procedure for the entry of the card parameters. @@ -231,7 +231,7 @@ image::images/stepconf-axis-x_en.png["Axis X Configuration Page",align="center"] Information computed based on the values entered above. The greatest 'Pulse rate at max speed' determines the 'BASE_PERIOD'. Values above 20000Hz may lead to slow response time or even lockups (the fastest usable pulse rate varies from computer to computer) -* 'Axis SCALE' - The number that will be used in the ini file [SCALE] setting. +* 'Axis SCALE' - The number that will be used in the INI file [SCALE] setting. This is how many steps per user unit. * 'Test this axis' - (((Test this axis))) This will open a window to allow testing for each axis. This can be used after filling out all the information for this axis. @@ -369,14 +369,14 @@ Change the spindle speed by entering a different S-number: 'S800'. Valid numbers (at this point) range from 1 to 1000. For two different S-numbers, measure the actual spindle speed in RPM. -Record the S-numbers and actual spindle speeds. Run Stepconf again. +Record the S-numbers and actual spindle speeds. Run StepConf again. For 'Speed' enter the measured speed, and for 'PWM' enter the S-number divided by 1000. Because most spindle drivers are somewhat nonlinear in their response curves, it is best to: -- Make sure the two calibration speeds are not too close together in RPM -- Make sure the two calibration speeds are in the range of speeds you will typically use while milling +- Make sure the two calibration speeds are not too close together in RPM. +- Make sure the two calibration speeds are in the range of speeds you will typically use while milling. For instance, if your spindle will go from 0 RPM to 8000 RPM, but you generally use speeds from 400 RPM (10%) to 4000 RPM (100%), @@ -389,7 +389,7 @@ image::images/stepconf-options_en.png["Advanced Options Configuration",align="ce * 'Include Halui' - This will add the Halui user interface component. See the <> for more information on. -* 'Include pyVCP' - This option adds the pyVCP panel base file or a sample file +* 'Include PyVCP' - This option adds the PyVCP panel base file or a sample file to work on. See the <> for more information. * 'Include ClassicLadder PLC' - This option will add the ClassicLadder PLC (Programmable Logic Controller). See the @@ -423,7 +423,7 @@ must be long enough to allow an unpowered motor to coast to a stop. Before the 'limit switch' there is a 'soft limit'. This is a limit enforced in software after homing. -If a MDI command or g code program would pass the soft limit, it is not executed. +If a MDI command or G-code program would pass the soft limit, it is not executed. If a jog would pass the soft limit, it is terminated at the soft limit. The 'home switch' can be placed anywhere within the travel (between hard stops). @@ -487,7 +487,7 @@ image::images/switch-nc-series_en.svg["Normally Closed Switches",align="center"] .Normally Open Switches (N/O) wiring in parallel (simplified diagram) image::images/switch-no-parallel_en.svg["Normally Open Switches",align="center"] -The following combinations of switches are permitted in Stepconf: +The following combinations of switches are permitted in StepConf: * Combine home switches for all axes * Combine limit switches for all axes diff --git a/docs/src/config/stepper.adoc b/docs/src/config/stepper.adoc index 166bf1fb5ca..0e2527de617 100644 --- a/docs/src/config/stepper.adoc +++ b/docs/src/config/stepper.adoc @@ -49,7 +49,7 @@ the MAX_VELOCITY and STEPGEN_MAXVEL. If no valid combination of BASE_PERIOD, INPUT_SCALE, and MAX_VELOCITY is acceptable, then consider using hardware step generation (such as with the LinuxCNC-supported Universal Stepper Controller, Mesa cards, and -others.) +others). == Pinout @@ -72,7 +72,7 @@ signals: Xstep, Xdir & Xen pins: parport.0.pin-XX-out & parport.0.pin-XX-in ---- -Depending on what you have chosen in your .ini file you are using +Depending on what you have chosen in your INI file you are using either standard_pinout.hal or xylotex_pinout.hal. These are two files that instruct the HAL how to link the various signals & pins. Further on we'll investigate the standard_pinout.hal. @@ -129,7 +129,7 @@ net spindle-on spindle.0.on => parport.0.pin-09-out ### ### A sample home switch on the X axis (axis 0). make a signal, ### link the incoming parport pin to the signal, then link the signal -### to LinuxCNC's axis 0 home switch input pin +### to LinuxCNC's axis 0 home switch input pin. ### # net Xhome parport.0.pin-10-in => joint.0.home-sw-in @@ -137,7 +137,7 @@ net spindle-on spindle.0.on => parport.0.pin-09-out ### ### Shared home switches all on one parallel port pin? ### that's ok, hook the same signal to all the axes, but be sure to -### set HOME_IS_SHARED and HOME_SEQUENCE in the ini file. +### set HOME_IS_SHARED and HOME_SEQUENCE in the INI file. ### # net homeswitches <= parport.0.pin-10-in @@ -155,7 +155,8 @@ net spindle-on spindle.0.on => parport.0.pin-09-out ### ### Just like the shared home switches example, you can wire together ### limit switches. Beware if you hit one, LinuxCNC will stop but can't tell -### you which switch/axis has faulted. Use caution when recovering from this. +### you which switch/axis has faulted. Use caution when recovering from this +### extreme position to avoid a hard stop. ### # net Xlimits parport.0.pin-13-in => joint.0.neg-lim-sw-in joint.0.pos-lim-sw-in @@ -170,14 +171,14 @@ guide the reader through the file. There are a couple of operations that get executed when the standard_pinout.hal gets executed/interpreted: -* The Parport driver gets loaded (see the <> for details) +* The Parport driver gets loaded (see the <> for details). * The read & write functions of the parport driver get assigned to the base thread footnote:[the fastest thread in the LinuxCNC setup, usually ther - code gets executed every few tens of microseconds] -* The step & direction signals for axes X,Y,Z get linked to pins on the - parport -* Further I/O signals get connected (estop loopback, toolchanger loopback) -* A spindle-on signal gets defined and linked to a parport pin + code gets executed every few tens of microseconds]. +* The step & direction signals for axes X, Y, Z get linked to pins on the + parport. +* Further I/O signals get connected (estop loopback, toolchanger loopback). +* A spindle-on signal gets defined and linked to a parport pin. === Changing the standard_pinout.hal diff --git a/docs/src/drivers/hostmot2.adoc b/docs/src/drivers/hostmot2.adoc index 28fafa79ed3..9a2c587af30 100644 --- a/docs/src/drivers/hostmot2.adoc +++ b/docs/src/drivers/hostmot2.adoc @@ -479,7 +479,7 @@ The stepgen representation is modeled on the stepgen software component. Stepgen default is active high step output (high during step time low during step space). To invert a StepGen output pin you invert the corresponding GPIO pin that is being used by StepGen. To find the -GPIO pin being used for the StepGen output run dmesg as shown above. +GPIO pin being used for the StepGen output run 'dmesg' as shown above. Each stepgen instance has the following pins and parameters: @@ -542,7 +542,7 @@ Each stepgen instance has the following pins and parameters: The Step and Direction pins of each StepGen have two additional parameters. To find which I/O pin belongs to which step and direction -output run dmesg as described above. +output run 'dmesg' as described above. * 'invert_output' - (Bit, RW) This parameter only has an effect if the 'is_output' parameter is true. @@ -571,7 +571,7 @@ number. There are 'num_pwmgens' instances, starting with 00. In HM2, each pwmgen uses three output I/O pins: Not-Enable, Out0, and Out1. To invert a PWMGen output pin you invert the corresponding GPIO pin that is being used by PWMGen. To find the GPIO pin being used for -the PWMGen output run dmesg as shown above. +the PWMGen output run 'dmesg' as shown above. The function of the Out0 and Out1 I/O pins varies with output-type parameter (see below). @@ -639,7 +639,7 @@ component. Each pwmgen instance has the following pins and parameters: === Output Parameters The output pins of each PWMGen have two additional parameters. To find -which I/O pin belongs to which output run dmesg as described above. +which I/O pin belongs to which output run 'dmesg' as described above. * 'invert_output' - (Bit, RW) This parameter only has an effect if the 'is_output' parameter is true. If this parameter is true, the output @@ -822,7 +822,7 @@ load. The examples are a good place to start and will save you time. Just pick the proper example from the LinuxCNC Configuration Selector and save a copy to your computer so you can edit it. To see the exact pins and parameters that your configuration gave you, open the Show HAL -Configuration window from the Machine menu, or do dmesg as outlined +Configuration window from the Machine menu, or do 'dmesg' as outlined above. // vim: set syntax=asciidoc: diff --git a/docs/src/drivers/mb2hal.adoc b/docs/src/drivers/mb2hal.adoc index f237bc6f941..6c371a898a5 100644 --- a/docs/src/drivers/mb2hal.adoc +++ b/docs/src/drivers/mb2hal.adoc @@ -23,7 +23,7 @@ device: . Now there is a third option that consists of a "generic" driver configured by text file, this is called MB2HAL. -Why MB2HAL ? +Why MB2HAL? Consider using Mb2hal if: * You have to write a new driver and you don't know anything about @@ -108,7 +108,7 @@ One of: even, odd, none. Ignored if `LINK_TYPE=tcp`. |`SERIAL_STOP` | Integer | If `LINK_TYPE=serial` | Stop bits. One of 1, 2. Ignored if `LINK_TYPE=tcp`. |`SERIAL_DELAY_MS`| Integer | If `LINK_TYPE=serial` | Serial port delay -in ms between transactions of this section only. +between transactions of this section only. In ms. Defaults to 0. Ignored if `LINK_TYPE=tcp`. |`MB_SLAVE_ID` | Integer | Yes | Modbus slave number. |`FIRST_ELEMENT` | Integer | Yes | The first element address. @@ -164,32 +164,18 @@ correspond to: Modbus protocol exceptions: -* 0x01 - ILLEGAL_FUNCTION - the FUNCTION code received in the - query is not allowed or invalid. -* 0x02 - ILLEGAL_DATA_ADDRESS - the DATA ADDRESS received in the - query is not an allowable address for - the slave or is invalid. -* 0x03 - ILLEGAL_DATA_VALUE - a VALUE contained in the data query - field is not an allowable value or is - invalid. -* 0x04 - SLAVE_DEVICE_FAILURE - SLAVE (or MASTER) device unrecoverable - FAILURE while attempting to perform - the requested action. +* 0x01 - ILLEGAL_FUNCTION - the FUNCTION code received in the query is not allowed or invalid. +* 0x02 - ILLEGAL_DATA_ADDRESS - the DATA ADDRESS received in the query is not an allowable address for the slave or is invalid. +* 0x03 - ILLEGAL_DATA_VALUE - a VALUE contained in the data query field is not an allowable value or is invalid. +* 0x04 - SLAVE_DEVICE_FAILURE - SLAVE (or MASTER) device unrecoverable FAILURE while attempting to perform the requested action. * 0x04 - SERVER_FAILURE - (see above). -* 0x05 - ACKNOWLEDGE - This response is returned to - PREVENT A TIMEOUT in the master. - A long duration of time is required - to process the request in the slave. -* 0x06 - SLAVE_DEVICE_BUSY - The slave (or server) is BUSY. - Retransmit the request later. +* 0x05 - ACKNOWLEDGE - This response is returned to PREVENT A TIMEOUT in the master. A long duration of time is required to process the request in the slave. +* 0x06 - SLAVE_DEVICE_BUSY - The slave (or server) is BUSY. Retransmit the request later. * 0x06 - SERVER_BUSY - (see above). -* 0x07 - NEGATIVE_ACKNOWLEDGE - Unsuccessful programming request - using function code 13 or 14. +* 0x07 - NEGATIVE_ACKNOWLEDGE - Unsuccessful programming request using function code 13 or 14. * 0x08 - MEMORY_PARITY_ERROR - SLAVE parity error in MEMORY. * 0x0A (-10) - GATEWAY_PROBLEM_PATH - Gateway path(s) not available. -* 0x0B (-11) - GATEWAY_PROBLEM_TARGET - The target device failed to - respond (generated by master, - not slave). +* 0x0B (-11) - GATEWAY_PROBLEM_TARGET - The target device failed to respond (generated by master, not slave). Program or connection: diff --git a/docs/src/drivers/opto22.adoc b/docs/src/drivers/opto22.adoc index 9a6d4e9e825..1c8a1533cf0 100644 --- a/docs/src/drivers/opto22.adoc +++ b/docs/src/drivers/opto22.adoc @@ -140,13 +140,14 @@ designating it as a HEX number). Another example: To set the port for 8 outputs and 16 inputs (the same as a Mesa card). Here is the 24 bits represented in a BINARY -number. Bit 1 is the rightmost number. +number. Bit 1 is the rightmost number: - 000000000000000011111111 - -16 zeros for the 16 inputs and 8 ones for the 8 outputs +.16 zeros for the 16 inputs and 8 ones for the 8 outputs +---- +000000000000000011111111 +---- -Which converts to FF on the calculator so 0xff is the number to use +This converts to FF on the calculator, so 0xff is the number to use for portconfig0 and/or portconfig1 when loading the driver. == Pin Numbering
LinuxCNC "G-Code" Quick Reference LinuxCNC "G-code" Quick Reference
Code Parameters Description
Motion(X Y Z A B C U V W apply to all motions)