LinuxCNC 2.9, 2 porty LPT

LinuxCNC 2.9, 2 porty LPT, różna częstotliwość

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1768
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

LinuxCNC 2.9, 2 porty LPT

#1

Post napisał: drzasiek90 » 04 cze 2020, 21:20

Tak testuję sobie moje przejściówki USB-LPT do linuxCNC i już któryś dzień z rzędu walczę z problemem w pracy przy dwóch przejściówkach, ponieważ drugi port LPT ciągle tracił synchronizację.
Co się okazało. Jeśli w LinuxCNC jest używany jeden port LPT to okres, tzw. BASE_PERIOD zgadza się z tym który jest zdefiniowany w pliku .ini. i jest to okres wykonywania funkcji

Kod: Zaznacz cały

static void write_port(void *arg, long period)
Jeśli natomiast LinuxCNC korzysta z 2 portów LPT, drugi port działa o połowę wolniej od pierwszego.
Tzn.
Funkcja

Kod: Zaznacz cały

static void write_port(void *arg, long period)
z argumentem arg->base_addr = adres_portu_1
wykonuje się z prawidłową częstotliwością, natomiast z argumentem arg->base_addr = adres_portu_2
wykonuje się 2 razy wolniej niż wskazuje na to ustawienie BASE_PEROID oraz argument period niniejszej funckji.

Czy ktoś zauważył taki objaw? Możliwe, że nie, ponieważ gołym okiem tego zauważyć się nie da, trzeba debugować.
A może to jest normalne i tak ma być? (nie sądzę)

Dodane 10 minuty 5 sekundy:
A tak mi jeszcze przyszło do głowy, może to dla portu pierwszego wykonuje się 2 razy za szybko.
Generalnie sytuacja wygląda tak.
Jeśli ustawimy BASE_PEROID = 10000 [ns] to mam rozumieć, że co 10us wykona się obsługa portu czy 10us to jest okres zegara a więc zbocze mamy co 5us i obsługa portu wykona się co 5us?

Sprawdziłem, zmierzyłem i dla BASE_PEROID = 10000, funkcja obsługi wysyłania na port równoległy wykonuje się co 5us (tylko dla portu pierwszego jeśli porty są 2, bo dla drugiego o połowę wolniej).




Autor tematu
drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1768
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: LinuxCNC 2.9, 2 porty LPT

#2

Post napisał: drzasiek90 » 05 cze 2020, 09:54

A chyba znalazłem odpowiedź
http://linuxcnc.org/docs/html/hal/parallel-port.html
Punkt 5 i 7. Okazuje się, że jak się generuje konfigurację z wizarda stepconf to on włącza właśnie DoubleStep.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”