Znaleziono 48 wyników

autor: tuxcnc
07 wrz 2025, 19:10
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

Dzisiaj zebrałem się napisać config dla LinuxCNC.
Na stronie https://litex-cnc.readthedocs.io/en/lat ... epgen.html jest przykładowa konfiguracja, a w tej przykładowej konfiguracji dwie linie:

Kod: Zaznacz cały

net xpos_cmd joint.0.motor-pos-cmd => [LITEXCNC](NAME).stepgen.00.position-cmd
net xpos_cmd joint.0.motor-pos-fb  <= [LITEXCNC](NAME).stepgen.00.position-prediction
LinuxCNC wywala się na drugiej z nich wyświetlając formalnie prawdziwy, ale niewiele mówiący komunikat, że się nie da podłączyć sygnału wyjściowego...
Problem sprowadza się do tego, że to są dwie różne sieci i powinny się inaczej nazywać, na przykład

Kod: Zaznacz cały

net xpos_cmd joint.0.motor-pos-cmd => [LITEXCNC](NAME).stepgen.00.position-cmd
net xpos_fb joint.0.motor-pos-fb  <= [LITEXCNC](NAME).stepgen.00.position-prediction
Niby drobny błąd, ale doskonale świadczy o autorze Litex-CNC, on po prostu nie sprawdza tego co pisze z pamięci...
I tak jest dosłownie ze wszystkim.
A jak mu zwrócisz uwagę, to się obrazi i Cię zbanuje...
autor: tuxcnc
24 sie 2025, 19:09
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

Zaczynam mieć tego debila dość...
Nie mówię o trollu-gównojadzie, który reprezentuje sobą takie dno, że jedyne co można robić, to go olewać...
Mówię o autorze LitexCNC, który jak czegoś nie spieprzy, to jest chory...
Wersja 1.3.3 ma taką magiczną właściwość, że firmware kompiluje się, ale komponent LinuxCNC nie widzi stepgenów...
No niby może się zdarzyć, że się coś przeoczy...
Zainstalowałem więc najnowszą wersję 1.3.4 i tutaj to mnie po prostu trafił szlag.
Stepgeny widać, ale nie da się skompilować firmware z PWM...
Wywala komunikat jednoznacznie wskazujący, że błąd jest w pliku konfiguracji json.
Czyli ten kretyn znowu pozmieniał format pliku json i tradycyjnie trzyma to w tajemnicy...
Zapytać go nie mogę, bo mnie przecież psychol zbanował...
Tak w ogóle, to w repozytorium są przykładowe konfiguracje sprzed dwóch lat, z których żadna nie ma prawa działać.
Czy to naprawdę trudno zrozumieć, że jak się wprowadza zmiany w kodzie, to trzeba też uaktualnić przykładowe konfiguracje?
A może on sobie tak dłubie w kodzie i w ogóle nie sprawdza czy te zmiany działają? No chyba mało prawdopodobne...

Nie widząc innej możliwości, zdecydowałem się na downgrade i wersja 1.2.4 chyba działa prawidłowo, ale ma błędy poprawione w nowszych wersjach, które to wersje nie działają, albo działają, ale trzeba się domyślić jak pisać konfiguracje...
No normalnie dom wariatów...

Jak pisałem, w Debianie 13 halcompile wywala mnóstwo ostrzeżeń, ale komponent instaluje. Trochę się temu przyjrzałem, ale to chyba kompilator szaleje wyświetlając totalne bzdury. Przykładowo wyświetla, że jakaś zmienna jest zadeklarowana ale nie używana, tyle tylko że usunięcie jej deklaracji wywala kompilację, bo w rzeczywistości jest jak najbardziej używana... Czyli mówiąc inaczej, kompilator bezczelnie kłamie...

Jak pisałem, w Debianie 12 komponenty LitexCNC kompilują się bez żadnych ostrzeżeń. Spróbowałem podłożyć pliki skompilowane w Debianie 12 do Debiana 13 i wygląda na to, że działają. Niby to ta sama wersja LInuxCNC, ale czasem pliki skompilowane w innym systemie operacyjnym strajkują (na przykład nie mogą znaleźć bibliotek w określonej wersji), tutaj jednak chyba różnice środowiska są nieistotne.

Na razie testy robię na Colorlight 5a-75e (to ta co ma dwa razy więcej wyjść), bo sobie przypomniałem, że mam taką w szufladzie i w niej nie grzebałem. Na 5a-75b muszę jeszcze z tydzień poczekać...
autor: tuxcnc
24 sie 2025, 13:48
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

Testów ciąg dalszy...
Firmware skompilowałem na laptopie, a docelowe systemy (Debian 12 i 13) mam na blaszaku.
Zupełnie przypadkiem na każdym systemie mam inną wersję litexcnc...
Muszę najpierw zrobić z tym porządek.
W każdym razie coś tam działa i jest komunikacja, więc można mieć nadzieję...
autor: tuxcnc
24 sie 2025, 11:36
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

Trollom-gównojadom nie będę niczego tłumaczył, bo nie tylko nie potrafią zrozumieć, ale nawet nie będą próbowali zrozumieć, bo przecież im nie chodzi o znalezienie obiektywnej prawdy, tylko o wywołanie złych emocji...

Natomiast pozostałym śpieszę wyjaśnić, że wcale nie mam satysfakcji kiedy komuś nawsadzam od debili - wręcz przeciwnie, cieszę się kiedy nie muszę tego robić. Przecież rozmawiamy o kwestiach technicznych, a tutaj prawie wszystko jest zero-jedynkowe, albo program działa, albo nie działa, albo jest napisany prawidłowo, albo zawiera błędy...
Tu naprawdę nie powinno być żadnych emocji, tylko dyskusja na merytoryczne argumenty.
Ale niestety tak nie jest. Wielu autorów zachowuje się jak rodzice upośledzonego dziecka i na jakąkolwiek krytykę reagują agresją. Na okrągło przydarza mi się, że komuś wskazuję konkretny błąd, cierpliwie tłumaczę dlaczego nie będzie to działać, na co dostaję debilne odpowiedzi w rodzaju "ja to robię za darmo i powinieneś być mi wdzięczny"...
No niestety, ale logika mówi, że jak dostajesz coś co nie działa, to nie ma powodu do wdzięczności, nawet jeśli to jest za darmo...
I tak właśnie było z autorem LitexCNC ( dawniej Colorcnc), który kompilował sobie kod na Debianie zainstalowanym na Windows (Windows Subsystem for Linux (WSL)), tylko zapomniał kogokolwiek o tym poinformować. U mnie na natywnym Linuksie nic nie chciało działać, a dyskusja z autorem zakończyła się tym, że zbanował mnie na Githubie, zamiast cokolwiek wyjaśnić...
To po prostu taki typ człowieka.

Dam Wam konkretny przykład jak to wygląda i dlaczego nie działa.
Oto zrzut z forum LinuxCNC:
Obrazek
Skopiowałem kod, wkleiłem do Gedit, zmieniłem tylko adres IP i spróbowałem skompilować...
Dostałem taki oto rezultat:

Kod: Zaznacz cały

root@HP-15:/temp/litexcnc# env PATH=$PATH python3 -m litexcnc build_firmware 5a-75e_example.json  --build
Traceback (most recent call last):
  File "pydantic/main.py", line 545, in pydantic.main.BaseModel.parse_raw
  File "pydantic/parse.py", line 37, in pydantic.parse.load_str_bytes
  File "/usr/lib/python3.13/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/usr/lib/python3.13/json/decoder.py", line 345, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/json/decoder.py", line 361, in raw_decode
    obj, end = self.scan_once(s, idx)
               ~~~~~~~~~~~~~~^^^^^^^^
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 47 column 6 (char 1332)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/local/lib/python3.13/dist-packages/litexcnc/__main__.py", line 4, in <module>
    cli()
    ~~~^^
  File "/usr/local/lib/python3.13/dist-packages/click/core.py", line 1442, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/dist-packages/click/core.py", line 1363, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.13/dist-packages/click/core.py", line 1830, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/local/lib/python3.13/dist-packages/click/core.py", line 1226, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/dist-packages/click/core.py", line 794, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.13/dist-packages/litexcnc/cli/build_firmware.py", line 37, in cli
    firmware_config = LitexCNC_Firmware.parse_raw(' '.join(config.readlines()))
  File "pydantic/main.py", line 554, in pydantic.main.BaseModel.parse_raw
pydantic.error_wrappers.ValidationError: 1 validation error for LitexCNC_Firmware
__root__
  Expecting ',' delimiter: line 47 column 6 (char 1332) (type=value_error.jsondecode; msg=Expecting ',' delimiter; doc={
     "board_name": "example",
     "board_type": "5A-75E v8.0",
     "clock_frequency": 40000000,
     "connection": {
         "connection_type": "etherbone",
         "tx_delay": 0,
         "ip_address": "10.10.10.111",
         "mac_address": "0x10e2d5000000"
     },
     "watchdog": {
     },
     "modules": [
     {
         "module_type": "stepgen",
         "instance": [
             {
                 "pins" : {
                     "stepgen_type": "step_dir",
                     "step_pin": "j1:0",
                     "dir_pin": "j1:1"
                 },
                 "soft_stop": true
             }, {
                 "pins" : {
                     "stepgen_type": "step_dir",
                     "step_pin": "j2:0",
                     "dir_pin": "j2:1"
                 },
                 "soft_stop": true
             }, {
                 "pins" : {
                     "stepgen_type": "step_dir",
                     "step_pin": "j3:0",
                     "dir_pin": "j3:1"
                 },
                 "soft_stop": true
             }, {
                 "pins" : {
                     "stepgen_type": "step_dir",
                     "step_pin": "j4:0",
                     "dir_pin": "j4:1"
                 },
                 "soft_stop": true
             }
         ]
     ]
 }
; pos=1332; lineno=47; colno=6)

Cóż się okazało?
Ano autorowi wcięło jedną linię (pomiędzy nawiasami kwadratowymi, koniec powinien być jak poniżej)

Kod: Zaznacz cały

                },
                "soft_stop": true
            }
         ]
      }
   ]
}
Ktoś może powiedzieć, że każdemu może się przydarzyć, ale nic bardziej błędnego.
Po prostu opublikowany kod nie ma prawa zadziałać, co znaczy że autorowi też by nie zadziałał, co znaczy że nigdy go nie sprawdził, ale opublikował i teraz inni się męczą.
I w tym projekcie tak jest ze wszystkim - jeden wielki burdel...
autor: tuxcnc
24 sie 2025, 07:51
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

kszumek pisze:
24 sie 2025, 07:25
mało tu po prostu elektroników ekperymentatorów
Za to trolli dostatek...
A trolle nie rozumieją, że większość projektów kończy się niepowodzeniem, a wiedza jak czegoś nie robić też jest cenna...
autor: tuxcnc
23 sie 2025, 21:10
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

Jakiś czas temu porzuciłem ten projekt.
Zasadniczo poszło o problemy ze sprzętem.
Dla przypomnienia, płytki Colorlight 5A (FPGA Lattice) mają bufory 245 ustawione na sztywno jako wyjścia. Co prawda można odwrócić ich kierunek, ale to jest zegarmistrzowska robota (układy TSSOP z rastrem 0,625 mm) i druciarstwo w dosłownym znaczeniu (cięcie wyprowadzeń i robienie mostków drutem), a jeszcze na dodatek trzeba wtedy obniżyć napięcie zasilania do 3,3 V, bo więcej FPGA nie wytrzyma.
Uznałem więc, że jest to tak dalekie od profesjonalizmu, że nie ma sensu i zasadniczo zdania nie zmieniłem.
Ale ostatnio zajmowałem się projektem kilku sterowników działających równolegle przez Ethernet.
No i tutaj LitexCNC miałby sens.
Tania płytka (70-80 PLN) z gigabitowym Ethernetem i buforowanymi wyjściami w standardzie 5 V, to brzmi całkiem rozsądnie. Wejścia może obsłużyć inna płytka (na przykład CH32V307).
Ponieważ moje dwie płytki Colorlight 5A-75B były obiektem nieudolnych modyfikacji, więc zamówiłem nową, zapłaciłem ... i dotarło do mnie że wszedłem na minę...
Ja się LitexCNC bawiłem dwa lata temu, kiedy standardem był LinuxCNC 2.9 na Debianie 11, ale to se ne wrati...
Dzisiaj mam LinuxCNC 2.10 i przechodzę właśnie na Debiana 13, czyli trzeba zacząć wszystko od początku...
Zainstalowanie LitexCNC graniczy z cudem, instalator się wywala w połowie roboty, w zależności od układu gwiazd i planet dostajemy mniej lub bardziej działającą instalację, ale nie działającą do końca.
Pierwszy problem to instalacja Litex.
Skrypt instalacyjny wywala się i instaluje tylko połowę. Daje się to poprawić ręcznie. Jako pierwszy jest instalowany plik litex_setup.py, który można sobie uruchomić z terminala. Co ciekawe, z opcją --update instaluje się więcej niż z opcją --install, co warto wiedzieć...
Także brakujący oss-cad-suite można zainstalować ręcznie.
Jak już mamy wszystko, to możemy uruchomić litexcnc...
W zależności czy mamy fart czy niefart, zadziała litexcnc, albo trzeba będzie python3 -m litexcnc. Nie jest to wielki problem, ale trzeba wiedzieć.
No więc każemy skompilować przykładową konfigurację i ... dostajemy mnóstwo debilnych komunikatów błędów, z których absolutnie nic nie wynika...
Walczyłem z tym dwa dni, zanim znalazłem dość prozaiczną przyczynę.
Otóż, jak już kiedyś pisałem, autor projektu jest strasznym bałaganiarzem i nazwanie tego co się dzieje w repozytorium burdelem jest dość łagodnym określeniem.
Tutaj akcja jest taka, że gość postanowił zmienić format plików konfiguracyjnych (kolejny raz zresztą), ale w przykładowych konfiguracjach zostawił stare pliki, których nowy program ugryźć nie potrafi...
Nie będę pisał o co konkretnie chodzi, ale jak ktoś zapyta, to wyjaśnię.
Tak więc w końcu udało mi się skompilować firmware (nie testowałem jeszcze czy działające).
I tutaj dochodzimy do problemu drugiego.
Otóż firmware, to sobie możemy skompilować wszędzie, nawet pod Windows, bo jak to zrobimy dobrze, to musi działać wszędzie i ze wszystkim.
Ale komponent LinuxCNC musimy skompilować na systemie docelowym (W moim przypadku Debian 13 z LinuxCNC 2.10), bo inaczej albo nie da się tego w ogóle zrobić, albo może nie działać wcale, albo może działać niestabilnie.
No i tutaj jest problem, bo na Debianie 12 komponent kompiluje się bez problemu, a na Debianie 13 pluje warningami, choć na koniec się kompiluje w całości.
Ludzie mówią, że ostrzeżenia można olać, ale ja jestem ostrożny, bo przecież nie biorą się znikąd...
Na razie tego nie testowałem, więc nie wiem.
Autor LitexCNC twierdził na forum LinuxCNC, że na Debianie 12 wszystko działa jak należy (co jak pisałem wyżej nie do końca jest prawdą, bo jemu działa na jego komputerze, a Tobie wcale nie musi),
Tak więc trzeba przyjąć takie założenie, że na Debianie 12 da się prawidłowo uruchomić LitexCNC, a na Debianie 13 niekoniecznie...
autor: tuxcnc
25 cze 2023, 21:50
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

drzasiek90 pisze:
25 cze 2023, 21:33
Ta, akurat.
I podział kroku ustawiony na sterowniku silnika, skok śruby czy inne przełożenia napędu nie mają znaczenia, zawsze jest 3000mm/min...
No przecież Ci mówię, że nie rozumiesz, a Ty dalej swoje...
Nie chce mi się tłumaczyć, bo sprawa jest skomplikowana, a mnie boli głowa.
Dam Ci jednak taki przykład:
Twój pracownik jedzie samochodem i co jakiś czas do Ciebie dzwoni, on mówi ile przejechał, a ty mu mówisz z jaką prędkością ma jechać.
Jest oczywiste, że im szybciej jedzie i rzadziej dzwoni, to tym trudniej nim sterować.
Tak działają tego typu sterowniki.
autor: tuxcnc
25 cze 2023, 21:08
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

drzasiek90 pisze:
25 cze 2023, 20:21
Ten parametr nic nie mówi, jeśli nie podałeś konfiguracji sterownika i napędu.
Mówi wszystko co jest do powiedzenia.
Nie rozumiesz zasady działania tego typu sterowników, a mi się nie chce tego tłumaczyć.
autor: tuxcnc
25 cze 2023, 19:22
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

Dzisiaj uruchomiłem CNC 3018 na karcie Colorlight 5a-75b i CNC-Shield.
Do tego chińskie krańcówki indukcyjne (te najtańsze "żółte kostki"), które ku mojemu zaskoczeniu pracują poprawnie przy zasilaniu 3,3 V...
Karta jest skonfigurowana "na maksa", czyli 9 x stepgen, 6 x PWM, 2 x enkoder ABZ plus 3 x enkoder AB (razem pięć enkoderów), 8 wyjść ogólnego przeznaczenia i 12 wejść ogólnego przeznaczenia - konia z rzędem temu, kto wykorzysta to wszystko na raz...
To jest moja własna konfiguracja, skompilowana na moim komputerze.
Na razie nie testowałem enkoderów. Zamówiłem graty do modelu tokarki, jak dotrą to przyjdzie czas na enkodery i próby gwintowania na sztywno...
Konfiguracja plików hal i ini była drogą przez mękę, nic nie chciało działać i nie było wiadomo dlaczego. Wygląda na to, że kontroler ma swoje ulubione parametry, przy których działa dobrze i stabilnie, ale jakie one są trzeba dojść samemu, bo jak już pisałem, dokumentacji albo nie ma, albo wprowadza ona w błąd zamiast pomagać.
Testowałem bazowanie, ruchy ręczne i proste programy. Da się wyciągnąć jakieś 3000 mm/min, co dla małej frezarki jest wartością wystarczającą. Czy da się więcej na razie nie wiem.
Zgodnie z obietnicą, o szczegółach pisać nie będę.
O szczegóły pytajcie miejscowych trolli, którzy zawsze mają dużo do powiedzenia...
autor: tuxcnc
20 cze 2023, 06:19
Forum: LinuxCNC (dawniej EMC2)
Temat: Colorcnc
Odpowiedzi: 143
Odsłony: 15789

Re: Colorcnc

Zrozumcie, do jasnej cholery, o co w tym wszystkim chodzi.
Otóż w projekcie jest wiele drobnych i rozwiązywalnych problemów, które niestety wpływają na siebie wzajemnie i jest totalny burdel w którym nic nie chce działać.
Doprowadzenie projektu do stanu używalności musi potrwać trochę czasu, a żaden z deweloperów nie ma obowiązku informować wszystkich o wszystkim co robi, szczególnie tuta.
Kiedy już uda się dojść do stabilnego firmware, to nic nie stoi na przeszkodzie żeby totalny laik kupił sobie programator za 20 czy 50 PLN i go użył.
Także podsumowując, gówno prawda że w projekcie nic się nie dzieje, i gówno prawda że projekt musi zostać skomercjalizowany.

Wróć do „Colorcnc”