Обновление LinuxCNC до новой второстепенной версии (т. е. до новой версии той же стабильной серии, например, с 2.9.1 до 2.9.2) — это автоматический процесс, если ваш компьютер подключен к Интернету. Вы увидите приглашение на обновление после незначительного выпуска вместе с другими обновлениями программного обеспечения. Если у вас нет подключения к Интернету на вашем компьютере, см. раздел Updating without Network.

1. Обновление до новой версии

В этом разделе описывается, как обновить LinuxCNC с версии 2.8.x до версии 2.9.y. Предполагается, что у вас есть установленная версия 2.8, которую вы хотите обновить.

Чтобы обновить LinuxCNC с версии старше 2.8, вам необходимо сначала обновление старой установки до 2.8, а затем следовать этим инструкциям. для обновления до новой версии.

Если у вас нет старой версии LinuxCNC для обновления, лучше всего выполнить новую установку новой версии, как описано в разделе Getting LinuxCNC.

Кроме того, если вы используете Ubuntu Precision или Debian Wheezy, стоит рассмотреть возможность создания резервной копии каталога «linuxcnc» на съемном носителе и выполнения clean install of a newer OS and LinuxCNC version поскольку эти выпуски были прекращены в 2017 и 2018 годах соответственно. Если вы используете Ubuntu Lucid, вам придется это сделать, поскольку Lucid больше не поддерживается LinuxCNC (в 2013 году это было EOL).

Чтобы обновить основные версии, такие как 2.8, до 2.9, когда у вас есть сетевое соединение на компьютере, вам необходимо отключить старые источники apt linuxcnc.org в файле /etc/apt/sources.list и добавить новый источник apt linuxcnc.org для 2.9. , затем обновите LinuxCNC.

Детали будут зависеть от того, на какой платформе вы работаете. Откройте terminal, затем введите lsb_release -ic, чтобы найти эту информацию:

> lsb_release -ic
Distributor ID: Debian
Codename:       buster

You should be running on Debian Buster, Bullseye or Bookworm or Ubuntu 20.04 "Focal Fossa" or newer. LinuxCNC 2.9.y will not run on older distributions than these.

Вам также нужно будет проверить, какое используется ядро реального времени:

uname -r
6.1.0-10-rt-amd64

Если вы видите (как указано выше) -rt- в имени ядра, значит, вы используете ядро preempt-rt и вам следует установить версию LinuxCNC "uspace". Вам также следует установить uspace для конфигураций "sim" на ядрах, не работающих в реальном времени.

Если вы видите -rtai- в имени ядра, значит, вы используете RTAI в реальном времени. См. ниже версию LinuxCNC для установки. Пакеты RTAI доступны для Bookworm и Buster, но в настоящее время недоступны для Bullseye.

1.1. Конфигурация источников Apt

  • Откройте окно Software Sources. Этот процесс немного отличается на трех поддерживаемых платформах:

    • Debian:

      • Нажмите Applications Menu, затем System, затем Synaptic Package Manager.

      • В Synaptic нажмите меню Settings, затем нажмите Repositories, чтобы открыть окно Software Sources.

    • Ubuntu Precise:

      • Нажмите на значок Dash Home в левом верхнем углу.

      • В поле Search введите "software", затем щелкните значок Ubuntu Software Center.

      • В окне Ubuntu Software Center нажмите меню Edit, затем нажмите Software Sources..., чтобы открыть окно Software Sources.

    • Ubuntu Lucid:

      • Откройте меню System, затем Administration, затем Synaptic Package Manager.

      • В Synaptic нажмите меню Settings, затем нажмите Repositories, чтобы открыть окно Software Sources.

  • В окне Software Sources выберите вкладку Other Software.

  • Удалите или снимите флажки со всех старых записей linuxcnc.org (оставьте все строки, отличные от linuxcnc.org, как есть).

  • Нажмите кнопку Add и добавьте новую строку apt. На разных платформах строка будет немного отличаться:

Table 1. Tabular overview on variants of the Operating System and the corresponding configuration of the repository. The configuration can be performed in the GUI of the package manager or in the file /etc/apt/sources.list.
OS / Realtime Version Repository

Debian Buster - preempt

deb https://linuxcnc.org buster base 2.9-uspace

Debian Buster - RTAI

deb https://linuxcnc.org buster base 2.9-rt

Debian Bullseye - preempt

deb https://linuxcnc.org bullseye base 2.9-uspace

Debian Bookworm - preempt

deb https://linuxcnc.org bookworm base 2.9-uspace

Debian Bookworm - RTAI

deb https://linuxcnc.org bookworm base 2.9-rt

Установка источников apt
Figure 1. Figure with a screenshot of the repository configuration of the synaptic package manager.
  • Нажмите Add Source, затем Close в окне Software Sources. Если появится окно с сообщением о том, что информация о доступном программном обеспечении устарела, нажмите кнопку Reload.

1.2. Обновление до новой версии

Теперь ваш компьютер знает, где взять новую версию программного обеспечения, теперь нам нужно ее установить.

Процесс снова различается в зависимости от вашей платформы.

1.2.1. Debian Buster, Bullseye and Bookworm

Debian используют диспетчер пакетов Synaptic.

  • Откройте Synaptic, следуя инструкциям в разделе Настройка источников apt выше.

  • Нажмите кнопку Reload.

  • Используйте функцию поиска для поиска linuxcnc.

  • Пакет называется «linuxcnc» для ядер RTAI и «linuxcnc-uspace» для preempt-rt.

  • Установите флажок, чтобы отметить новые пакеты linuxcnc и linuxcnc-doc-* для обновления. Менеджер пакетов может выбрать несколько дополнительных пакетов для установки, чтобы удовлетворить зависимости, которые имеет новый пакет linuxcnc.

  • Нажмите кнопку Apply, и ваш компьютер установит новый пакет. Старый пакет linuxcnc будет автоматически обновлен до нового.

1.3. Ubuntu

  • Нажмите на значок Dash Home в левом верхнем углу.

  • В поле Search введите «update», затем щелкните значок Update Manager.

  • Нажмите кнопку Check, чтобы просмотреть список доступных пакетов.

  • Нажмите кнопку Install Updates, чтобы установить новые версии всех пакетов.

2. Обновление без сети

Для обновления без подключения к сети вам необходимо загрузить .deb, а затем установить его с помощью dpkg. Файлы .debs можно найти по адресу https://linuxcnc.org/dists/.

Вам нужно перейти по ссылке выше, чтобы найти правильный deb для вашей установки. Откройте terminal и введите «lsb_release -ic», чтобы найти название выпуска вашей ОС.

> lsb_release -ic
Distributor ID: Debian
Codename:       bullseye

Выберите ОС из списка, затем выберите нужную вам основную версию, например 2.9-rt для RTAI и 2.9-rtpreempt или 2.9-uspace для preempt-rt.

Затем выберите тип вашего компьютера: бинарный-amd64 для любого 64-битного x86, бинарный-i386 для 32-битного, бинарный-armhf (32-битный) или бинарный-arm64 (64-битный) для Raspberry Pi.

Затем выберите нужную версию в нижней части списка, например linuxcnc-uspace_2.9.2_amd64.deb (выберите самую последнюю по дате). Загрузите deb и скопируйте его в свой домашний каталог. Вы можете переименовать файл во что-то более короткое с помощью файлового менеджера, например linuxcnc_2.9.2.deb, затем открыть терминал и установить его с помощью менеджера пакетов с помощью этой команды:

sudo dpkg -i linuxcnc_2.9.2.deb

3. Обновление файлов конфигурации для версии 2.9

3.1. Более строгое обращение с подключаемыми интерпретаторами

Если вы просто запускаете обычный G-код и не знаете, что такое подключаемый интерпретатор, то этот раздел вас не касается.

Редко используемая функция LinuxCNC — это поддержка подключаемых интерпретаторов, управляемая недокументированной настройкой INI [TASK]INTERPRETER.

Версии LinuxCNC до 2.9.0 использовались для обработки неправильной настройки [TASK]INTERPRETER путем автоматического возврата к использованию интерпретатора G-кода по умолчанию.

Начиная с версии 2.9.0, неправильное значение [TASK]INTERPRETER приведет к тому, что LinuxCNC откажется запускаться. Исправьте это условие, удалив настройку [TASK]INTERPRETER из вашего INI-файла, чтобы LinuxCNC использовал интерпретатор G-кода по умолчанию.

3.2. Canterp

Если вы просто запускаете обычный G-код и не используете подключаемый интерпретатор canterp, то этот раздел вас не касается.

В крайне маловероятном случае использования canterp знайте, что модуль перемещен из /usr/lib/libcanterp.so в /usr/lib/linuxcnc/canterp.so, и настройку [TASK]INTERPRETER соответственно, необходимо изменить с libcanterp.so на canterp.so.

4. Обновление файлов конфигурации (для 2.9.y)

При переходе с версии 2.8.x на версию 2.9.y никаких изменений в файлах конфигурации не требуется.

4.1. Ограничения шпинделя в INI

Теперь можно добавлять настройки в раздел [SPINDLE] INI-файла

MAX_FORWARD_VELOCITY = 20000 Максимальная скорость шпинделя (в об/мин)

MIN_FORWARD_VELOCITY = 3000 Минимальная скорость шпинделя (в об/мин)

MAX_REVERSE_VELOCITY = 20000 Если этот параметр опущен, по умолчанию будет установлено значение MAX_FORWARD_VELOCITY.

MIN_REVERSE_VELOCITY = 3000 Эта настройка эквивалентна MIN_FORWARD_VELOCITY, но для обратного вращения шпинделя. По умолчанию будет установлено значение MIN_FORWARD_VELOCITY, если оно опущено.

INCREMENT = 200 Устанавливает размер шага для команд увеличения/уменьшения скорости шпинделя. Это может иметь разное значение для каждого шпинделя. Эта настройка эффективна для AXIS и Touchy, но учтите, что на некоторых экранах управления ситуация может обрабатываться по-другому.

HOME_SEARCH_VELOCITY = 100 - Принято, но в настоящее время ничего не делает

HOME_SEQUENCE = 0 - Принято, но в настоящее время ничего не делает

5. Новые компоненты HAL

5.1. Не в реальном времени

mdro mqtt-publisher pi500_vfd pmx485-test qtplasmac-materials sim-torch svd-ps_vfd

5.2. В реальном времени

anglejog div2 enum filter_kalman flipflop hal_parport homecomp limit_axis mesa_uart millturn scaled_s32_sums tof ton

6. Новые драйверы

Была представлена структура для управления устройствами ModBus с использованием последовательных портов на многих картах Mesa. http://linuxcnc.org/docs/2.9/html/drivers/mesa_modbus.html

Теперь включен новый драйвер GPIO для любого GPIO, поддерживаемого библиотекой gpiod: http://linuxcnc.org/docs/2.9/html/drivers/hal_gpio.html