#linuxcnc Logs
Feb 15 2024
#linuxcnc Calendar
12:52 AM Deejay: moin
04:03 AM lcnc-relay: <pheanoukma> https://jauriarts.org/_matrix/media/v1/download/jauriarts.org/zwEXuPbzwBpgIgruLcAGClRi
04:03 AM lcnc-relay: <pheanoukma> can it be used with something like this
04:39 AM Tom_L: morning
05:25 AM JT-Cave: morning
06:10 AM lcnc-relay: <satiowadahc#0> Serial link robot. Genserkins is what you want
06:21 AM Tom_L: JT-Cave, i went thru the joint dict last night if there's anything there to add: http://paste.debian.net/1307363/
07:06 AM JT-Cave: I assume all status itme should be available for the use to pick from
07:20 AM CaptHindsight: pheanoukma: yes it may
08:21 AM -!- #linuxcnc mode set to +v by ChanServ
02:15 PM XXCoder: https://youtu.be/K4zpNuqytsU sometimes guy make good machinist video
02:15 PM XXCoder: he recreates a very strange patent tool
02:45 PM lcnc-relay: <JT (@jt-shop:matrix.org)> Tom_L I came up with a slick way to check for widgets without a dictionary
02:57 PM Tom_itx: jpw
02:57 PM Tom_itx: how's that?
03:11 PM Tom_itx is now known as Tom_L
03:11 PM Tom_L: i thought i'd make 4-5 labels and test those a few at a time then leave the code in status.py
03:11 PM Tom_L: instead of trying to create them all
03:11 PM Tom_L: the _lb will be there for reference
03:23 PM JT-Shop: I didn't push it yet to flex
03:24 PM JT-Shop: just got an abscessed tooth jack hammered out
03:24 PM Tom_L: i'm going to post a list so we can see if there are any already defined
03:24 PM JT-Shop: ...
03:24 PM Tom_L: fun
03:24 PM JT-Shop: not
03:27 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/cnc/JT-SHOP/JET/new_label_list.txt
03:27 PM Tom_L: i'll start defining them later today
03:27 PM Tom_L: i'll keep a running list as i add them to startup.py
03:27 PM Tom_L: then we can mark them off as done
03:28 PM -!- #linuxcnc mode set to +v by ChanServ
03:29 PM Tom_dev: instead of: parent.status.spindle[0].get('enabled')
03:29 PM Tom_dev: change it to: parent.status.spindle[x].get('enabled')
03:29 PM Tom_dev: and have a number thing to select which joint or spindle
03:29 PM Tom_dev: ?
03:32 PM Tom_L: i had a wisdom tooth out once and the idiot didn't get it all so i had to pry the rest out at home later on
03:33 PM Tom_L: feel better...
03:35 PM JT-Shop: https://github.com/jethornton/flexgui/blob/master/flexgui/src/libflexgui/startup.py#L16
03:36 PM JT-Shop: the dentist is my friend and he dug real deep to make sure nothing was left the sewed it up
03:37 PM JT-Shop: I'm shifting development to flexgui and improving the code based on what I learned in jet
03:37 PM Tom_L: yeah
03:37 PM Tom_L: i may keep posting changes to jet, that way you can change what you want
03:38 PM Tom_L: that's up to you
03:38 PM JT-Shop: yep it's a good idea to keep working on jet as you learn
03:39 PM Tom_L: looking at this list, i doubt very many actually get used as a 'need to know' indicator
03:39 PM JT-Shop: the full list of stats?
03:40 PM Tom_L: the list i just posted
03:41 PM JT-Shop: joint and spindle need a number
03:41 PM Tom_L: so i should remove the _lb on my list
03:41 PM Tom_L: since you're adding it
03:41 PM JT-Shop: I have a full list of all stats
03:41 PM Tom_L: is that what you just posted?
03:42 PM JT-Shop: that's not including the 9 joints or 9 spindles... I doubt I'll do more than one spindle
03:42 PM Tom_L: did you see the comment about spindle[x] instead of spindle[0]?
03:43 PM JT-Shop: yes but didn't understand it
03:43 PM Tom_L: then use a counter like on the tool change widget to select which one to view the stats on
03:44 PM Tom_L: QspinBox
03:44 PM Tom_L: and limit it to the number allowed
03:44 PM Tom_L: QspinBox -> [x]
03:45 PM Tom_L: or just leave it simple at [0]
03:45 PM JT-Shop: that looks like C code
03:45 PM Tom_L: psuedo code :)
03:45 PM JT-Shop: ah ok
03:46 PM JT-Shop: setattr(parent, f'{item}_lb_exists', True)
03:46 PM JT-Shop: does that make any sense to you?
03:46 PM Tom_L: yes
03:46 PM Tom_L: does it work?
03:46 PM JT-Shop: ok
03:46 PM JT-Shop: yep
03:46 PM Tom_L: good
03:46 PM JT-Shop: the f string is the key
03:46 PM Tom_L: then i understand it perfectly :)
03:46 PM Tom_L: yeah
03:48 PM JT-Shop: setattr(object, name, thing to set)
03:49 PM Tom_L: the first part checks to see if any are in the postgui file?
03:50 PM Tom_L: or just HAL calls?
03:50 PM JT-Shop: the first part loads any postgui hal and tcl files
03:50 PM Tom_L: ok
03:53 PM Tom_L: is the '_lb_exists' attribute tied to the widget in the .ui file?
03:53 PM JT-Shop: no, it's just a variable
03:53 PM JT-Shop: so you check for ...exists and if true do something
03:54 PM Tom_L: right, i just wondered where it was stored
03:54 PM JT-Shop: in memory
03:54 PM JT-Shop: parent.something stays in memory until the app is closed
03:54 PM Tom_L: k
03:55 PM JT-Shop: for i in range(2):
03:55 PM JT-Shop: i goes out of scope when the for loop is done
03:55 PM JT-Shop: https://youtu.be/I5IAteSQFRs?t=1350
03:57 PM Tom_L: steel?
03:57 PM JT-Shop: cast steel I assume
03:57 PM Tom_L: alot hotter than alum
03:57 PM JT-Shop: yup
03:58 PM Tom_L: my bud up in Ca is getting pretty good at alum casting
03:58 PM Tom_L: kindof a crude setup
03:58 PM JT-Shop: Mississippi...
04:00 PM Tom_L: i wonder if they reuse that sand
04:01 PM JT-Shop: I think so, I know they do with bronze
04:01 PM Tom_L: it gets old afterwhile i think
04:03 PM JT-Shop: having a mouth full of cotton is annoying
04:04 PM Tom_L: been there a time or two
05:25 PM Tom_L: spindle stats are done except for one error
05:34 PM JT-Cave: https://github.com/LinuxCNC/linuxcnc/issues/2889
05:36 PM JT-Cave: the axis dict has to be accessed with s.axis[0]['max_position_limit']
05:36 PM JT-Cave: so gotta thunk on that a bit
05:37 PM JT-Cave: s.spindle[0]['brake']
05:38 PM JT-Cave: so all the dicts have to be accessed like that
05:41 PM JT-Cave: what seems to make sense at the moment is axis_0_velocity_lb
05:42 PM JT-Cave: so the bool would be axis_0_velocity_lb_exists
05:47 PM JT-Cave: https://github.com/jethornton/flexgui/blob/master/flexgui/src/libflexgui/startup.py#L41
05:54 PM * JT-Cave may feel like going to Sandy Hill Smokehouse Saturday... the demolition site is doing well if just a bit sore
06:35 PM solarwind_: So turns out the only proper way to store grease guns is with the spring plunger fully retracted, and horizontally
06:35 PM solarwind_: Any other way causes oil to get squeezed out and leaves the grease try, especially near the ends
06:35 PM solarwind_ is now known as solarwind
06:36 PM solarwind: That Polyrex EM and other special greases are expensive...
06:36 PM solarwind: But still don't want to ruin that Lucas red and tacky even though I have a case of 24 cartridges lol
06:44 PM Tom_L: JT-Cave, i have the spindle & joint coded
06:44 PM Tom_L: spindle is working except for one
06:45 PM Tom_L: i did joint instead of axis
06:45 PM -!- #linuxcnc mode set to +v by ChanServ
06:46 PM Tom_dev: JT-Cave,
06:46 PM Tom_dev: if parent.s_brake_lb_exists:
06:46 PM Tom_dev: s_brake = parent.status.spindle[0].get('brake')
06:46 PM Tom_dev: parent.s_brake_lb.setText(f'Brake: {s_brake}')
06:47 PM Tom_L: same for all of them
06:51 PM Tom_L: for some reason 'direction' is giving me some trouble
06:51 PM Tom_dev: if parent.s_direction_lb_exists:
06:51 PM Tom_dev: doesn't find the label
06:53 PM Tom_L: your #2889 may be: s.axes[0]
06:53 PM Tom_L: s.axes[0].get('')
06:54 PM Tom_L: yeah, there are 3 entries
06:55 PM Tom_L: s.axes[0].get('max_position_limit')
06:55 PM Tom_L: etc
06:56 PM Tom_L: the 2 limits match the same joint limits
07:19 PM Tom_L: seems either way will work
07:20 PM Tom_dev: s_brake = parent.status.spindle[0].get('brake')
07:20 PM Tom_dev: s_brake = parent.status.spindle[0]['brake']
08:42 PM -!- #linuxcnc mode set to +v by ChanServ
08:47 PM lcnc-relay: <skunkworks8841> https://jauriarts.org/_matrix/media/v1/download/jauriarts.org/kLQaetyaLcjsxnfeWJuoFXfj
08:49 PM Tom_L: finish is alot better
08:50 PM XXCoder: nice!
08:50 PM XXCoder: what changes did you do to get better finish?
08:54 PM lcnc-relay: <skunkworks8841> Shorter holder
08:55 PM lcnc-relay: <skunkworks8841> The first one had a lot of stickout
08:55 PM XXCoder: ahh makes sense
08:55 PM XXCoder: less flex to chatter
08:55 PM lcnc-relay: <skunkworks8841> And a little slower
09:24 PM lcnc-relay: <skunkworks8841> Still chattered a bit...
09:25 PM lcnc-relay: <skunkworks8841> I think that mill isn't that great
09:25 PM lcnc-relay: <skunkworks8841> (lol . Yes - blaming the tool)
09:27 PM Tom_L: i didn't see any surface callout on the blueprint
09:27 PM Tom_L: i might have taken those top 2 cutouts straight up to avoid that point
09:52 PM lcnc-relay: <skunkworks8841> Yah... Thought about that.. but that part gets covered by a to be made chip tray
10:28 PM Leeloo: Hello :) I have a question about getting data from TouchDRO into LinuxCNC. The hardware for it reads data from capacitive scales and uses simple serial over bluetooth protocol so that data, which is simple text X<pos>, Y<pos> and so on appearing on a com port on PC. So, I was wondering, if there's some sane way of making LinuxCNC aware of this actual read position instead of hoping the steppers are where they kind of should be? I think the rate at which
10:28 PM Leeloo: the data can be read is 50Hz or so maximum.