Myös korttimaksu toimii

Emc Pyvcp panel

Aloittaja Maukka, 27.08.10 - klo:13:42

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

Maukka



Miten tälle rakennetaan toimiva hal tiedosto? Olen tässä jonkin aikaa koettanut tutustua manuaaleihin ja nettiin mutta vielä ei ole auennut miten "net":taan oikeat palikat yhteen..
"widget" löytyy kun rullaa linkkia vähän alas pain.

http://www.linuxcnc.org/docs/devel/html/hal_pyvcp.html#r1_6_5

awallin

testailin äsken hieman tuollaista:
http://www.anderswallin.net/2010/08/axis-with-pyvcp-jogwheel/

voin kirjoittaa illemmällä askel-askeleelta ohjeita jos vielä tarvii...

Maukka

#2
joo minne prience4.comp laitetaan jotta emc :sen löytää. ? tai miten se kopiodaan tonne usr alle kun ei ole lupia...
Eli yksityiskohtaiset ohjeet ois tervetulleet.

awallin

#3
comp tiedostio käännetään ja asennetaan komennolla

comp --install prienc4.comp

jos oikeudet eivät riitä niin
sudo comp --install prienc4.comp
(tässävaiheessa linux kysyy käyttäjän salasanaa)

noin muuten niin INI tiedostoon [DISPLAY] osioon lisätään:
PYVCP = jogwheel.xml

ja [HAL] osioon lisätään:
POSTGUI_HALFILE = pyvcp_jogwheel.hal

ja sitten pitäisi toimia !?

Maukka

joo muuten tuon sainkin toimiin mutta

mauri@Jyrsija:~$ sudo comp --install prienc4.comp
sudo: comp: command not found
mauri@Jyrsija:~$

Näin sanoi pääte..

awallin

comp on ilmeisesti "kehitystyökalu", eikä tule vakio asennuksen kanssa.
koita näin:

sudo apt-get install emc2-dev
ja
sudo apt-get install build-essential

Maukka

En saanut toimimaan näidenkään avulla. Sama vaiva vieläkin..

awallin

#7
ovatko kaikki normaalit emc työkalut ajettavissa terminaalista? jos kirjoitat seuraavia niin pitäisi erilaisi ohjelmia aueta:
emc
halmeter
halscope
pyvcp

jos näitä ei löydy niin ei varmaan comp:kaan löydy.
terminaali/shelli:n oikean polun asettamiseen löytyy skripti, joka ajetaan näin:
. ./scripts/emc-environment
tämä pitäisi asettaa polun jne. oikein.
tuon rivin voi lisätä kotihakemistoon tiedostoon .profile
jolloin se tulee ajetuksi aina kun avaa uuden terminaalin

nopeampaa apua ja vinkkejä tällaisiin pieniin ongelmiin saa yleensä #emc IRC-kanavalla. suosittelen.

tämä skripti on varmaan se paras ja helpoin emc2:n asennustapa:
http://linuxcnc.org/hardy/emc2-install.sh
kysyin IRCssä ja emc2 paketin asennuksen jälkeen (tuo skripti) pitäisi halmeter, halscope, jne olla polulla ja toimia, sitten tuon emc2-dev paketin asennuksen jälkeen pitäisi myös comp löytyä.

Maukka

eihän tuo toiminut kuin emc, johtusikohan siitä kun menin päivittämään tämän emc:n että nuo muut ei pelaile täysillä. Pitää varmaan päivittää taas vanhempaan versioon..

Maukka

Asennsin uusiksi livecd:ltä ubuntu & emc ja sen jälkeen laitoin nuo "kehitys" työkalut. Niin johan rupes comp:aan.
Nyt voip hiiren rullalla "kätevästi" jogailla nollapisteet kohilleen.
Pitäähän se jossain vaiheessa joku "kauko ohjain" kapula värkkäillä mutta tällä pärjää nyt siihen asti. Kiitos aw!

Aika monimutkaine olikin tuo koodi, minkä laitot että ei olisi ihan noin vain minulta onnistunutkaan. Mitenhän tuo onnistuu tuohon dial:iin tehdä?

awallin

Lainaus käyttäjältä: Maukka - 28.08.10 - klo:20:48
Asennsin uusiksi livecd:ltä ubuntu & emc ja sen jälkeen laitoin nuo "kehitys" työkalut. Niin johan rupes comp:aan.
Nyt voip hiiren rullalla "kätevästi" jogailla nollapisteet kohilleen.
Pitäähän se jossain vaiheessa joku "kauko ohjain" kapula värkkäillä mutta tällä pärjää nyt siihen asti. Kiitos aw!
hyvä että lähti pelaamaan!
Lainaus käyttäjältä: Maukka - 28.08.10 - klo:20:48
Aika monimutkaine olikin tuo koodi, minkä laitot että ei olisi ihan noin vain minulta onnistunutkaan. Mitenhän tuo onnistuu tuohon dial:iin tehdä?
tuo itse nopeasti kyhätty comp:i tarvittiin sen OFF/0.1/0.01/0.001 radiobutton:in ulostulon muuttamiseksi sopivaan muotoon mux4-piirille joka asettaa jog-scale:n oikein. jos kirjoittaa taulukkona niin sisäänmenobitit vasemmalla ja ulostulo oikealla:
1000   00
0100   01
0010   10
0001   11
tuon voisi varmasti tehdä myös ihan vakio HAL-palikoilla mutta en nopeasti keksinyt miten. (and/or/not jne palikkaa vaan toisen perään...)

axis.N.jog-scale haluaa liukuluvun jolla asetetaan naksahduksen koko (siis 0.1 0.01 jne)
axis.N.jog-count haluaa kokonaisluvun jossa on jog-wheelin naksahduksia
axis.N.jog-enable haluaa bitin joka kertoo milloin kyseisen akselin joggaus on päällä

dial-widgetin ulostulo ei suoraan sovi tuohon, koska sieltä tulee vain yksi liukuluku ulos(muistaakseni). joggaus-käyttöön olisi parempi jos tulisi jotain jonka suoraan voisi johdottaa jog-scale:iin ja jog-count:iin.
Tämä arviolta noin 5-rivin python koodin muutos lib/python/pyvcp_widgets.py tiedostoon olisi OK parannus, voin koittaa tehdä jos ehdin/muistan (tai tee ite ja laita emc2 spostilistalle, näin ne open-source softat paranee/kehittyy!)

Maukka

Miten pyvcp paneelissa ohjelmoidaan nappi toimimaan siten että esim.
Kun painetaan pause, paussi päälle ja toisen kerran painettaessa resume programn ?

Tässä suunnittelen vaan kapulaa mihin tulisi  play pause stop napit..

Ja miten ohjelmoin play napin siten että sitä voi painaa vain kerran. Normaalistihan ohjelma pitää olla pysäytettynä ennen kuin play nappi reakoi uudestaan.
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Jogging_With_Buttons_On_A_Pendant
Eikä niin kuten linkin esimerkissä että kun painaa start nappia uudestaan lähtee myöskin ohjelma uudestaan alusta.

Mutta entäpä jos haluan  ohjelmoida kapulaan touch off napin? Eli kun nollapiste haettuna tietty akseli vaittuna painetaan touch off ja saan nollapistesiirron muistiin kuten normaalisti.

awallin

vuodelta 2006 on tarinaa omasta pendant-rakentelusta tuolla:
http://www.anderswallin.net/2006/11/jogging-emc2/

yksi idea mikä toistuu usein EMC2:ssa/halui:ssa on "NIST-logiikka", eli ykeensä jokaiselle toiminnolle on olemassa kolme pinniä, esim flood:
flood.on      - sisäänmeno, kääntää päälle
flood.off      - sisäänmeno, kääntää pois päältä
flood.is-on  - ulostulo, kertoo tilan

jos käytössä on momentary-on painonappi, niin väänsin kasaan "toggle2nist" HAL-comp:in jolla HAL-johdotus helpottuu: http://www.anderswallin.net/?s=toggle2nist  (tämä saattaa olla EMC2 vakio asennuksessa mukana?)

jos kerrot tarkemmin, yksi nappi kerrallaan, mitä haluat niiden tekevän, niin joku jolla on aikaa+taitoa voi ehkä auttaa...

Maukka

Niin pause nappi nyt alkuun :

Mom. nappi eka painallus halui.program.pause
                  toka painallus halui.program.resume

Ja minähän pääsin pyvcp:llä testailussa vasta siihen vaiheesen että pause meni päälle..

http://www.linuxcnc.org/docview/html//man/man9/toggle2nist.9.html
Tämäkin löytyi mutta opiskelu minulla niin alku vaiheessa että ilman käytännön esimerkkiä ei sano mitään.

awallin

#14
Lainaus käyttäjältä: Maukka - 15.10.10 - klo:15:50
Niin pause nappi nyt alkuun :
Mom. nappi eka painallus halui.program.pause
                  toka painallus halui.program.resume
Ja minähän pääsin pyvcp:llä testailussa vasta siihen vaiheesen että pause meni päälle..

näinkö?
http://www.anderswallin.net/2010/10/axis-with-pyvcp-pauseresume-button/
(xml ja hal tiedoston lisäksi tarvitaan luonnollisesti INI tiedostoon [DISPLAY] osioon "PYVCP = button.xml" ja [HAL] osioon
"POSTGUI_HALFILE = pyvcp_pausebutton.hal" sekä jotta halui latautuisi niin "HALUI = halui", mutta tämähän opittiin jo ensimmäisellä oppitunnilla yllä...)

selitys:
pyvcp-button on vain hetkellisesti tilassa "on", aina muuten "off", joten ei sovellu sellaisenaan oikein tähän. Tarvitaan jotain joka muuttaa tilaansa niin että on kokonaan "on" tai kokonaan "off". Tämä saadaan johdottamalla button toggle-komponentin läpi.
Toggle:n ulostulo siis kertoo missä tilassa napin mielestä halui.program pitäisi olla (pause vaiko resume). Kuitenkin emc:ssä moni muukin asia voi saada aikaan pause tilan (G-koodi, joku toinen nappi, jne). Eli tarvitaan tuo minun 2008 kyhäämä toggle2nist.
toggle2nist ottaa sen toggle:n ulostulon ja tuottaa kaksi ulostuloa itse: on ja off. nämä johdotetaan halui.program.pause ja halui.program.resume lankoihin.
jotta toggle2nist ei menisi sekaisin siitä kun muualta ohjelmasta (muut napit jne) tulee pause tila, niin sille on vielä kerrottava halui.program.is-paused langalla missä tilassa ohjelma on.
oliko tarpeeksi sekava selitys ? :)

meniskö graafisesti:
pyvcp.button -> toggle -> toggle2nist -> (halui.program.pause ja halui.program.resume)
lisäksi
halui.program.is-paused -> toggle2nist.is-on

AW

Powered by EzPortal
SMF spam blocked by CleanTalk