Aby umieścić przycisk na panelu axis można użyć panelu pyVCP.
http://linuxcnc.org/docs/2.4/html/hal_pyvcp.html
Aby włączać oświetlenie, potrzebujesz przełącznik typu "toogle" a więc moim zdaniem dobrze nada się
Checkbutton
Aby utworzyć taki przełacznik na panelu, trzeba utworzyć plik xml w którym zostanie zapisane co ma się na panelu znaleźć. Można utworzyć nowy plik lub dołączyć do istniejącego.
Zakładam, że jakiś panel już jest więc w przykładzie dorzucamy do istniejącego. Jeśli nie ma, można utworzyć go podczas tworzenia konfiguracji w stepconf wizard lub w linku który podałem jest instrukcja jak go dodać do istniejącej konfiguracji.
Plik z opisem panelu znajduje się w katalogu w którym znajduje sie konfiguracja (między innymi plik .ini .hal itd), u mnie jest to plik custompanel.xml
W pliku należy dodać kod opisujący wprowadzaną kontrolkę/przełącznik
Kod: Zaznacz cały
<checkbutton>
<halpin>"light-chkbtn"</halpin>
<text>"Light"</text>
</checkbutton>
Już teraz po uruchomieniu LinuxCNC powinien pojawić się w panelu tworzony obiekt.
Teraz trzeba podłączyć do niego odpowiedni pin HAL.
Instrukcja SSK-MB2 mówi, że przekaźnik numer 2 podłączony jest do pinu numer 16 złącza LPT, a więc interesuje nas pin HAL:
parport.0.pin-16-out - gdzie 0 to numer portu LPT. Jeśli jest inny, to trzeba wybrać inny.
Do pyvcp podłącza sie jednak sygnały a nie piny, więc potrzeba utworzyć sygnał który będzie połączony z tym pinem.
Aby podłączyć sygnał do przełącznika, należy w pliku pyvcc_options.hal dopisać:
Kod: Zaznacz cały
#Tworzenie sygnału i połączenie z pinem
net light_signal => parport.0.pin-16-out
#Podłączenie sygnału do przycisku
net light_signal => pyvcp.light-chkbtn
I gotowe. Można uruchomić LinuxCNC i testować:
https://youtu.be/POHz2fTmAq4