
Do instalacji Zadajnika WHB04B potrzebujemy komputer z zainstalowanym i działającym LinuxCNC na systemie Debian7 i ze stabilnym połączeniem z internetem.
Z urządzeniem firma MachMaker dostarcza spakowany katalog xhc-whb04b-6 DEB7 LCNC2_9.zip. Plik można pobrać tutaj http://www.machmaker.pl/1_5_pliki-do-pobrania.html .Należy go rozpakować w wygodnym miejscu (np. na pulpicie).
Otwieramy terminal i wpisujemy
sudo nano /etc/apt/sources.list
Usówamy zawartość otwartego pliku i wklejamy
deb http://archive.debian.org/debian wheezy main contrib non-free
deb-src http://archive.debian.org/debian wheezy main contrib non-free
# deb http://archive.debian.org/debian wheezy/updates main contrib non-free
# deb-src http://archive.debian.org/debian wheezy/updates main contrib non-free
deb http://archive.debian.org/debian-security wheezy/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ wheezy/updates main contrib non-free
Zapisujemy (Ctrl + o i enter) i zamykamy (Ctrl + x)
Następnie wpisujemy
sudo apt-get clean
sudo apt-get install debian-archive-keyring
sudo apt-get update -o Acquire::Check-Valid-Until=false
sudo apt-get install dirmngr software-properties-common gnome-commander git usbutils
Podłączamy odbiornik USB naszego zadajnika do gniazda USB komputera. W terminalu wpisujemy następujące polecenie:
lsusb

Wyświetli się lista urządzeń a między innymi nasze urządzenie (zaznaczone w czerwonej ramce). Jeśli urządzenie się nie wyświetla, to należy sprawdzić czy jest poprawnie podłączone lub ewentualnie uruchomić ponownie komputer i powrócić do polecenia lsusb)
W ramce żółtej znajduje się adres naszego urządzenia. W tym przypadku jest to adres 10ce:eb93. Jeśli wyświetli się taki właśnie adres, to nic nie trzeba zmieniać ponieważ taki zapisany jest w pliku konfiguracyjnym. Jeśli natomiast znajduje się tam inny adres, to należy wejść do dostarczonego katalogu xhc-whb04b-6 DEB7 LCNC2_9 i w edytorze tekstu otworzyć plik
99-xhc-whb04b-6.rules.
Należy zmienic wartości odpowiedzialne za adres i zapisać plik:
ATTR{idProduct}=="eb93", ATTR{idVendor}=="10ce", MODE="0666", OWNER="root", GROUP="plugdev"
Ponieważ na LinuxCNC 2.7 występują problemy z załadowaniem modułu zadajnika XHC, czeka nas teraz instalacja wersji 2.9.0 LinuxCNC. Wczesniej jeszcze zapisujemy np. w formie archiwum aktualną konfigurację (ustawienia) dla swojej maszyny. Następnie otwieramy nowy terminal i wpisujemy:
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key EF1B07FEE0EE663E
sudo nano /etc/apt/sources.list.d/linuxcnc-buildbot.list
i wklejamy:
deb http://buildbot.linuxcnc.org/ wheezy master-rt deb-src http://buildbot.linuxcnc.org/ wheezy master-rt
Zapisujemy
(Ctrl + o i enter) i zamykamy (Ctrl + x)
sudo apt-get update -o Acquire::Check-Valid-Until=false
sudo apt-get install linuxcnc
Uruchom LinuxCNC ze swoją działającą konfiguracją.
UWAGA!
Jeśli uruchomimy wbudowany w LinuxCNC kreator np. Stepconf Wizard to nadpisze on plik .ini i trzeba go zaktualizować na nowo.
Uruchamiamy menadżer plików z uprawnieniami administratora wpisując w terminal:
sudo gnome-commander
Kopiujemy dostarczony plik 99-xhc-whb04b-6.rules do katalogu /etc/udev/rules.d/
Zamykamy gnome-commander
Następnie w terminalu uruchom polecenie
sudo udevadm trigger
Zamykamy terminal
Uruchamiany nowy terminal w katalogu użytkownika i wpisujemy:
sudo git clone https://github.com/LinuxCNC/linuxcnc linuxcnc-dev
W katalogu użytkownika powstanie nowy katalog linuxcnc-dev
Uruchamiamy menadżer plików z uprawnieniami administratora wpisując w terminal:
sudo gnome-commander
Kopiujemy dostarczony katalog hc-whb04b-6 do katalogu linuxcnc-dev/src/hal/user_comps/
Przez gnome-commander wchodzimy do katalogu linuxcnc-dev/src/
W edytorze tekstu otwieramy plik Makefile
Odszukujemy sekcję SUBDIRS i wklejamy ścieżkę do naszego hal
hal/user_comps/xhc-whb04b-6 \

Zapisujemy i zamykamy plik Makefile.
Zamykamy gnome-commander
Otwieramy nowy terminal i wklejamy kolejno polecenia, zatwierdzamy enterem, potwierdzamy jeśli konieczne.
sudo apt-get install autoconf automake pkg-config libgtk-3-dev autoconf autogen libmodbus-dev libusb-1.0-0-dev
sudo apt-get update -o Acquire::Check-Valid-Until=false
sudo apt-get install libboost-python-dev netcat libmodbus-dev yapps2 libudev-dev tcl8.5-dev tk8.5-dev libreadline-gplv2-dev asciidoc dblatex docbook-xsl dvipng graphviz groff imagemagick inkscape python-lxml source-highlight texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-lang-cyrillic texlive-lang-french texlive-lang-german texlive-lang-polish texlive-lang-spanish texlive-latex-recommended w3c-linkchecker xsltproc python-dev libxmu-dev libglu1-mesa-dev libgl1-mesa-dev libgtk2.0-dev intltool python3-tk libusb-1.0-0-devsudo apt-get install linux-headers-$(uname -r)
cd linuxcnc-dev/src
sudo ./autogen.sh
sudo ./configure
sudo make
sudo make setuid
Uruchamiamy menadżer plików z uprawnieniami administratora wpisując w terminal:
sudo gnome-commander
Kopiujemy wygenerowany plik bin xhc-whb04b-6 z katalogu /linuxcnc-dev/bin/ do katalogu /usr/bin/
zamykamy gnome-commander
Zamykamy wszystko i otwieramy nowy terminal
W terminalu wpisujemy:
sudo udevadm trigger
Może to spowodować chwilowe przyblokowanie systemu, należy cierpliwie poczekać.
Następnie wklejamy w terminal:
halrun
Jeśli halrun będzie działać, wklejamy następnie
loadusr xhc-whb04b-6

i klikamy Enter.
Uruchamiamy nasz zadajnik i kręcimy kółkiem lub wciskamy przyciski, powinny się pojawiać w terminalu sygnały od zadajnika.

Naciskamy ctrl + c i zamykamy terminal.
Kopiujemy dostarczony plik xhc-whb04b-6.hal do swojego katalogu gdzie mamy ustawienia frezarki (tam gdzie między innymi znajduje się plik .ini)
Otwieramy w edytorze tekstu swój plik .ini i do sekcji [HAL] wklejamy
HALFILE = xhc-whb04b-6.hal
oraz
HALUI = halui

Do sekcji [HALUI] wklejamy
MDI_COMMAND=(debug,00)
MDI_COMMAND=(debug,macro1)
MDI_COMMAND=(debug,macro2)
MDI_COMMAND=(debug,macro3)
MDI_COMMAND=(debug,macro4)
MDI_COMMAND=G1 G53 X0 Y0 Z0 F4000
MDI_COMMAND=(debug,macro6)
MDI_COMMAND=G1 X0 Y0 Z0 F4000
MDI_COMMAND=(debug,macro8)
MDI_COMMAND=(debug,macro9)
MDI_COMMAND=(debug,macro10)
MDI_COMMAND=(debug,macro11)
MDI_COMMAND=(debug,macro12)
MDI_COMMAND=(debug,macro13)
MDI_COMMAND=(debug,macro14)
MDI_COMMAND=(debug,macro15)
MDI_COMMAND=(debug,macro16)
MDI_COMMAND=G1 G53 Z0 F4000
MDI_COMMAND=(debug,macro17)
MDI_COMMAND=(debug,macro18)
MDI_COMMAND=(debug,macro19)

Nastęnie należy zaktualizować sekcję [DISPLAY]
Jeśli nie wiesz co ustawić, na początek po prostu zamieć to co masz w sekcji DISPLAY na następujący kod:
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MIN_FEED_OVERRIDE = 0.000000
MAX_FEED_OVERRIDE = 1.200000
MAX_SPINDLE_OVERRIDE = 1.5
MIN_SPINDLE_OVERRIDE = 0.1
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 6.000000
MAX_LINEAR_VELOCITY = 83.3333
MIN_LINEAR_VELOCITY = 0.500000
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
EDITOR = gedit
GEOMETRY = xyz
Sprawdzamy jeszcze, czy mamy ustawioną sekwencję bazowania. W pliku ini definiuje się te w dodając parametr HOME_SEQUENCE dla każdej osi. Jeśli w ustawieniach twojej maszyny jest już takie ustawienie to nie musisz nic robić. Jeśli natomiast nie masz ustawionych sekwencji bazowania wklej następującą wartość dla każdej z osi:
HOME_SEQUENCE = 0

Zapisz i zamknij plik .ini.
Uruchom LinuxCNC, zadajnik powinien już działać prawidłowo.