xhc-whb04b-6 - kompilace

Uživatelský avatar
Erythros
Příspěvky: 33
Registrován: 7. 10. 2014, 7:48

20. 2. 2022, 2:06

LinuxCNC kompilace Run-In-Place je opravdu V Místě a je to pak z toho místa spuštěno. To znamená, že binární výstupy a jiné kompilační artifakty žijí hned vedle kódu. (A prasí stromovou strukturu, takže je nemůžeš jen tak odstranit pomocí

Kód: Vybrat vše

rm -drf
jedné složky. Tady je fakt vhodné začít používat ten

Kód: Vybrat vše

git
, jelikož pak můžeš provést volání

Kód: Vybrat vše

git clean -xdf
, které ti smaže všechny nesledované soubory a pomocí

Kód: Vybrat vše

git reset --hard HEAD
dostaneš stav pracovní složky na poslední komit.)

Příkaz

Kód: Vybrat vše

find . -type f -executable -print
spuštěný z kořene složky ti dá všechny spustitelné soubory.

No, evidentně ti něco z hlášky

Kód: Vybrat vše

ImportError: No module named glade
chybí. Může být, že nutný balíček je distribuovány hochy z LinuxCNC z jejich vlastního repositáře. Si matně vzpomínám, že tam byl nějaký takový problém když René Hopf portoval celý LinuxCNC na Python3.
Nevím zda vadí, že mám verzi 3.8.6-1 a má být 3.8.0 a méně.
To klidně může být velký (a hlavní) problém. Může zkusit návod https://forum.linuxcnc.org/9-installing ... cnc#112162. (Možná je to v linuxcnc/LinuxCNC@master vyřešeno, tohle nesleduji.)
a další věc, co mám udělat, abych donutil make znovu pracovat?
Vyměnil jsem dva soubory v původních adresářích src . Stáhl jsem je z diskuze na githubu týkající se právě driveru xhc-whb04b-6. Měli by tam být nějaké opravy. Jedná se o dva soubory hal.cc a hal.h. Jsou větší než ty původní, ale jmenují se stejně. Nevím kam to to make háže, takže to ani neumím smazat to, co vytvořilo.

Kód: Vybrat vše

Make
bude kompilovat jenom změněné soubory. Takže by ti teoreticky měl zkompilovat jenom ty dva, co budou mít změněná časová razítka. Problém může být, že z nějakého důvodu (pravděpodobně kvůli složitosti toho systému) to nebere ty dva soubory jako závislosti. Můžeš zkusit kompletně odstranit všechny vytvořené soubory pomocí

Kód: Vybrat vše

git clean
a

Kód: Vybrat vše

git reset
, nebo spustit

Kód: Vybrat vše

clean
pomocí

Kód: Vybrat vše

make clean
, což by mělo odstranit kompilační artefakty.
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

20. 2. 2022, 7:24

Tak jsem zase pokročil o krok dál. Z toho odkazu co si mi dával, jsem našel nějaké balíky týkající se glade a knihoven glade, tak jsem je všechny nainstaloval gmoccapy už mi jede.

Jinak si asi nastuduji něco o tom gitu. Věřím, že toho bude na netu hodně. Jsem se mu snažil vyhnout, protože jsem nevěděl, jak mu říct, že chci verzi 2.8.2
LinuxCNC - MESA 7i96
zz912.webnode.cz
fupe
Příspěvky: 638
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

20. 2. 2022, 7:35

Git checkout verze.
Na zkoumani zmen ve strukture gitu doporucuju gitk. Takovy graficky koukatko.
M
Uživatelský avatar
Erythros
Příspěvky: 33
Registrován: 7. 10. 2014, 7:48

21. 2. 2022, 8:24

Jinak si asi nastuduji něco o tom gitu. Věřím, že toho bude na netu hodně. Jsem se mu snažil vyhnout, protože jsem nevěděl, jak mu říct, že chci verzi 2.8.2
Taky, jestliže se ti podaří spravit/změnit logiku toho ovladače (buďmě pozitivní, až se ti podaří), což je celá podstata tohohle snažení, tak alespoň elementární znalosti gitu budeš potřebovat, abys mohl vytvořit žádost o zavedení kódu.

Ono to opravdu až tak složité není a většina si vystačí a znají jenom zlomek z možností, které git poskytuje. (A to i na profesionální úrovni. [Myšleno lidé se tímto živící, nikoliv že musejí být nezbytně experti.])

Ušetříš si spoustu starostí s neustálou úpravou kódu. A ta zdrojová báze LinuxCNC přímo počítá s tím, že bude sestavována z gitovského repozitáře, viz https://github.com/LinuxCNC/linuxcnc/bl ... t-from-git nebo https://github.com/LinuxCNC/linuxcnc/bl ... n-from-git a https://github.com/LinuxCNC/linuxcnc/bl ... thelper.sh.
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

21. 2. 2022, 9:31

Zatím se mi povedlo najít příkaz:

Kód: Vybrat vše

make -B
, který natvrdo překompiluje vše, i to co už dělal. Asi to není nejefektivnější cesta, ale umožní mi zásah do zdrojáků a jejich následnou kompilaci. Asi by mi ten git pomohl, ale já už dělám nějak těch odboček až moc.

Jako první věc mám v plánu do driveru doplnit nějaké provizorní testovací hal piny, do kterých budu sypat proměnné a pak si je přes halshow zobrazovat. Škoda že den nemá aspoň 50 hodin.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

25. 2. 2022, 4:40

Zdravím pánové,

tak jsem zase trošku pokročil. Nejdřív jsem zkoušel nějaké modifikace se zdrojovým kódem, ale nikam to nevedlo. Ovšem povedlo se mi zjistit, že uživatel MRx na EN fóru neduhy driveru tohoto ovladače odstranil:
https://forum.linuxcnc.org/49-basic-con ... =10#215641

Bohužel změny v driveru uvolnil ve formátu *.diff:
xhc.diff.txt
(26.21 KiB) Staženo 86 x
Pokoušel jsem se změny evidované v tomto souboru zavést do zdrojových souborů driveru xhc-whb04b-6 ručně pomocí CRTL+C/V a DELETE. Ovšem po cca 100 vyměněných řádků jsem z toho začal šílet

Mohl bych poprosit, jestli by mi někdo neporadil jak to udělat automatizovaně?

zz
LinuxCNC - MESA 7i96
zz912.webnode.cz
fupe
Příspěvky: 638
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

25. 2. 2022, 4:52

patch originalfile -i patchfile.patch -o updatedfile
Uživatelský avatar
zz912
Příspěvky: 1348
Registrován: 25. 5. 2008, 7:16

26. 2. 2022, 7:20

fupe píše: 25. 2. 2022, 4:52 patch originalfile -i patchfile.patch -o updatedfile
Díky za popostrčení. Zdrojové soubory se mi podařilo tím *.diff modifikovat:
xhc-whb04b-6_new.zip
(27.02 KiB) Staženo 93 x
Takže už jsem pomalu začal bouchat šampaňské. Ovšem sice to odstranilo chybové hlášky a možná to odstranilo chyby, které jsem dříve nevnímal, ALE ten feed to nevyřešilo.

Takže jdu bádat dál. Bastlení zdar.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“