#linuxcnc Logs

Feb 05 2024

#linuxcnc Calendar

01:33 AM Deejay: moin
04:09 AM Tom_L: morning
04:11 AM Tom_L: 36°F high 52°F
04:45 AM JT-Cave1: morning
04:45 AM -!- #linuxcnc mode set to +v by ChanServ
05:46 AM JT-Cave: 41°F Sunny High: 55°F
05:54 AM zyp_ is now known as zyp
06:23 AM solarwind: Taylor Swift is pretty mediocre
06:25 AM solarwind: I mean she's average. She's not horrible but not great.
06:26 AM solarwind: She's 3.6 Roentgen, not great, not terrible
08:00 AM Tom_L: JT-Cave, you should move the tool number description too
08:01 AM Tom_L: to the 'Manual' tab
08:03 AM JT-Cave: I kinda like the tool loaded in the spindle to be always visible but you can create your own ui file and you should do that to test that
08:04 AM Tom_L: i meant from the touchoff box
08:04 AM Tom_L: i like having the tool number displayed at the top
08:04 AM solarwind: I'm a bit loopy from the meds, someone remind me: is there an RTAI specific installer?
08:05 AM Tom_L: there are rtai debs
08:05 AM Tom_L: a set of 3
08:05 AM solarwind: The documentation/instructions are a bit funny
08:05 AM solarwind: But yeah that's what I was hoping
08:05 AM Tom_L: install 12 first then the 3 debs
08:05 AM JT-Cave: for touch off your touching off the current tool right?
08:06 AM Tom_L: yes
08:08 AM JT-Cave: so no need to select a tool for touch off right?
08:08 AM Tom_L: unless you're presetting tools
08:08 AM Tom_L: if you do one at at time there isn't
08:08 AM solarwind: I'm doing an install for software stepping through the parallel port
08:08 AM solarwind: I know RTAI is better, but I haven't checked recently how much better it is
08:09 AM Tom_L: about the same as wheezy
08:09 AM JT-Cave: if you're presetting tools you have to load them with Tn M6 first so they are current tools
08:09 AM Tom_L: that's what the tool change button is for
08:10 AM JT-Cave: sounds like a tool tab is in order...
08:10 AM Tom_L: solarwind, old D525 but a comparison: http://tom-itx.no-ip.biz:81/~webpage/cnc/RTAI_TEST/RTAI_D525_Wheezy.png
08:10 AM * JT-Cave goes to start his chicken day
08:10 AM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/cnc/RTAI_TEST/RTAI_D525_bookworm.png
08:10 AM Tom_L: if you're doing touchoff it's handy there
08:11 AM Tom_L: you set the fixture offset then start down the tool list setting
08:11 AM solarwind: Yo I'll show you a handy touch off
08:11 AM solarwind: if you know what I mean ;) ;)
08:14 AM Tom_L: JT-Cave, you could have a toolchange button in more than one place too :)
08:14 AM Tom_L: that might get confusing though
08:16 AM Tom_L: solarwind, http://linuxcnc.org/downloads/
08:16 AM Tom_L: at the bottom
08:22 AM solarwind: Yeah it is confusing, someone really needs to fix that page
08:22 AM solarwind: thanks
08:22 AM Tom_L: install all 3 of those
08:23 AM Tom_L: the preempt-rt version of linuxcnc won't run on RTAI if i remember correctly
08:23 AM solarwind: Yeah there's the other package for that
08:23 AM solarwind: That's fine, I don't mind recompiling either if needed
08:42 AM JT-Cave: Tom_L, see if you can add a tab and name it then move the tool related items to that tab
10:22 AM Roguish: very windy night. 444000 in the Bay Area without power.. just shows how shitty the local grid is.
10:23 AM Roguish: PG&E pretty much owns the PUC here in Cal.
10:24 AM Roguish: the PUC just bends over for anything PG&E wants., especially more higher rates.
10:54 AM roycroft: it's pretty storm in parts of california
10:54 AM roycroft: stormy
10:55 AM roycroft: but that's not the underlying cause of the problem
10:55 AM roycroft: it's just a manifestation of the problem
11:53 AM Roguish: and what's the problem???
11:53 AM roycroft: private ownership of the power distribution grid
11:54 AM roycroft: and the subsequent lack of maintenance of the grid
11:54 AM Roguish: well. i'm not sure if it's the 'private ownership', but it's certainly the governmental oversite
11:55 AM Roguish: yeah, the grid is horrible. total deferred maintenance.
11:55 AM roycroft: the power generation facilities are fine in the private sector
11:55 AM roycroft: the grid is like roads - it should be publicly owned and managed
11:56 AM Roguish: https://pgealerts.alerts.pge.com/outage-tools/outage-map/
12:32 PM roycroft: regarding the pg&e map: YOU ARE USING AN UNSUPPORTED BROWSER. SOME FEATURES MAY NOT WORK. GET A SUPPORTED BROWSER.
12:32 PM roycroft: click on the "get a supported browser" link: ERROR
12:32 PM roycroft: Failed to contact the origin.
12:33 PM roycroft: so they can't tell me what they expect
12:54 PM JT-Shop: nap time
12:58 PM Scopeuk: If you had a supported browser it would have worked! /s
01:14 PM Unterhaus_ is now known as Unterhausen
01:15 PM Unterhausen: anyone ever made a paper code wheel for a retro-reflective encoder?
01:15 PM Unterhausen: I don't have much space, I'm replacing one that's already there
01:18 PM lcnc-relay: <zincboy_ca_on> I did many years ago. Laser printer worked best. Had to have a fairly coarse line spacing to get good reliability. You could also try laser print on transparency with an aluminum backer for better
01:18 PM lcnc-relay: <zincboy_ca_on> reflectivity.
01:22 PM Unterhausen: no laser printers around here. I wonder if our inkjet can be convinced to print a dark black
01:24 PM lcnc-relay: <zincboy_ca_on> I didn't have good luck with inkjet and the IR sensor I was using. Might just have been the printer I was using. It was over 15 years ago I was playing with this.
01:29 PM Unterhausen: too bad nobody makes Black 4.0 stickers
01:29 PM Unterhausen: I think the problem is the black part of the current wheel reflects too much
01:30 PM Unterhausen: Black 4.0 or Black 3.0 paint is expensive, I can't believe people paint cars with it
01:31 PM XXCoder: only one so far that I know of
01:35 PM Unterhausen: the one I saw, they oversprayed it with shiny stuff so it seems like any black paint would have worked
01:35 PM Unterhausen: I buy white cars so people can see me coming and take evasive action
01:44 PM roycroft: unless they don't like you, in which case you're an easier target :)
01:44 PM roycroft: i dislike black cars because they show dirt so much more than any other color
01:44 PM roycroft: a black car only looks clean for moments after it's been washed
01:56 PM Tom_L: Unterhausen, http://tom-itx.no-ip.biz:81/~webpage/largebot/largebot_index.php
01:57 PM Tom_L: encoder prints
01:58 PM XXCoder: roy interesting. I have had opposite experence. white gets dirty instantly but black was just fine. the difference is I do go get it washed and waxed annually
01:58 PM XXCoder: (on black car)
01:58 PM XXCoder: it do get dirty till next rain clears it out
02:00 PM Tom_L: Unterhausen, also http://tom-itx.no-ip.biz:81/~webpage/rue/encoder/encoder11.jpg
02:00 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/rue/encoder/encoder3.jpg
02:00 PM Tom_L: 2 different styles
02:01 PM Tom_L: JT-Shop, why do i need a new tab for that??
02:01 PM Tom_L: i liked it how it was :)
02:02 PM Unterhausen: I wish I had room for a real encoder wheel, this has to be paper black/white
02:03 PM Tom_L: those are about the size of a nickel
02:03 PM Tom_L: i think the reflective sensors i used may have been panasonic? i don't honestly remember now
02:15 PM Tom_L: https://www.digikey.com/en/products/detail/onsemi/QRD1114/187536
02:15 PM Tom_L: or
02:15 PM Tom_L: https://www.digikey.bg/en/products/detail/onsemi/QRB1114/187530
02:16 PM Tom_L: onsemi
02:16 PM Tom_L: https://www.digikey.com/en/products/detail/omron-electronics-inc-emc-div/EE-SY124/92992
02:16 PM Tom_L: short rangew
03:14 PM lcnc-relay: <satiowadahc#0> Is there a way to "slave" a joint to another joint?
03:14 PM lcnc-relay: <satiowadahc#0> Working on a hotwire that sometimes we want to sync the two joints together and sometimes not
03:15 PM lcnc-relay: <satiowadahc#0> I was going to use a switch kins, but in sync mode only motor_pos_cmd updates and not pos_cmd
03:30 PM JT-Shop: Tom_L, because it will be fun
04:52 PM Tom_L: well at least one cartridge arrived today
04:54 PM JT-Shop: did you get your money back on the empty one
04:55 PM Tom_L: yup
04:56 PM Tom_L: i may fiddle with qt designer later, been a long day
04:56 PM JT-Shop: ok
05:03 PM JT-Shop: https://youtu.be/zXjIUicntyQ?list=PLH4J0b3KfGaMGZTjSdnPqrBoB9dAhIBHK&t=1363
05:04 PM XXCoder: safety optional
05:15 PM wez: Hi folks, to save me digging into source code - could anyone confirm if the motion pid controller component state is changed when any axis is homed vs not homed when jogging. Appears to be the case: when unhomed the pid doesn't seem to apply, when homed it does. Just need to check. Thanks in advance for any help
05:28 PM wez: Scratch that. Figured it out - looks like soft limit checks when axis are homed causes a fraction of delay. Nothing to do with pid aspects
05:38 PM Tom_L: glad to help.
05:38 PM JT-Shop: just booked our flight to LAS and back
05:39 PM Tom_L: for?
05:39 PM lcnc-relay: <satiowadahc#0> Huh. Apparently you just don't update pos of the slaved axis and everything is happy.
05:39 PM Tom_L: cruise booked for a month or so from now
05:39 PM JT-Shop: https://www.springmountainmotorsports.com/driving-schools/corvette-performance-driving-schools
05:39 PM Tom_L: ahh that's right
05:41 PM Tom_L: how do you rename a tab?
05:41 PM Tom_L: i added a page but didn't save it earlier
05:41 PM JT-Shop: select a tab then change the currentTabText
05:41 PM Tom_L: i changed the widget name but the tab name didn't change
05:42 PM JT-Shop: don't change the tabwidget name
05:42 PM Tom_L: i somehow got out of the 'edit' area and couldn't get the options on the right side back
05:42 PM JT-Shop: it a green property in the last section, be sure the tab is selected
05:42 PM Tom_L: i lost those
05:43 PM Tom_L: wasn't sure what happened
05:43 PM JT-Shop: delete and clone again
05:43 PM Tom_L: i'm using a local copy anyway
05:44 PM * JT-Shop wanders inside
06:21 PM Tom_L: JT-Shop, how do i get those editable windows back on the right side of qt designer?
06:21 PM Tom_L: only thing showing there is object inspector and action editor at the bottom
06:21 PM Tom_L: none of the 'colored' options are showing now
06:30 PM lcnc-relay: <skunkworks8841> https://jauriarts.org/_matrix/media/v1/download/jauriarts.org/wKjcBvoKvSEFkCpkMaCtrMQF
06:31 PM XXCoder: oh boy
06:31 PM lcnc-relay: <skunkworks8841> think i found the oil leak..
06:31 PM XXCoder: one hose seem to be going
06:31 PM lcnc-relay: <skunkworks8841> lol - you can see the nice green paint where the oil sprayed out
06:32 PM XXCoder: yeah
06:32 PM lcnc-relay: <skunkworks8841> Now I need to pull up the decking
06:32 PM lcnc-relay: <skunkworks8841> isn't as bad as I thought it would be
06:33 PM lcnc-relay: <skunkworks8841> I want my K&T back...
06:34 PM lcnc-relay: <skunkworks8841> It honestly looks like one of the new hoses.. I guess 30+ years probably is ok
06:35 PM lcnc-relay: <skunkworks8841> 'new'
06:36 PM XXCoder: high pressure line 30 years isnt bad I think?
06:38 PM lcnc-relay: <skunkworks8841> I would have to look.. 1200psi?
06:54 PM lcnc-relay: <skunkworks8841> yah - 1200
06:57 PM Tom_L: did you have to part with the K&T?
08:13 PM lcnc-relay: <skunkworks8841> No.. I have to fix it to use it
08:26 PM Tom_L: so i'm looking at http://linuxcnc.org/docs/html/config/python-interface.html#_linuxcnc_stat_attributes
08:27 PM Tom_L: and there are some constants defined like MODE_MDI, MODE_AUTO, MODE_MANUAL but i can't seem to find where they are defined in the source
08:27 PM Tom_L: any ideas?
08:27 PM Tom_L: i tried grep
08:28 PM Tom_L: there are several in the python interface
08:37 PM wez: I believe it's here: https://github.com/LinuxCNC/linuxcnc/blob/774992a229f9fcd31c986563a4d1e8e3c8701679/src/emc/usr_intf/axis/extensions/emcmodule.cc#L2554
08:42 PM Tom_L: i think those are axis defines
08:42 PM Tom_L: i'm looking for where the constants are actually defined
08:44 PM Tom_L: MODE_MDI is 3 for example
08:48 PM wez: Yes your right. I'll take another look
09:02 PM wez: I was correct. It's compiled in the cpython lib (e.g linuxcnc.cpython-311-x86_64-linux-gnu.so) in the python dist-packages directory. That link I sent you is the one. Just because it mentions emc doesn't mean its related to axis.
09:02 PM wez: PyMODINIT_FUNC PyInit_linuxcnc(void) {
09:02 PM wez:     PyModule_AddIntConstant(...)
09:02 PM wez: }
09:05 PM wez: At a python repl prompt you can type "from linuxcnc import MODE_MDI" and you will have a MODE_MDI var you can use. If you tab to autocomplete the "from linuxcnc." you will see the list of enums
09:06 PM wez: consts I mean, not enums
09:07 PM wez: If you want see where the linuxcnc imports is you can use python repl again
09:07 PM wez: > import linuxcnc
09:07 PM wez: > linuxcnc.__file__
09:07 PM wez: This will display where the import is loaded from
09:09 PM Tom_L: so are they randomly assigned values and not hardcoded #defines?
09:10 PM wez: No they are instantiated with the following values:
09:10 PM wez: (int)EMC_TASK_MODE::MDI
09:10 PM wez: (int)EMC_TASK_MODE::MANUAL
09:10 PM wez: (int)EMC_TASK_MODE::AUTO
09:11 PM wez: Which are defined in src/emc/nml_intf/emc.hh
09:11 PM wez: https://github.com/LinuxCNC/linuxcnc/blob/774992a229f9fcd31c986563a4d1e8e3c8701679/src/emc/nml_intf/emc.hh#L193
09:12 PM Tom_L: i have the source and am looking
09:12 PM Tom_L: thanks that's what i was after
09:13 PM wez: essentially src/emc/usr_intf/axis/extensions/emcmodule.cc generates the linuxcnc python "cpython" which is the "linuxcnc" module that you import into python. The emcmodule.cc uses c includes and that's where its defined
09:13 PM wez: Great, no worries
09:13 PM Tom_L: i knew there was a define somewhere
09:14 PM Tom_L: just not looking for the right wording
09:15 PM wez: it's just a little misleading how it's all hooked up but once you know how the cpython libs are generated it's much easier to pinpoint where things are
09:16 PM Tom_L: it must generate 'derivatives' of the root name
09:18 PM wez: Not quite. The C enum constant names are just named differently than the python ones. See the 2nd arg of the "PyModule_AddIntConstant" that creates the python global var
09:18 PM wez: PyModule_AddIntConstant(m, "MODE_MDI", (int)EMC_TASK_MODE::MDI);
09:18 PM wez: PyModule_AddIntConstant(m, "MODE_MANUAL", (int)EMC_TASK_MODE::MANUAL);
09:18 PM wez: PyModule_AddIntConstant(m, "MODE_AUTO", (int)EMC_TASK_MODE::AUTO);
09:18 PM wez: That's probably why searching for the name didn't give any decent results
09:18 PM Tom_L: ESTOP = 1 so STATE_ESTOP would also
09:19 PM wez: Yep
09:19 PM Tom_L: i got it now thanks
09:20 PM wez: Depends on what your doing but really "knowing" the int value of it shouldn't matter since you can reference the global var value if your using them within python
09:20 PM Tom_L: i'm not a python programmer but have been looking at it a bit
09:22 PM wez: you can do
09:22 PM wez: if state == linuxcnc.MODE_MDI:
09:22 PM wez:    doSomething1()
09:22 PM wez: elif state == linuxcnc.MODE_AUTO:
09:22 PM wez:    doSomething2()
09:23 PM wez: just a very basic example