#garfield Logs
Nov 09 2020
#garfield Calendar
12:04 AM rue_mohr: the problem with using table2ihex, is that I need to write code that can solve for all values simotaniously...
12:11 AM rue_mohr: a bit beyond my current mental capacity
01:23 AM rue_bed: ok, readin up on the 74ls502
01:23 AM rue_bed: whats creepy
01:24 AM rue_bed: is that I did all my shift registers like this in my old drawings
01:24 AM rue_bed: which means, the shift registers I was designing, could have been used for a SAR ADC
01:31 AM rue_bed: interesting, the motorola chip implied that it was for serial ouptut, but of course the value is right there in parallel too
01:31 AM rue_bed: ok, I have to think more
01:31 AM rue_bed: there might be other ways of doing this
02:50 AM polprog: maybe the bunch of transparent latches can be used for the adc too
02:51 AM rue_mohr: it wouldn't have a stable output
02:51 AM rue_mohr: (I should not be awake)
02:51 AM rue_mohr: writing rules for the SAR
02:52 AM rue_mohr: 100 1 V=A&0x0F
02:52 AM rue_mohr: 90 1 DN=(A&0x10)>>4
02:52 AM rue_mohr: 80 1 R=(A&0x20)>>5
02:52 AM rue_mohr: 70 1 C=(A&0x40)>>6
02:52 AM rue_mohr: -10 (((V&0x07)==0x07)&&(C==0)) D=(V&0x03)
02:52 AM rue_mohr: -20 (((V&0x07)==0x07)&&(C==1)) D=((V&0x03)|0x08)
02:52 AM polprog: hmm, that tri source is pretty neat
02:53 AM rue_mohr: yea I picked that up from my HP fn gen
02:53 AM rue_mohr: while fixing the output buffer for the nth time
02:54 AM rue_mohr: see if you can get more p-p out of it
02:55 AM rue_mohr: I couldn't think of how to offset the pin 2,6 voltages without pull up/down resistors that would bend the charge rate
02:56 AM rue_mohr: that said, maybe it can be done by partially tieing the CV pin to the output pin
02:56 AM rue_mohr: nothing like a dynamic CV
03:07 AM rue_mohr: default 0x0007
03:07 AM rue_mohr: addrule 1 V=A&0x0F 100
03:07 AM rue_mohr: addrule 1 DN=(A&0x10)>>4 90
03:07 AM rue_mohr: addrule 1 R=(A&0x20)>>5 80
03:07 AM rue_mohr: addrule 1 C=(A&0x40)>>6 70
03:07 AM rue_mohr: addrule 1 DNO=0x10 10
03:07 AM rue_mohr: addrule (((V&0x01)==0)&&(C==0)) (D=V|DNO) -10
03:07 AM rue_mohr: addrule (((V&0x01)==0)&&(C==1)) (D=V|0x01|DNO) -20
03:07 AM rue_mohr: addrule (((V&0x01)==0x01)&&(C==0)) D=(V&0x0C) -30
03:07 AM rue_mohr: addrule (((V&0x01)==0x01)&&(C==1)) D=((V&0x0C)|0x02) -40
03:07 AM rue_mohr: addrule (((V&0x03)==0x03)&&(C==0)) D=(V&0x09) -50
03:07 AM rue_mohr: addrule (((V&0x03)==0x03)&&(C==1)) D=((V&0x09)|0x04) -60
03:07 AM rue_mohr: addrule (((V&0x07)==0x07)&&(C==0)) D=(V&0x03) -70
03:07 AM rue_mohr: addrule (((V&0x07)==0x07)&&(C==1)) D=((V&0x03)|0x08) -80
03:07 AM rue_mohr: addrule DN==1 D=V|DNO -100
03:07 AM rue_mohr: addrule R==0 D=7 -110
03:07 AM rue_mohr: memend 0x0040
03:07 AM rue_mohr: 4 bit SAR (I think)
03:09 AM rue_mohr: ok, something went wrong
03:13 AM rue_mohr: oops
03:14 AM rue_mohr: the variables for address aren't run in the same block it seems
03:14 AM rue_mohr: yea
03:16 AM rue_mohr: 0000: 07 07 07 07 07 07 07 07 - 07 07 07 07 07 07 07 07 ................
03:16 AM rue_mohr: 0010: 07 07 07 07 07 07 07 07 - 07 07 07 07 07 07 07 07 ................
03:16 AM rue_mohr: 0020: 10 00 12 01 14 04 16 03 - 18 08 1A 09 1C 0C 1E 03 ................
03:16 AM rue_mohr: 0030: 10 11 12 13 14 15 16 17 - 18 19 1A 1B 1C 1D 1E 1F ................
03:16 AM rue_mohr: heh, I will have to build a simulator and test it..
03:17 AM rue_mohr: my other program can generate C code
03:19 AM rue_mohr: so polprog the souce is
03:19 AM rue_mohr: default 0x0007
03:19 AM rue_mohr: addrule 1 DNO=0x10 10
03:19 AM rue_mohr: addrule 1 V=A&0x0F -10
03:19 AM rue_mohr: addrule 1 DN=(A&0x10)>>4 -20
03:19 AM rue_mohr: addrule 1 R=(A&0x20)>>5 -30
03:19 AM rue_mohr: addrule 1 C=(A&0x40)>>6 -40
03:19 AM rue_mohr: addrule (((V&0x01)==0)&&(C==0)) D=V|DNO -100
03:19 AM rue_mohr: addrule (((V&0x01)==0)&&(C==1)) D=V|0x01|DNO -120
03:19 AM rue_mohr: addrule (((V&0x01)==0x01)&&(C==0)) D=V&0x0C -130
03:19 AM rue_mohr: addrule (((V&0x01)==0x01)&&(C==1)) D=((V&0x0C)|0x02) -140
03:19 AM rue_mohr: addrule (((V&0x03)==0x03)&&(C==0)) D=V&0x09 -150
03:19 AM rue_mohr: addrule (((V&0x03)==0x03)&&(C==1)) D=((V&0x09)|0x04) -160
03:19 AM rue_mohr: addrule (((V&0x07)==0x07)&&(C==0)) D=V&0x03 -170
03:19 AM rue_mohr: addrule (((V&0x07)==0x07)&&(C==1)) D=((V&0x03)|0x08) -180
03:19 AM rue_mohr: addrule DN==1 D=V|DNO -200
03:19 AM rue_mohr: addrule R==0 D=7 -210
03:19 AM rue_mohr: memend 0x0040
03:20 AM rue_mohr: if the rules for building the bit fields from the address are not in the same block (positives vs negitives) they don't get run in the same set (remmeber it does positive pri's then negitives ones seperatly)
03:21 AM rue_mohr: do dumb assignments are good in positive, so that when your rules are run, they aren't re-assigned every loop
03:22 AM polprog: https://www.lehigh.edu/~kbe2/temp/asterisk2.txt
03:22 AM rue_mohr: V is value, DN is DONE (in), R is /RESET, C is the comparator input. DNO is DONE OUTPUT
03:22 AM polprog: thats the ihex code for the sar flash?
03:22 AM rue_mohr: yea
03:22 AM rue_mohr: its only 4 bit, but you can see the pattern
03:23 AM rue_mohr: TK hates me, but he still tries to help
03:23 AM polprog: hmm, my two newest analogue phone sets.. panasonics have a handsfreee button
03:24 AM polprog: but i still have to press it
03:24 AM polprog: i should get some nortel gear
03:24 AM polprog: maybe a kroneblock
03:24 AM polprog: too
03:25 AM rue_mohr: I'm quite curious to know if I got that SAR right
03:25 AM rue_mohr: pretty small table
03:25 AM rue_mohr: :) and half of it is /RESET
03:26 AM rue_mohr: hah, the last line is just the done-hold-state
03:26 AM rue_mohr: which means ALL the work is from 0x0020 to 0x002F
03:34 AM polprog: i wonder if i can easily get some ISDN hardware, but the CO side
03:34 AM polprog: so i could run an ISDN link
03:35 AM polprog: all the stuff there is available are decomissioned subscriber side gear, i have an NT1 and a TA
03:37 AM polprog: i just need the cloud part
03:37 AM polprog: http://www.jet.net/isdn/isdnintrofig1.gif
03:38 AM polprog: ooo https://slideplayer.pl/slide/9710001/31/images/2/Styk+U+Lokalizacja+styku+U+odpowiada+odcinkowi+linii+abonenckiej%2C+%C5%82%C4%85cz%C4%85cej+u%C5%BCytkownika+sieci+ISDN+z..jpg
03:38 AM polprog: LT interface
03:45 AM polprog: none of these seem to be available though
08:46 AM rue_mohr: hmm
08:51 AM rue_mohr: I think there is an error in that table
08:51 AM rue_mohr: to do with the done bit timing
10:09 AM aandrew: heh I haven't done much with ISDN BRI, although I did design one of Digium's cards
10:09 AM aandrew: ISDN PRI I've done quite a bit of work with though, and on up to DS3s for telephony anyway
11:09 AM rue_mohr: one wrong on the digital electronics exam 8-|
11:10 AM polprog: ouch
11:11 AM polprog: aandrew: im looking around and if im right, i would need one more NT1 device, and one NT2 device to make a suprsciber side ISDN network..
11:11 AM polprog: NT2 seem to be crazily expensive tohug
11:11 AM polprog: though*
11:12 AM aandrew: probably... like I said, BRI isn't my thing. I designed a PCI card for Digium for it and wrote the zaptel driver but that's it
11:12 AM polprog: thats awesome :D
11:12 AM polprog: id love to make a pci card some day
11:12 AM polprog: well. it will probably be pcie then
11:12 AM aandrew: sorry not the whole card, the BRI module, it was their new "fuck this, PCI is heinous, we're just going to use a NIC" design
11:12 AM aandrew: worked pretty well
11:13 AM polprog: lol
11:13 AM aandrew: PCIe is 10x easier than PCI
11:13 AM polprog: yeah.. i know PCI uses this weird signalling where the actual signal needs to be reflected off the bus
11:13 AM polprog: i forgot the name
11:14 AM aandrew: at least on a hardware level it's only three pairs. the serdes is a little complicated if you're going to write your own but x1 has no lane swapping/syncing
11:14 AM polprog: pcie that is?
11:14 AM aandrew: PCI has considerably more timing issues but is easier in the HDL
11:15 AM aandrew: PCIe is easier yes
11:15 AM polprog: rue_mohr: what did you get wrong?
11:17 AM rue_mohr: I don't know, but one of the questions did not have the correct answer
11:17 AM rue_mohr: I went over it like 12 times
11:17 AM rue_mohr: the circuit reduces to _2_ gates!!!!
11:17 AM polprog: :(
11:17 AM polprog: i failed the internal driving theory twice today
11:17 AM polprog: 4/25 bad
11:17 AM polprog: :(
11:17 AM rue_mohr: not an answer option... I don't know if I missed the point of the question
11:18 AM rue_mohr: ouch
11:18 AM polprog: (the circuit reduces to one gal)
11:18 AM rue_mohr: it wasn't the "How many points is running over pedestrians worth" was it?
11:18 AM rue_mohr: heh
11:19 AM polprog: its legal only if they land telemark-style
11:19 AM polprog: heh, kidding
11:19 AM polprog: i dont know which ones were wrong either
11:19 AM polprog: i have to do mech
11:19 AM polprog: maybe ill do some theory laters
11:22 AM rue_mohr: I still cant find an error, this does reduce to 2 gates
11:22 AM rue_mohr: 2 was not an option
11:22 AM rue_mohr: maybe I wasn't supposed to optimize it
11:22 AM rue_mohr: they said the minimum number of gates
11:22 AM rue_mohr: I dont think they meant I should optimize it...
03:16 PM rue_mohr: ok, like 96% on the PLC exam
03:16 PM rue_mohr: there were some odd questions, so, whatever
03:17 PM rue_mohr: polprog, hows your day going?
03:17 PM polprog: pretty good. just made some coffee and im 1/4 in the mech excercises i was to do today...
03:20 PM polprog: saved your 555 tri generator, ill build it soon
03:20 PM rue_mohr: see if you can expand the range of it
03:21 PM polprog: hmm, ill see
03:21 PM polprog: well the easiest would be to attenuate the feedback...
03:21 PM rue_mohr: I think if you tie a resistor from OUT to ControlVoltage, it'll get larger
03:21 PM polprog: ya
03:21 PM rue_mohr: but you cant touch the feedback without throwing the currents out
03:21 PM rue_mohr: not that I could think of
03:21 PM polprog: hmm, now that ill have a triangle gen ill be able to play with a log amplifier
03:22 PM rue_mohr: the only other way I can think of is with CV, but
03:22 PM rue_mohr: you *COULD* use comparators and a flipflop
03:22 PM polprog: hmm true
03:22 PM rue_mohr: but the 555 is a tiny easy way
03:22 PM polprog: it is neat
03:23 PM polprog: ok, gotta watch that excercise. hopefully the parts will be here tomorrow
03:23 PM rue_mohr: :/ buildBin crashes when I try to make the fsm for the sar
03:23 PM polprog: bbl
03:32 PM rue_mohr: haha, forgot a comma, caused a segfault
03:33 PM rue_mohr: ok, I have my binary
03:50 PM Tom_L: and here i thought you wrote the book on digital electronics
03:51 PM Tom_L: <rue_mohr> I jumped off the bridge, but our bridges here are really low
04:31 PM rue_shop1: heh
04:31 PM rue_shop1: by chance do you know how to publish an electronic media book?
04:32 PM rue_shop1: oh I didn't mask the bits right
04:33 PM rue_shop1: but...
04:37 PM Tom_L: huh?
04:38 PM Tom_L: no not off hand
04:38 PM Tom_L: other than making a pdf?
04:38 PM rue_mohr: yea I'm sure there is some protocol wrapper
04:40 PM Tom_L: Write a strong book.
04:40 PM Tom_L: Create an Amazon KDP account.
04:40 PM Tom_L: Format your ebook for publishing.
04:40 PM Tom_L: Upload your ebook to KDP.
04:40 PM Tom_L: Choose your ebook publish date.
04:40 PM Tom_L: Build your book launch team.
04:40 PM Tom_L: Create hype for your ebook.
04:40 PM Tom_L: Publish your ebook!
04:41 PM rue_mohr: hmm
04:41 PM Tom_L: https://self-publishingschool.com/how-to-publish-ebook-publishing-guide/
04:41 PM rue_mohr: I wonder if I get an ISBN
04:41 PM Tom_L: you go off and get famous, i get a mention :)
04:41 PM rue_mohr: :)
04:41 PM rue_mohr: its my book of schematics
04:59 PM rue_shop1: aha!
04:59 PM rue_shop1: the next page of the table IS populated!
05:21 PM rue_shop1: it works
05:21 PM rue_shop1: I think
05:21 PM rue_shop1: I need to check the chart
05:38 PM polprog: it would be like that book that was a stylized engineers notebook that taught basic electronics
05:38 PM polprog: i forgot the name of the guy
05:43 PM rue_mohr: forrest mimms
05:43 PM polprog: yes!
05:43 PM rue_mohr: the SAR FSM works!
05:43 PM rue_mohr: SA FSM?
05:44 PM rue_mohr: anyhow, I didn't set it up into an ADC yet, but its working
05:44 PM polprog: :D
05:44 PM polprog: im tired now, gonna hit the bed in a couple-ten mins
05:44 PM polprog: im.. halfway thru the excercises
05:46 PM rue_mohr: so, I might have to write a program to generate Boolean formulas from an image file :)
05:53 PM rue_mohr: or I think I'll try a basic blinking state machine with the 8V16
05:53 PM rue_mohr: 16V8
05:53 PM rue_mohr: I'll get this...
05:54 PM rue_mohr: I think a GAL can do an 8 bit SAR
05:55 PM rue_mohr: I'm not quite sure how to reduce the equations
05:56 PM polprog: hmm
05:56 PM polprog: i did that by hand mostly but not very much
05:56 PM polprog: i suspect the sar equationsa are pretty complicated
06:11 PM rue_mohr: 10 1 DNO=0x10
06:11 PM rue_mohr: -10 1 V=A&0x0F
06:11 PM rue_mohr: -20 1 DN=((A&0x10)>>4)&0x01
06:11 PM rue_mohr: -30 1 R=((A&0x20)>>5)&0x01
06:11 PM rue_mohr: -40 1 C=((A&0x40)>>6)&0x01
06:11 PM rue_mohr: -100 (((V&0x01)==0)&&(C==0)) D=V|DNO
06:11 PM rue_mohr: -120 (((V&0x01)==0)&&(C==1)) D=V|0x01|DNO
06:11 PM rue_mohr: -130 (((V&0x01)==0x01)&&(C==0)) D=V&0x0C
06:11 PM rue_mohr: -140 (((V&0x01)==0x01)&&(C==1)) D=((V&0x0C)|0x02)
06:11 PM rue_mohr: -150 (((V&0x03)==0x03)&&(C==0)) D=V&0x09
06:11 PM rue_mohr: -160 (((V&0x03)==0x03)&&(C==1)) D=((V&0x09)|0x04)
06:11 PM rue_mohr: -170 (((V&0x07)==0x07)&&(C==0)) D=V&0x03
06:11 PM rue_mohr: -180 (((V&0x07)==0x07)&&(C==1)) D=((V&0x03)|0x08)
06:12 PM rue_mohr: -200 DN==1 D=V|DNO
06:12 PM rue_mohr: -210 R==0 D=7
06:12 PM rue_mohr: but the problem is, the results of that need to be broken down into equations, and simplified
06:13 PM rue_mohr: that one, I suppose, as a 4 bit, is... about 5 equations, with 6 input terms each ?
06:22 PM polprog: it would have to be broken down per bit for the gal
06:30 PM rue_mohr: yea
06:30 PM rue_mohr: I dont think I know how to write a program to take the huge equestions and reduce them
06:31 PM rue_mohr: kalman filter
06:31 PM rue_mohr: ok
07:27 PM rue_mohr: polprog, maybe I can do this with that windows software and a table
07:43 PM Tom_itx is now known as Tom_L
08:41 PM rue_mohr: ok, so
08:42 PM rue_mohr: a) I don't feel that much of that amazon guide applies to a book of schematics
08:42 PM rue_mohr: b) I'm sure the heck not redrawing everything in that book
08:43 PM rue_mohr: a scanned pdf would be insanely huge
08:45 PM Tom_L: :|
08:47 PM rue_mohr: well
08:47 PM rue_mohr: phoned a fellow I know and he said the fancy machine at their place does some pretty good compression
08:48 PM rue_mohr: maybe I'll give it a try as a huge scan
08:58 PM rue_mohr: GAL16V8
08:58 PM rue_mohr: main
08:58 PM rue_mohr: NC NC NC NC NC NC NC NC NC GND
08:58 PM rue_mohr: NC NC NC NC NC NC NC Z NC VCC
08:58 PM rue_mohr: Z = /Z
08:58 PM rue_mohr: DESCRIPTION
09:08 PM rue_shop1: didn't work...
09:08 PM rue_shop1: so it seems
09:09 PM rue_shop1: maybe its just not using the latch
09:15 PM rue_shop1: did it wrong
09:16 PM rue_shop1: Z.R = /Z
09:19 PM rue_shop1: OH YEA
09:39 PM Tom_L: next spindle test will be to see if i can use some of these now: http://tom-itx.no-ip.biz:81/~webpage/cnc/cutters/Slitting_saw2.jpg
10:01 PM rue_mohr: oh yea
10:01 PM rue_mohr: back to why you did it in the first place
10:08 PM Tom_L: i'm not sure right now what for but they'll be in the arsenol
10:12 PM rue_mohr: I forget what you were slotting
10:15 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/cnc/rotary/RotaryTest4.jpg
10:15 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/cnc/rotary/RotaryTest1.jpg
10:16 PM Tom_L: that was with the small cutter
10:21 PM rue_mohr: thats before, right?
10:21 PM rue_mohr: or did you make another one up?
10:21 PM Tom_L: no that was with the sherline when i first got the rotary head
10:21 PM rue_mohr: yea
10:22 PM Tom_L: brass is harder than you think
10:22 PM Tom_L: i learned that on that cup i made
10:22 PM Tom_L: haven't really milled much brass
10:22 PM Tom_L: i used to turn alot of it
10:23 PM Tom_L: but they were 30hp spindles too
11:34 PM rue_mohr: atleast it chips nice