:lang: en
:toc:

[[cha:about-linuxcnc]]
= About LinuxCNC(((About LinuxCNC)))

== The Software

* LinuxCNC (the Enhanced Machine Control) is a software system for computer
  control of machine tools such as milling machines and lathes, robots
  such as puma and scara and other computer controlled machines up to 9 axes.
* LinuxCNC is free software with open source code. Current versions of LinuxCNC
  are entirely licensed under the GNU General Public License and Lesser
  GNU General Public License (GPL and LGPL)
* LinuxCNC provides:
** easy discovery and testing without installation with the LiveCD
** easy installation from the Live CD
** easy to use graphical configuration wizards to rapidly create a configuration
   specific to the machine
** directly available as regular packages of recent releases of Debian (since Bookworm) and Ubuntu (since Kinetic Kudu)
** a graphical user interface (actually several interfaces to choose from)
** a graphical interface creation tool (Glade)
** an interpreter for 'G-code' (the RS-274 machine tool programming
   language)
** a realtime motion planning system with look-ahead
** operation of low-level machine electronics such as sensors and motor drives
** an easy to use 'breadboard' layer for quickly creating a unique configuration for your machine
** a software PLC programmable with ladder diagrams
* It does not provide drawing (CAD - Computer Aided Design) or G-code generation
  from the drawing (CAM - Computer Automated Manufacturing) functions.
* It can simultaneously move up to 9 axes and supports a variety of interfaces.
* The control can operate true servos (analog or PWM) with the feedback
  loop closed by the LinuxCNC software at the computer, or open loop with
  step-servos or stepper motors.
* Motion control features include: cutter radius and length
  compensation, path deviation limited to a specified tolerance, lathe
  threading, synchronized axis motion, adaptive feedrate, operator
  feed override, and constant velocity control.
* Support for non-Cartesian motion systems is provided via custom
  kinematics modules. Available architectures include hexapods (Stewart
  platforms and similar concepts) and systems with rotary joints to
  provide motion such as PUMA or SCARA robots.
* LinuxCNC runs on Linux using real time extensions.

== The Operating System

LinuxCNC is available as ready-to-use packages for the Ubuntu and Debian
distributions.

[[sec:getting-help]]
== Getting Help(((Getting Help)))

=== IRC

IRC stands for Internet Relay Chat.
It is a live connection to other LinuxCNC users.
The LinuxCNC IRC channel is #linuxcnc on libera.chat.

The simplest way to get on the IRC is to use the embedded client on
this https://web.libera.chat/#linuxcnc[page].

Some IRC etiquette::
* Ask specific questions... Avoid questions like "Can someone help me?".
* If you're really new to all this, think a bit about your question
  before typing it.  Make sure you give enough information so
  someone can solve your question.
* Have some patience when waiting for an answer, sometimes it takes a
  while to formulate an answer or everyone might be busy working or
  something.
* Set up your IRC account with your unique name so people will know who
  you are.  If you use the java client, use the same name every time you
  log in.  This helps people remember who you are and if you have been on
  before many will remember the past discussions which
  saves time on both ends.

Sharing Files::
The most common way to share files on the IRC is to upload the file
to one of the following or a similar service and paste the link:

* 'For text': https://pastebin.com/, http://pastie.org/, https://gist.github.com/
* 'For pictures': https://imagebin.org/, https://imgur.com/, https://bayimg.com/
* 'For files': https://filedropper.com/, https://filefactory.com/, https://1fichier.com/

=== Mailing List

An Internet Mailing List is a way to put questions out for everyone on
that list to see and answer at their convenience. You get better
exposure to your questions on a mailing list than on the IRC but
answers take longer. In a nutshell you e-mail a message to the list and
either get daily digests or individual replies back depending on how
you set up your account.

You can subscribe to the emc-users mailing list at:
https://lists.sourceforge.net/lists/listinfo/emc-users

=== Web Forum

A web forum can be found at https://forum.linuxcnc.org or by following
the link at the top of the linuxcnc.org home page.

This is quite active but the demographic is more user-biased than the
mailing list.  If you want to be sure that your message is seen by the
developers then the mailing list is to be preferred.

=== LinuxCNC Wiki

A Wiki site is a user maintained web site that anyone can add to or edit.

The user maintained LinuxCNC Wiki site contains a
wealth of information and tips at:
link:https://wiki.linuxcnc.org/[https://wiki.linuxcnc.org]

=== Bug Reports

Report bugs to the LinuxCNC
link:https:///github.com/LinuxCNC/linuxcnc/issues[github bug tracker].

// vim: set syntax=asciidoc:
