Colorcnc
-
tuxcnc
Autor tematu - Lider FORUM (min. 2000)

- Posty w temacie: 48
- Posty: 9837
- Rejestracja: 26 lut 2011, 23:24
- Lokalizacja: mazowieckie
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...
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...
-
tristar0
- Lider FORUM (min. 2000)

- Posty w temacie: 22
- Posty: 3131
- Rejestracja: 21 sty 2020, 17:48
- Lokalizacja: Toruń miasto Tadeusza R
Re: Colorcnc
Nie koniecznie bo najpierw jest eksplozja emocji i czego to się nie da zrobić a na konic nie mam teraz czasu by to kontynuować bo żeby to działało trzeba zacząć od początku .Z polskiego na nasze najpierw wodotryski a na koniec nawet woda nie kapnie .kozak12 pisze:Jakże trafnie powiedziane
Dodane 2 minuty 34 sekundy:
Ile to już tematów gdzie tux toczy dysputy sam ze sobą na różne tematy, nawet nikomu już się nie chce czegokolwiek napisać bo szkoda czasu na kopanie się z koniem który i tak na koniec porzuci swój wynalazek.
Mam wyrypane na wszelkiej maści proroków ,mędrców i wszystkich którzy stawiają się ponad innymi ,i tak ich zjedzą robaki
-
kszumek
- Specjalista poziom 2 (min. 300)

- Posty w temacie: 1
- Posty: 556
- Rejestracja: 04 kwie 2006, 18:08
- Lokalizacja: Białystok
Re: Colorcnc
Witam
Ja czytam i czasami wyciągnę coś dla siebie,
czasami pomagają mi zaoszczędzić czas na moje testy i zabawy,
mało tu po prostu elektroników ekperymentatorów, a szkoda
pozdrawiam
Ja czytam i czasami wyciągnę coś dla siebie,
czasami pomagają mi zaoszczędzić czas na moje testy i zabawy,
mało tu po prostu elektroników ekperymentatorów, a szkoda
pozdrawiam
-
kozak12
- Specjalista poziom 2 (min. 300)

- Posty w temacie: 5
- Posty: 398
- Rejestracja: 22 cze 2013, 16:49
- Lokalizacja: mazowsze
Re: Colorcnc
Najwięcej jednego co to co wrzuca kopiuje z forum Linux i do każdego posta daje sobie lajka.
Dodane 3 minuty 37 sekundy:
Ciekawe czemu o sobie nic nie wspomni.
-
tuxcnc
Autor tematu - Lider FORUM (min. 2000)

- Posty w temacie: 48
- Posty: 9837
- Rejestracja: 26 lut 2011, 23:24
- Lokalizacja: mazowieckie
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:
Skopiowałem kod, wkleiłem do Gedit, zmieniłem tylko adres IP i spróbowałem skompilować...
Dostałem taki oto rezultat:
Cóż się okazało?
Ano autorowi wcięło jedną linię (pomiędzy nawiasami kwadratowymi, koniec powinien być jak poniżej)
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...
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:
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
}
]
}
]
}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...
-
kozak12
- Specjalista poziom 2 (min. 300)

- Posty w temacie: 5
- Posty: 398
- Rejestracja: 22 cze 2013, 16:49
- Lokalizacja: mazowsze
Re: Colorcnc
I w czym ten twój temat jest pomocny?tuxcnc pisze: ↑24 sie 2025, 11:36Trollom-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 . 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.
I w tym projekcie tak jest ze wszystkim - jeden wielki burdel...
Och ach itd. a później wyzywanie od debili.
Wlazłes na forum z gówniana wiedzą i chamskimi odzywkami Dziwisz się że bana dostałeś?
[
Która to obiektywna prawda? Ta twoja ?
-
tuxcnc
Autor tematu - Lider FORUM (min. 2000)

- Posty w temacie: 48
- Posty: 9837
- Rejestracja: 26 lut 2011, 23:24
- Lokalizacja: mazowieckie
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ę...
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ę...




