kompilace userspace HAL modulu

Odpovědět
fupe
Příspěvky: 645
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

8. 4. 2011, 2:19

Měl bych dotaz na místní odborníky pres linux EMC a jeho kompilaci.

Před časem sem se rozhodl, že si napíšu trošku komlexnější modul pro toolchanger.
Použil sem novou verzi iocontrol v2, která vyšla cca před měsícem a řeší obousměrnou komunikaci mezi EMC a toolchangerem.
Každý kod pro toolchager který sem našel, nebo už je v EMC řeší pouze natažení nového nastroje do vřetena,nebo jeho "prohození", nikde se neřeší, jak vrátit starý nástroj do karuselu a pak natahnout nový. Dopsal sem si tedy par nových pinu do iocontrol (tool_unload_prepare, tool_unload_prepared, tool_lock, tool_flush atd atd). Napsal sem si kompletne pomoci nastroje comp novy hal, který ovládá samotny karusel. Je tam řešeno houmování karuselu, otáčení, koncové spínače a další. Až sem je všechno v pořádku a dokonce to funguje. Vřeteno odjede z obráběného místa, natočí karusel, odevzdá nastroj, odjede, pripraví další nástroj, zasune do vřetena, ofoukne necistoty z kuzelu, zamkne nastroj a pokracuje ve frézování bez jedineho zasahu obsluhy.
Celý HAL pro ATC sem psal jako userspace komponentu a ne realtime, protože mi to připadá rozumnější a hlavně nejaká ta desina vteřiny nehraje roli a nežere to tolik systémových prostředků.
Když to kompiluji pomoci comp ( comp --compile ATC.comp, comp --install ATC.comp), všechno proběhne jak má, vytvoří binárku tu natahnu pres loadusr do EMC a je to.
ALE
rád bych vyrobil pomoci GITu patch, ktery by šel použít i pro ostatní uživatele aniž by museli compilovat zvlášť EMC jadro a zvlášť ATC HAL. Vložil sem modul k ostatnim comp modulum do adresáře src/hal/components a začlenil do patche, tak jak je popsáno v dokumentaci pro comp. Kompilace všech upravených souboru jádra fungují jak mají, ale compilace samotneho souboru ATC.comp končí s chybou.
Nemůže najít některé knihovny jako stdlib.h , které tam automaticky přidáva pythonovský script, když z toho před kompilací děla céčkový soubor.
NIkde sem nenašel, jak začlenit do zdrojového stromu userspace komponentu pouze RT. Nemáte s tím někdo zkušenost?
Když změním userspace na RT, tak to funguje, ale rád bych to nechal jako userspace.

Diky za kazdou radu.

Martin
Uživatelský avatar
packa
Příspěvky: 7031
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

15. 4. 2011, 10:54

Chci se jen zeptat jestly se ti podařilo stím nějak pohnout ,
pomalu začínám připravovat mechaniku pro ATC ale přiznám se že dobastlit to do EMC je promě běh na dlouhou trat, A co jsem kde našel hotový tak se mi moc nelíbylo.
Odpovědět

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