#garfield Logs

Apr 05 2020

#garfield Calendar

12:52 AM zhanx: rue_mohr, i am ok right now
01:22 AM rue_mohr: that virus bounces sometimes, keep watch
02:59 AM rue_mohr: ok, I think I corrected the escape sequence parser
03:02 AM rue_mohr: but the time its taken me to work it out has helped work out a larger solution
03:06 AM Tom_L: good
03:07 AM Tom_L: surprised the potatoes weren't rotten by now
03:07 AM Tom_L: or starting to grow...
03:12 AM rue_mohr: oh they were growing
03:12 AM rue_mohr: their potatoes tho, they will be ok
03:13 AM Tom_L: not the ones you ate
03:15 AM rue_mohr: oh, they hold up good in the dirt over winter
03:15 AM rue_mohr: for 2 years I'v sworn they grow over winter
03:16 AM Tom_L: do you grow tomatoes?
03:20 AM rue_mohr: no, ma does
03:21 AM rue_mohr: ok
03:21 AM rue_mohr: so
03:21 AM rue_mohr: step 139
03:24 AM rue_mohr: so, the author is tracking match direction, and the match count
04:52 AM rue_mohr: I cant be awake, but I can be drowsy for a REALLY long time
04:59 AM polprog: morning
04:59 AM polprog: gonna fight with 50 years worth of terminal escape codes kludge?
04:59 AM polprog: id suggest to see how emacs/ncurses handles that.. but the code may be even worse
05:28 AM rue_mohr: I was able to make an escape code collector
05:28 AM rue_mohr: then I run a string match
05:28 AM rue_mohr: if (0) {
05:28 AM rue_mohr: } else if (!strcmp( s, "[A")) { return ARROW_UP;
05:28 AM rue_mohr: } else if (!strcmp( s, "[B")) { return ARROW_DOWN;
05:28 AM rue_mohr: } else if (!strcmp( s, "[C")) { return ARROW_RIGHT;
05:28 AM rue_mohr: } else if (!strcmp( s, "[D")) { return ARROW_LEFT;
05:28 AM rue_mohr: } else if (!strcmp( s, "[H")) { return HOME_KEY;
05:28 AM rue_mohr: } else if (!strcmp( s, "[F")) { return END_KEY;
05:28 AM rue_mohr: } else if (!strcmp( s, "[3~")) { return DEL_KEY; // \e[3~
05:28 AM rue_mohr: } else if (!strcmp( s, "[1~")) { return HOME_KEY;
05:31 AM polprog: lotsa strcmp, for the 1 letter ones would do a switch basde on s[2]
05:32 AM polprog: I would*
05:32 AM polprog: based*
05:32 AM * polprog sits back straight to the desk
05:32 AM rue_mohr: problem is, there are so many different standards, that it stacks horridly
05:32 AM rue_mohr: you end up with a huge mess of layers of ifs
05:33 AM polprog: yeah
05:33 AM polprog: did you see the VT100 manual? if you implement all the codes in there it should work in most terminal emulators
05:35 AM rue_mohr: its not quite
05:35 AM rue_mohr: funny thing
05:35 AM rue_mohr: I see why ncurses exists
05:35 AM rue_mohr: the documentation for screen control escape codes is bad
05:35 AM rue_mohr: the docs for keyboard escape codes is much, much worse
05:36 AM rue_mohr: ncurses just parses back and forth
05:36 AM rue_mohr: using the most horrid code there must ever have been
05:49 AM polprog: pretty much.. what have you got so far? im curious to see it working :D
07:01 AM polprog: To meet the material :
07:01 AM polprog: In a store of tinkering buy:
07:01 AM polprog: http://radio.meteor.free.fr/us/yagi_fm.html
07:01 AM polprog: maybe ill make a VHF yagi
07:05 AM Tom_L: polprog, got a link to that jtag board you got like rue's?
07:06 AM polprog: the violet uart board?
07:07 AM Tom_L: yeah i think so
07:07 AM polprog: https://www.aliexpress.com/item/32923720300.html
07:15 AM polprog: just realized the FTDI connections are not in notes.txt
07:28 AM polprog: updated, two more photos
10:05 AM polprog: rue_mohr: https://polprog.net/rozne1/ircjunk/inf_stack.c
12:26 PM rue_mohr: I could post what I have so far
12:27 PM rue_mohr: I just rewrote the key handler last night
12:27 PM rue_mohr: so its in a working state again
12:27 PM rue_mohr: https://viewsourcecode.org/snaptoken/kilo/06.search.html
12:27 PM rue_mohr: I'm on step 140
12:27 PM rue_mohr: but
12:28 PM rue_mohr: There is something odd about his implementation I'm trying to correct
12:28 PM rue_mohr: (like most of it)
12:29 PM Tom_L: breaking it along the way?
12:29 PM rue_mohr: fixing
12:29 PM rue_mohr: I'm trying to understand how the 'resume search' works
12:29 PM rue_mohr: I thought they just looped thru matches till they got to the right count
12:30 PM Tom_L: hmm
12:30 PM rue_mohr: but it looks worse than that
12:30 PM rue_mohr: it looks like they remember the line the match was on, and continue thru the lines
12:30 PM rue_mohr: so, if there is more than 1 match on a line, it'll only find the first one
12:35 PM Tom_L: notepad etc highlite the finds
12:51 PM rue_mohr: yea, I think its getting to that
12:52 PM rue_mohr: cause I'm sure in chap 7 with syntax hilighting, he's gonna re-use this junk
12:52 PM rue_mohr: :)
12:52 PM rue_mohr: I need to work out how to fix THIS for now
12:52 PM Tom_L: you should look at notepad++ code.. it's available i think
12:54 PM rue_mohr: my goal is to follow this tutorial
12:54 PM rue_mohr: I have a better core for an editor
12:54 PM Tom_L: i gathered that
12:54 PM rue_mohr: but I got stuck on keyboard/screen stuff
12:55 PM rue_mohr: this has solved all that
12:55 PM rue_mohr: Its the main reason I chose this tut
12:55 PM rue_mohr: I know what I want to do with it after
12:57 PM rue_mohr: the fact the author broke the content into strings that each hold a line, really cornered him
12:57 PM rue_mohr: thats whats messing up this search
12:58 PM rue_mohr: ok, so yea
12:58 PM rue_mohr: its remembering the line and going forward/back from it
12:58 PM rue_mohr: but
12:59 PM Tom_L: are you treating it as one entity or using lines like he did?
12:59 PM Tom_L: might become a memory issue if you buffer too much
01:00 PM rue_mohr: I'm using lines
01:00 PM rue_mohr: yea, there are all sorts of issues, but
01:00 PM Tom_L: max 256 char?
01:00 PM rue_mohr: no
01:00 PM rue_mohr: 1 million lines
01:00 PM Tom_L: 65535?
01:00 PM Tom_L: mmm
01:00 PM rue_mohr: the lines are null terminated, so their fine
01:01 PM Tom_L: always?
01:01 PM rue_mohr: he was tracking line length, I'm using the Null
01:01 PM rue_mohr: yep
01:01 PM Tom_L: brb
01:02 PM rue_mohr: if the text being searched occured 3 times on the same line, this search code would just get stuck
01:04 PM rue_mohr: yea the step 140 code is garbage
01:04 PM rue_mohr: how I gonna fix this....
01:06 PM rue_mohr: for (i = 0; i < E->numrows; i++) {
01:06 PM rue_mohr: row = &E->row[i];
01:06 PM rue_mohr: match = strstr(row->chars, query); // why are we using render instead of chars???
01:06 PM rue_mohr: if (match) {
01:06 PM rue_mohr: E->cy = i;
01:06 PM rue_mohr: E->cx = match - row->chars + strlen(query) ; // pointers of offset.
01:06 PM rue_mohr: E->rowoff = E->numrows;
01:06 PM rue_mohr: break;
01:06 PM rue_mohr: }
01:06 PM rue_mohr: }
01:06 PM rue_mohr: the search loop uses break
01:06 PM rue_mohr: so I cant add a match count loop
01:06 PM rue_mohr: oh idea
01:06 PM rue_mohr: ugh, I dont want to tho
01:09 PM Tom_L: i wonder if i so searches in my code
01:10 PM Tom_L: do*
01:13 PM rue_mohr: ok, I got it, kinda ugly as I always start from the beginning and count off the matches as I search
01:13 PM rue_mohr: but it works properly
01:13 PM rue_mohr: just not efficient
01:14 PM MoonyMoon: https://paste.debian.net/1138601/
01:14 PM rue_mohr: your alive now
01:14 PM rue_mohr: it took you 10 hours to get home eh?
01:14 PM rue_mohr: :)
01:15 PM MoonyMoon: yeah i was just saying to the kids :(
01:15 PM MoonyMoon: how i fucked up :P
01:16 PM rue_mohr: I finished chapter 6
01:16 PM MoonyMoon: o yeah
01:16 PM rue_mohr: chapter 7 is syntax hilighting
01:16 PM rue_mohr: let me post the files and you can give it a spin
01:16 PM MoonyMoon: ooooo
01:17 PM MoonyMoon: show me the code, your code. but then I'm chocolating in the sun for a bit
01:17 PM rue_mohr: hmm its 5 files now
01:17 PM Tom_L: moon e moon!
01:17 PM rue_mohr: get a term ready...
01:17 PM MoonyMoon: -e-
01:17 PM MoonyMoon: for a TCP blast?
01:18 PM MoonyMoon: nc dan 1234 > pop.tar ????
01:19 PM rue_mohr: http://ruemohr.org/~ircjunk/programming/c/DIY-ed/
01:19 PM rue_mohr: grab those 5
01:19 PM MoonyMoon: k
01:19 PM rue_mohr: compile with gcc *.c
01:20 PM rue_mohr: open up a spare terminal, run "tty" to get the pty number
01:20 PM rue_mohr: (for debug output)
01:20 PM rue_mohr: run it with
01:20 PM rue_mohr: gcc *.c && ./a.out testfile.txt 2>/dev/pts/14
01:20 PM rue_mohr: where the pts matches the spare terminal for the debug output
01:21 PM rue_mohr: uh and touch a textfile.txt if you want
01:21 PM rue_mohr: MoonyMoon, eh?
01:22 PM MoonyMoon: 1 sec
01:22 PM rue_mohr: its got quite a debug stream just not
01:22 PM rue_mohr: now
01:22 PM MoonyMoon: oh ok rerouting dtderr
01:22 PM MoonyMoon: stdeerrrrrr
01:22 PM rue_mohr: yea
01:22 PM rue_mohr: nice eh?
01:22 PM MoonyMoon: I try
01:22 PM MoonyMoon: 1 sec
01:22 PM rue_mohr: I print all the debug to stderr
01:23 PM MoonyMoon: good
01:23 PM rue_mohr: its a huge file of code
01:26 PM rue_mohr: bitmap.c:193:7: warning: implicit declaration of function 'mempcpy' [-Wimplicit-function-declaration]
01:26 PM rue_mohr: q = mempcpy(q, &Header, sizeof(Header_t));
01:26 PM rue_mohr: you got mine going?
01:27 PM MoonyMoon: got yours going, but I gotta go play with mah kids k
01:27 PM MoonyMoon: ill be back, I almost prommise
01:27 PM rue_mohr: yea your never online for long ;)
01:27 PM MoonyMoon: :P
01:27 PM MoonyMoon: <3
01:28 PM rue_mohr: he will forget the instructions and go nowhere with it
01:29 PM rue_mohr: chapter 7!
01:29 PM rue_mohr: https://viewsourcecode.org/snaptoken/kilo/07.syntaxHighlighting.html
01:29 PM Tom_L: :)
01:30 PM rue_mohr: hah he's not resetting it properly
01:31 PM rue_mohr: k, I need breakfast
01:31 PM rue_mohr: I think I can make this into an editor that can speed my coding up about 15%
01:31 PM Tom_L: at a sidetrack time cost of what?
01:32 PM rue_mohr: na, I work out that if I'd been successfull back in 2000, I'd be ahead for sure
01:33 PM rue_mohr: it would really help if I had the home automation timer TURN THE TEA ON too
01:33 PM rue_mohr: arg...
01:37 PM rue_mohr: its cold out
01:37 PM rue_mohr: toehrwise I'd like to go out and get some work done on the cnc
01:39 PM Tom_L: i'm gonna go out and map my ballscrews again here in a bit
01:39 PM Tom_L: soon as my shirt gets out of the dryer
01:39 PM rue_mohr: I hope I get hit with more energy than I have right now
01:40 PM Tom_L: did a little yard work earlier
01:40 PM Tom_L: been sitting around too much
01:41 PM rue_mohr: mix it up be sitting asquare for a while
01:42 PM Tom_L: if i ever find my round tuit i will
01:47 PM rue_mohr: :)
01:58 PM MoonyMoon: it doesnt like my newline :?
02:00 PM MoonyMoon: typedef struct erow {
02:00 PM MoonyMoon: char *chars;
02:00 PM MoonyMoon: char *render;
02:00 PM MoonyMoon: } erow;
02:01 PM MoonyMoon: why not erow_s & erow_t?
02:03 PM MoonyMoon: k I'm again :P
02:03 PM MoonyMoon: off taht is
02:14 PM rue_shop1: MoonyMoon, you mean to open a file or when you press enter
02:15 PM Tom_L: what grbl front end do you use on your mills?
03:14 PM rue_mohr: they were all horrid I wrote my own
03:14 PM rue_mohr: want a copy?
03:15 PM rue_mohr: its python, but its gi
03:15 PM rue_mohr: gui
03:15 PM rue_mohr: I cal it TapeRunner
03:15 PM rue_mohr: :) eh? eh???
03:18 PM rue_mohr: its got 1 window you can view/edit the NC file in, and another window where you can see the replies from the machine
03:18 PM rue_mohr: it has a field you can enter and send commands to the machine
03:18 PM rue_mohr: and a menu for selecting the com port and connecting to it
03:19 PM rue_mohr: it hilights the nc file lines as their sent
03:19 PM rue_mohr: I have hooks in it for proxying pendant control, but I didn't finish that bit yet
03:22 PM rue_mohr: https://github.com/ruenahcmohr/TapeRunner
03:22 PM rue_mohr: I havn't changed anything in a long time, so that should be up to date
03:27 PM rue_mohr: wow, going thu the code, it all looks like gobdy-gook
03:27 PM rue_mohr: pretty clean mind ya
03:29 PM rue_mohr: oh, some versions of python have a broken serial module, the port query doens't work, tell me if you ahve that issue, but I thknk its described int eh txt file
03:34 PM polprog: that editor is pretty usable tbh
03:34 PM polprog: nice work
03:34 PM rue_mohr: heh
03:34 PM polprog: now.. you can continue working on it, using it to edt it's code
03:34 PM rue_mohr: just dont trust your life on it yet eh?
03:34 PM rue_mohr: yea, I keep breaking it tho
03:35 PM * polprog drops rue_mohr into a pit with an IBM PC, and a floppy with a bootable linux, gcc, busybox and his editor
03:35 PM rue_mohr: I'm better off continuiing with nedit
03:35 PM rue_mohr: haha
03:35 PM polprog: nedit?
03:35 PM rue_mohr: yea
03:35 PM rue_mohr: nedit has two great features
03:35 PM rue_mohr: split view of a file (so you can see the top and bottom at the same time)
03:35 PM polprog: neat
03:35 PM rue_mohr: and recordable macros
03:36 PM polprog: looks interesting. i think you were using joe or something?
03:36 PM rue_mohr: aka, when I was writing that section on the escpae codes, I used the macros to auto-rewrite all the old code for me into the new code
03:36 PM polprog: haha
03:36 PM rue_mohr: record key strokes, play them back
03:37 PM rue_mohr: you just make sure when you record it, you leave the cursor at the same place on the next line
03:37 PM polprog: ive never used editor macros
03:37 PM polprog: in emacs or vim i just try to do it with regex
03:37 PM rue_mohr: did you catch the greyed out hint for the save/find dialog?
03:37 PM rue_mohr: find is F3
03:37 PM rue_mohr: its a realtime find
03:38 PM rue_mohr: F3 when in find, finds next, shift-F3 finds prev
03:38 PM rue_mohr: I think that version has it
03:38 PM polprog: that dim "word" is a nice touch
03:38 PM rue_mohr: yea
03:39 PM rue_mohr: if you start it wihtout a filename, when you hit save it will give you a default "untitled.txt" but under it (if you erase it) is the hint "filename.ext"
03:40 PM rue_mohr: I hope my DOS isn't showing too much :)
03:41 PM polprog: a bit :P
03:42 PM polprog: weird
03:42 PM polprog: F3 in find doesnt work for me
03:42 PM rue_mohr: oh you did split the stderr stream, right?
03:43 PM rue_mohr: I might have implemented it just after Iposted that code
03:43 PM rue_mohr: that function right under main is the latest add
03:44 PM rue_mohr: for (i = 0, hit = 0; i < E->numrows; i++) {
03:44 PM rue_mohr: row = &E->row[i];
03:44 PM rue_mohr: match = strstr(row->chars, query); // why are we using render instead of chars???
03:44 PM rue_mohr: if (match) {
03:44 PM rue_mohr: hit++;
03:44 PM rue_mohr: if (hit == n_match) {
03:44 PM rue_mohr: E->cy = i;
03:44 PM rue_mohr: E->cx = match - row->chars + strlen(query) ; // pointers of offset.
03:44 PM rue_mohr: E->rowoff = E->numrows;
03:44 PM rue_mohr: break;
03:44 PM rue_mohr: }
03:44 PM rue_mohr: }
03:44 PM rue_mohr: }
03:44 PM rue_mohr: thats the new for loop, but I think there were other adjustments
03:44 PM polprog: yeah i split
03:45 PM rue_mohr: I do recall that version posts all alien keystrokes to stderr
03:45 PM rue_mohr: and some that are just collected normally
03:45 PM polprog: it does
03:45 PM polprog: hu? -> 0
03:45 PM polprog: match fail [13~
03:45 PM polprog: hu? -> 0
03:45 PM polprog: match fail [13~
03:45 PM rue_mohr: tail -f /dev/null ?
03:46 PM polprog: what?
03:46 PM rue_mohr: is [13~ your F3?
03:46 PM rue_mohr: :) your not direcing stderr to /dev/null then :)
03:46 PM polprog: im redirecting to a diff pty
03:46 PM polprog: yes, [13~ is my f3
03:46 PM rue_mohr: good show, neat trick?
03:46 PM polprog: huh?
03:47 PM polprog: it's a neat trick yeah
03:47 PM polprog: :P
03:47 PM rue_mohr: } else if (!strcmp( s, "OR")) { return KEY_F3;
03:47 PM rue_mohr: inside int escKeyLookup (char *s) {
03:47 PM polprog: ill try in xterm
03:47 PM rue_mohr: whats your shift-F3 ?
03:47 PM polprog: [25~
03:48 PM polprog: works in xterm
03:48 PM polprog: must be urxvt doing weird things
03:48 PM polprog: i can test on a vt320 :P
03:48 PM polprog: it has a dedicated "Find" key
03:49 PM rue_mohr: } else if (!strcmp( s, "[13~")) { return KEY_F3;
03:49 PM rue_mohr: } else if (!strcmp( s, "[25~")) { return KEY_SHIFT_F3;
03:49 PM rue_mohr: added
03:49 PM polprog: LK201 keyboard
03:49 PM rue_mohr: the codes are a mess
03:49 PM rue_mohr: there are 3 different standards all puked up at the same time
03:50 PM polprog: i wonder which standard does these F as [number~
03:50 PM polprog: the only f-key using program i use is mc
03:50 PM rue_mohr: yea, need to bring back the function keys!
03:51 PM polprog: and in it i rather use Meta-1, Meta-2, Meta-3 (<ESC> number) instead of the function keys :P
03:51 PM rue_mohr: well it wont work
03:51 PM rue_mohr: ctrl-f and shift-ctrl-f are mapped to the same code
03:51 PM polprog: ouch
03:52 PM polprog: where are they mapped?
03:52 PM rue_mohr: all shift-ctrl combinations are duplicate mapped
03:52 PM rue_mohr: run dumpkeys
03:52 PM rue_mohr: its part of the kbd package
03:52 PM rue_mohr: there is no garuntee your map matches mine
03:53 PM polprog: from DEC terminals i like scaled fonts a lot
03:53 PM polprog: they are awesome
03:53 PM polprog: i even made them in CSS on my homepage
03:53 PM rue_mohr: :)
03:53 PM polprog: someone later said it looks just like in the DOS days. I dont recall VGA/CGA/MDA having scaled fonts :P
03:55 PM polprog: they are really neat... idk why i like them
04:13 PM polprog: http://aperiodic.net/phil/archives/Geekery/term-function-keys.html
04:17 PM polprog: apparently the Find key on my sun keyboard generates [1~
04:19 PM polprog: lol, firefox actually supports paste/copy/undo/again keys
04:26 PM rue_mohr: :| 48? function keys!?
04:28 PM rue_mohr: oh my, a bunch of those codes dont fit the collector I made
04:28 PM polprog: these are for one case of code sets for shift-Fx, ctrl-Fx, C-S-Fx
04:28 PM polprog: crazy
04:28 PM rue_mohr: but they dont tell the codes if your holding shift or control
04:29 PM rue_mohr: that said
04:29 PM rue_mohr: my F5 with shift comes up as F29
05:00 PM polprog: if you ever feel it's too easy... maybe you could add graphics :P ? https://www.xfree86.org/current/ctlseqs.html#Tektronix%204014%20Mode
05:18 PM polprog: nighters
05:29 PM rue_shop2: http://zpostbox.ru/how_to_determine_permeability_of_unknown_cores_online_calculator.html
05:29 PM rue_shop2: heh, yea, I found out about HP mode when I was looking into the console stuff
05:31 PM rue_shop2: it seems that there is a setting to not turn on the heated bed and the extuder heater at the same time
05:32 PM rue_shop2: which is great, but annoying as I have them on seperate supplies anyhow
05:57 PM rue_mohr: :D
05:57 PM rue_mohr: Tom_L, ...
05:58 PM rue_mohr: could... you do a search for "router table" in #garfield?
06:00 PM rue_mohr: not in the 1300 pics from 2018
06:03 PM rue_mohr: its not in the 914 pics from 2017
06:11 PM rue_mohr: its not in the 3743 files from 1029
06:11 PM rue_mohr: 2019
06:11 PM rue_mohr: aha, 2016
06:50 PM Tom_L: find it?
06:50 PM Tom_L: had to do some _random_ shopping
06:55 PM rue_shop2: yup
06:56 PM Tom_L: i did the ballscrew setup differently this time using 123 blocks measuring every inch
06:57 PM Tom_L: most were off by .001 every inch
06:57 PM rue_shop2: ah
06:57 PM Tom_L: i wonder if the scale rounding would cause that
06:57 PM rue_shop2: thats within measurement error eh?
06:58 PM Tom_L: i was pretty careful measuring this time using a last word indicator in the spindle
06:58 PM rue_shop2: but your getting 1 thou/inch
06:59 PM Tom_L: 5mm is .508 turns per inch right?
06:59 PM Tom_L: rounded
06:59 PM rue_shop2: no its exact .508
07:00 PM rue_shop2: units inch 5mm
07:00 PM rue_shop2: * 5.08
07:00 PM rue_shop2: / 0.19685039
07:01 PM Tom_L: i wonder how i could pick up .001 per inch without using comp
07:03 PM Tom_L: fudge on the overall steps currently 10160 steps per inch iirc
07:04 PM rue_shop2: calc 5.08*200*10
07:04 PM rue_shop2: 5.08*200*10 -->> 10160
07:04 PM rue_shop2: its right
07:05 PM rue_shop2: over 10 inches, you got 10.010 inches, then, right?
07:06 PM Tom_L: maybe have it go 10 more steps per?
07:06 PM Tom_L: no, it comes up short
07:06 PM Tom_L: 9.xx
07:06 PM Tom_L: i think
07:11 PM rue_shop2: no, tell me the desired vs real distance
07:11 PM rue_shop2: 10 vs 9.990?
07:17 PM Tom_L: i'm gonna go out and measure 10" once more
07:19 PM Tom_L: just wish i had more 123 blocks
08:11 PM Tom_shop: so 10" is .005" short or 9.995"
08:12 PM Tom_shop: 15" is .007" short or 14.993
08:13 PM Tom_shop: actually 15" is .0075" short or 14.9925
08:14 PM Tom_shop: that's X
08:14 PM Tom_shop: haven't set Y up to test yet
08:15 PM rue_mohr: ok, so on an axis set to 10160 steps/inch, your getting 14.9925" instead of 15"
08:15 PM Tom_shop: yes
08:16 PM rue_mohr: ok, then your steps needs to be: 10154.9
08:16 PM rue_mohr: try it!
08:16 PM Tom_shop: can't do a decimal point
08:16 PM Tom_shop: 10155
08:16 PM rue_mohr: why not
08:16 PM Tom_shop: i'll see what it does
08:16 PM rue_mohr: you probabaly can
08:17 PM rue_mohr: it will use floating point internally anyhow
08:17 PM rue_mohr: do a rough check, make sure I went the right way first :)
08:17 PM rue_mohr: I been known to get it backwards
08:18 PM Tom_shop: k, gotta re'home the mill
08:18 PM Tom_shop: at least my test points are set
08:20 PM rue_mohr: hmm, cold shop
08:20 PM Tom_shop: seemed to accept it
08:20 PM Tom_shop: yeah i bumped the heat on earlier
08:21 PM rue_mohr: ball screw cut hot, rated for 25c
08:21 PM Tom_shop: to take the chill off
08:21 PM rue_mohr: hmmm
08:21 PM Tom_shop: now to test
08:22 PM Tom_shop: i think that was the wrong way
08:23 PM Tom_shop: 10" is .010 off now
08:23 PM rue_mohr: ok
08:23 PM rue_mohr: then the answer is 10165.1
08:23 PM Tom_shop: i'm checking 15 too
08:24 PM Tom_shop: yep, 15 is off .014 now
08:24 PM rue_mohr: ok, there is a double-negitive in there that often trips me up
08:24 PM rue_mohr: 10165.1
08:25 PM Tom_shop: yep homing..
08:26 PM rue_mohr: interesting
08:27 PM Tom_shop: almost perfect at 10"
08:27 PM rue_mohr: so, if that ball screw was @ 100c when it was made, and your shop is 18c right now, then the ball screw, for a 15" traveral would be 14.984
08:27 PM rue_mohr: assuming steel with a co-eff of 13
08:28 PM Tom_shop: 15" is dead nuts on
08:28 PM rue_mohr: see, I'm 50% magic
08:28 PM rue_mohr: sometimes my magic is just the wrong polarity
08:28 PM Tom_shop: so i'm just gonna put that on Y too
08:28 PM Tom_shop: and x3 it for Z
08:29 PM Tom_shop: it's real hard to test y
08:29 PM rue_mohr: new factor = (desired_distance / actual distance) * steps_per_mm_used
08:29 PM Tom_shop: i can check Z fairly easy
08:29 PM rue_mohr: factor being the new steps/mm
08:30 PM rue_mohr: but do you think it would be sloppy manufacturing thermal managent?
08:31 PM Tom_shop: they're not precision ground ballscrews. they're rolled
08:31 PM Tom_shop: but still...
08:31 PM rue_mohr: ok, I assumed they were made @ 100c
08:31 PM rue_mohr: I dont know if rolling would be colder
08:32 PM Tom_shop: i sure didn't know i could use floats on the scale factor
08:32 PM rue_mohr: whats your shop temp right now?
08:32 PM Tom_shop: cold
08:32 PM Tom_shop: probably 50F
08:32 PM Tom_shop: the door is open
08:33 PM rue_mohr: it implies they were made at about 50c
08:33 PM rue_mohr: given your amount of error
08:33 PM rue_mohr: how hot do you think the shop gets peak summer?
08:34 PM Tom_shop: maybe 80F
08:35 PM rue_mohr: then your error, over 15" in high summer will be 0.0033 over 15 inches
08:35 PM rue_mohr: did I mention over 15 icnhes?
08:35 PM rue_mohr: :)
08:35 PM Tom_shop: heh
08:35 PM Tom_shop: i don't like using backlash comp
08:35 PM rue_mohr: hows the lash looking
08:36 PM rue_mohr: I had an idea yesterday
08:36 PM Tom_shop: what it does is: whatever comp value say .004" is added in as a rapid just before the cut
08:36 PM Tom_shop: which can gouge the material a tiny bit
08:36 PM rue_mohr: two motors on a servo axis, during large moves, they work togethor, and during slow or holding moves they work against each other, to clear lash
08:36 PM Tom_shop: hardly any
08:37 PM rue_mohr: 5 thou finish pass
08:37 PM Tom_shop: ok i'm gonna set up and see if i can check Z at least part way
08:37 PM Tom_shop: z has 7" travel but i can't measure the whole 7"
08:38 PM rue_mohr: just remember to make sure the cal. sticker says its calibrated at 10c
08:39 PM Tom_shop: gonna return to 0 and see how it does that way now
08:40 PM Tom_shop: dead on
08:44 PM rue_mohr: yay
08:47 PM Tom_shop: i think i can check 6 maybe 7" in z
08:47 PM * rue_mohr high-5s tom from a virus-safe distance of 2000km
08:47 PM Tom_shop: :)
08:48 PM rue_mohr: huh
08:49 PM rue_mohr: heh, looking at google maps, EVERY country calls bodies so large a sea, but here in canada, we call it a bay
08:54 PM Tom_shop: z is still way off
08:54 PM Tom_shop: need to go more with it
08:56 PM Tom_shop: ok at 7" z is off .032"
08:56 PM Tom_shop: it's .032" short of 7"
08:56 PM Tom_shop: using 30495.3
08:57 PM Tom_shop: remember it's 3:1 ratio
08:58 PM Tom_shop: i'll set it back to 30480 and check it which is where the original was
09:02 PM rue_mohr: ok, give me the numbers
09:02 PM rue_mohr: desired, actaul, step/mm used
09:02 PM Tom_shop: yeah gimme a sec
09:08 PM Tom_shop: ok the scale is -30480
09:10 PM Tom_shop: in 6" is it short by .028"
09:10 PM rue_shop2: so 7 6.978 and 30480?
09:10 PM Tom_shop: i didn't go 7 yet
09:11 PM Tom_shop: wanna get it closer first
09:11 PM rue_shop2: ok, so 6, 5.982 and 30480?
09:11 PM Tom_shop: sounds right
09:11 PM Tom_shop: no
09:11 PM Tom_shop: 5.972
09:12 PM rue_shop2: 30623
09:12 PM rue_shop2: ? way off
09:12 PM Tom_shop: for 5.972?
09:12 PM rue_shop2: yes
09:13 PM Tom_shop: yeah it was
09:13 PM rue_shop2: its like your ratio is wrong by a tooth
09:13 PM rue_shop2: ?
09:13 PM Tom_shop: shouldn't be
09:15 PM rue_shop2: maybe its a really bad ball screw
09:16 PM Tom_shop: ok. .0025 over
09:16 PM Tom_shop: at 6"
09:16 PM rue_shop2: using the number I gave you>
09:16 PM Tom_shop: yes
09:16 PM Tom_shop: lots better though
09:16 PM rue_shop2: 30467.3
09:16 PM rue_shop2: is implied
09:17 PM rue_shop2: no wait
09:17 PM rue_shop2: 30610.3
09:17 PM rue_shop2: I used the wrong steps/mm
09:19 PM rue_shop2: welds pull , hmmm
09:20 PM rue_shop2: damn, I need a bunch of 1" steel angle
09:20 PM Tom_shop: ok at 7" it's .0005" short :)
09:21 PM rue_shop2: 7 vs 6.9995
09:21 PM Tom_shop: yeah
09:21 PM rue_shop2: 30612.4
09:22 PM rue_shop2: :)
09:25 PM Tom_shop: over by .001
09:25 PM rue_shop2: 5000 ways to cut a peice on metal and it looks like I need to ponder them all before making the cut
09:25 PM Tom_shop: i dropped the .4 too
09:25 PM Tom_shop: 30612
09:25 PM rue_shop2: 30607.6 ...?
09:26 PM rue_shop2: I think we have something playing us tho
09:26 PM rue_shop2: maybe the load is a bit high for the microstepper
09:27 PM rue_shop2: this is +- 10 steps
09:27 PM Tom_shop: yeah
09:27 PM Tom_shop: it's close enough
09:27 PM rue_shop2: heh, you want to sleep tonight, right?
09:27 PM rue_shop2: :)
09:28 PM Tom_shop: i'm fudging the numbers a tiny bit
09:29 PM Tom_shop: i'm sticking with 30610
09:31 PM Tom_shop: it's damn close for sure. thanks
09:31 PM Tom_shop: now to back up the config
09:33 PM Tom_shop: i may check Y tomorrow just to be sure
09:42 PM rue_shop2: hahahah, oh...
09:42 PM rue_shop2: align the parts THEN weld them...
09:42 PM Tom_L: optional
09:42 PM * rue_shop2 pulls out angle grinder
09:45 PM Tom_L: so 5mm is 5.08 turns per inch?
09:50 PM rue_mohr: exact
09:50 PM Tom_L: how did you go about calculating the error then?
09:54 PM rue_shop2: oops, if using a frame as a reference to make something straight, make sure the frame is straight
09:55 PM rue_shop2: new_step_per_mm = (desired_distance / actual distance) * steps_per_mm_used
09:55 PM Tom_L: it will however fit the frame
09:56 PM Tom_L: i'll check all the screws to make sure the nuts are tight on the ends for play
09:56 PM rue_shop2: hmm it looks like itwas ok
09:57 PM Tom_L: z is tight because it goes to -7 then returns to 0
09:57 PM Tom_L: so does X
09:57 PM Tom_L: if it had any slop it wouldn't return exact
09:59 PM rue_shop2: use a zigzag test
09:59 PM rue_shop2: cut a _-_-_-_
09:59 PM rue_shop2: because of the path, the play will cause the lines to be distanced wrong
09:59 PM rue_shop2: by the amount of lash
09:59 PM Tom_L: right
10:00 PM Tom_L: the usual test is a circle
10:00 PM Tom_L: you can see nubs at the quadrants
10:00 PM rue_shop2: circle mixes the errors in evil ways
10:00 PM rue_shop2: with a zigzag, you can directly measure it
10:12 PM rue_shop2: 15.77mm
10:14 PM Tom_L: i could have gone the whole 17.5" but 15 was easier with the blocks i have
10:44 PM rue_mohr: so the syntax hilighting is done wrong in this code
10:44 PM rue_mohr: he has all kinds of layers that can do this, and he put it in the worst one of them
10:46 PM Tom_L: heh
11:08 PM rue_mohr: oh the... hmmm