<rqou> huh this electroboom video is great: https://www.youtube.com/watch?v=8qyN3K5EE7o
<rqou> someone get this guy a mems magnetometer
digshadow has quit [Ping timeout: 255 seconds]
Patater has quit [Ping timeout: 260 seconds]
<zkms> has anyone used R&S CMU200 or Keysight 8960 and have recommendations/warnings for which to go with? I just need to be able to do GSM/GPRS test/measurement (no CDMA/WCDMA needed at all)
X-Scale has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Like it? Visit #hydrairc on EFNet]
<azonenberg> zkms: closest i've came was a r&s HMC8042 power supply which i like
<azonenberg> But that's a Hameg design that R&S acquired
<azonenberg> i do note that the R&S website says the CMU200 is discontinued
<zkms> I know, i'm planning on buying one secondhand; there's no way in hell I can buy new R&S equipment
<azonenberg> lol
<azonenberg> yes they arent cheap
<azonenberg> I got my PSUs new and they were about 1200 USD each
<azonenberg> And that was on sale :p
<azonenberg> But they're worth every cent imo
<zkms> CMW500 (which can do LTE) is like, many tens of thousands USD *used*
<azonenberg> Yeah high end test gear is not cheap
<azonenberg> My lecroy dso was about 5K new including options and the LA probe, and i got a really good price on it
<azonenberg> MSRP for the ws3034 + awg/mso/embedded options is somewhere north of 7k
<azonenberg> and thats a 350 MHz scope that i've already outgrown
<zkms> the nice thing is that because CMU200 and keysight/agilent 8960 can't do LTE, there's a bunch available on ebay because everyone's making LTE UEs now
<azonenberg> i mean i had outgrown it before i bought it, but it was all i could afford :p
<azonenberg> The lecroy ws510 i'm eyeing now is 12.9k msrp for the base model before otions
<azonenberg> options*
<azonenberg> for 1 GHz 10 Gsps on 4 channels
<azonenberg> Let's just say there is a reason i don't have one yet
<zkms> there's even a bunch of HP 8922M GSM test sets which are so old that they have CRTs >_>
<zkms> they dont even support gprs i think
m_w has quit [Ping timeout: 264 seconds]
Bike has quit [Quit: Lost terminal]
eduardo_ has joined ##openfpga
eduardo__ has quit [Ping timeout: 256 seconds]
<tnt> zkms: go with E4406 :)
<zkms> can that thing do base station emulation?
<tnt> zkms: Mmm, no, that can only do RF measurements. What kind of tests do you want to do ?
<zkms> all the tests i'll need to do to stumble into having a functional GSM baseband, really.
<tnt> I used the Racal 6103E quite a bit when working on osmocombb. I also know people that have used the CMU200 but for testing the BTS side. (and the CMU has lots of hw options so need to make sure you have the right cards).
<rqou> btw i've mentioned this before but if you have one of the european GSM bands, you can operate fully legally in the US under amateur radio rules
<rqou> thanks to a very tiny overlap of ~1 channel each on the uplink/downlink bands
<zkms> (also btw i'm making a baseband for the UE side of things, not a base station)
<tnt> zkms: yeah the racal is a MS tester (UE is a 3G term afair :p)
<zkms> yeah i noticed all the HW options for the CMU, it's shockingly complicated finding out what modules need to be in the box for me to do what i want
<zkms> there's also the software thing; idk if there's some godawful licence manager that runs on the PC inside those boxes >_<
<azonenberg> flexlm?
<azonenberg> everyone seems to use that
<tnt> zkms: The E4406 uses flexlm runnin on HP/UX. The Racal is something completely custom. I don't have a CMU200 but the other R&S box I have from that same era use something completely custom to R&S.
rqou has quit [Remote host closed the connection]
rqou has joined ##openfpga
<awygle> I wonder how hard it would be to make a license manager that doesn't completely suck
<awygle> I know that's sort of against the whole aesthetic, just curious about the technical side
<tnt> awygle: define "completely suck" ?
<rqou> i never hear too many complaints about steam
<awygle> steam is a good point
<azonenberg> awygle: well i've told other folks so i'll tell you :p
<azonenberg> I would *much* rather work on missile guidance or NSA offensive payloads etc
<azonenberg> Than develop DRM
<awygle> As for suck, "look for the Mac address of specifically eth0 no matter what your nic is named '
<awygle> Is a decent start
<rqou> nah that's great
<rqou> i just stick it in a container and set the mac address to whatever
<awygle> Everybody uses flexlm but they all have variants and all the variants are broken in their own special ways
<rqou> the "short sig" versions are the "best" :P
<awygle> rqou: I mean you can do that regardless
<zkms> can't tell if "GSM900-MS" option is for *testing* a GSM900 MS or for making the CMU200 *act like* a GSM900 MS to test a base-station
<tnt> The newer xilinx flexlm checks all interfaces the a matching mac, _but_ also checks that it's not a "virtual" one ( by checking sysfs ) _but_ also whitelists "bond" interfaces ... so now I have a bond0 interfaces with no slaves :p
<rqou> lolol
<rqou> imho a license manager on linux is 100% hopeless
<tnt> zkms: It's to test a MS.
<awygle> I did a bad job explaining myself. Know the audience.
<awygle> I don't care about making it secure. Fuck that.
<zkms> Ah! Superb.
<awygle> I meant make the *user experience *of a good faith user not awful
<whitequark> rqou: we have an LD_PRELOAD lib for that
<whitequark> azonenberg: not sure whether missile guidance or DRM is worse
<whitequark> one is a weapon for physical destruction, the other is for cultural
<awygle> I'm not surprised azonenberg puts missile below drm, but the nsa bit surprised me
<whitequark> I am not in principle opposed to NSA offensive payloads
<rqou> awygle: you mean no "aries.sys" or "oreans.sys"? :P :P
<whitequark> lemme rephrase
<zkms> mayb i'll just get a used CMU200 with some GSMwhatever-MS options that someone claims passes the relevant self-tests
<azonenberg> awygle: i almost took a job with raytheon doing offensive cyber
<rqou> zkms: are you in the US? EU?
<whitequark> so long as "national security" remains a thing, NSA offensive payloads are not inherently worse than, I dunno, assassinations of ex-nazis by Mossad or something like that
<zkms> i should also get one of those magic R&S-branded SIM cards as well
<azonenberg> For the same salary as I started with my current job
<zkms> rqou: US
<azonenberg> But I didnt like the DC area
<rqou> zkms: get the EU band one
<rqou> then you can operate in the ham band :P
<rqou> totally legally
<azonenberg> And I didnt want to risk "learning too much" and becoming unable to publish on e.g. silicon RE
<whitequark> NSA offensive payloads are not used indiscriminately and they probably aren't used much on e.g. activists (that's the domain of FBI)
<azonenberg> since i was aware of something classified that made my side work unpublishable
<azonenberg> whitequark: exactly, that was my point
<azonenberg> DRM serves no purpose other than to annoy people and make rich people richer
<whitequark> azonenberg: didn't think of you as a socialist before
<whitequark> ;P
<zkms> i kinda want to see if i can put the R&S SIM card in my iphone and see if i can make it connect to the CMU200
<azonenberg> whitequark: I'm fine with capitalism up to a point, but i want to do work that has a useful end goal
<rqou> (cc awygle) bh made me hate intellectual property :P
<whitequark> yeah yeah I understand
<azonenberg> rather than, say, stock trading where there is literally no product of any substance produced
<zkms> before trying to make a GSM baseband
<whitequark> HFT or any stock trading?
<azonenberg> Trading in general
<azonenberg> all you're doing is moving money around
<azonenberg> You're not actually making anything useful
<awygle> I am morally opposed to HFT but I'd do it for the money so I could leverage it usefully
<rqou> i mean, there was the original idea of spreading risk for huge endeavors
<whitequark> ^
<awygle> Well. Morally opposed might be strong. I mostly just find it icky
<azonenberg> investing in a company makes sense to me, but having the same fraction of the same company be worth more or less from day to day
<azonenberg> And profiting from this arbitrage
<azonenberg> seems like just gaming the system
<azonenberg> like, i understand how the incentives align such that it kinda happens
<awygle> I'm not opposed to markets but I think they're closing in on obsolete
<whitequark> there's lots of different markets though
<azonenberg> But building a system that literally moves money around and profits from doing so
<azonenberg> Without actually *producing* anything
<whitequark> e.g. ag futures markets are far from obsolete
<tnt> zkms: what do you plan to do your baseband with btw ?
<azonenberg> isn't interesting to me
<zkms> tnt: some FPGA, i havent decided yet
<whitequark> right, that makes sense
<azonenberg> awygle: re missile guidance, one of my planned projects in school (which never actually happened due to lack of time) was a 1:20 or so scale Paveway guidance package
<azonenberg> To be dropped from an RC aircraft onto a dollhouse riding the IR sidebands of a modulated green laser pointer
<rqou> azonenberg: ##opennuke when? :P
<zkms> moe
<azonenberg> I looked around quite a bit and as long as you did not have energetic components of any kind (propellants or warhead) on it
<azonenberg> i couldnt find any way it could be illegal
<tnt> zkms: ok, so purely sdr based, not starting from an existing bb ic.
<zkms> that's actually super adorable azonenberg
<zkms> tnt: correct
<awygle> whitequark: assuming I understand correctly what ag futures markets are, if I had unlimited resources I'd be dedicating my life to *making* them obsolete through automated production of food from base elements
<azonenberg> purely ballistic and terminally guided by passive fin motion
<whitequark> awygle: futures are a way to manage risk
<whitequark> you... can't design a way risk, per se
<whitequark> *away
<azonenberg> zkms: yeah and it wouldnt be hard either
<rqou> awygle: you should have taken geo130 :P (both a very depressing and "very berkeley" class)
<awygle> I am fairly ignorant in this area, I freely admit
<azonenberg> spartan6 in csg225 pacakge was the plan
<azonenberg> quad photodiode, moderately fast adc
<azonenberg> two stepper motors and drivers to move fins (opposite sides move together)
<awygle> rqou: I took "white people were dicks to immigrants 137ac"
<rqou> lol
<azonenberg> run a DSP bandpass filter to look for the 38 kHz or whatever modulation you use on the tracking beacon
<zkms> oh just multiple photodiodes
<azonenberg> then just steer toward whatever quadrant is brightest
<azonenberg> simple pid controller
<azonenberg> you can buy 4-quadrant photodiodes COTS
<rqou> awygle: i took "very similar, also learned about acre-feet and water 127ac"
<zkms> i thought you'd use an actual focal plane array or whatever
<whitequark> ##openmissiles
<azonenberg> Thats what i meant
<zkms> or would that not let you see the modualtion
<rqou> ##opennuke :P
<azonenberg> a 2x2 photodiode die
<zkms> modulation *
<azonenberg> The hardest part, honestly, would have been engineering the aerodynamics of the thing
<rqou> is mossad watching this channel yet? :P
<azonenberg> You want it to have a terminal velocity high enough that usefully small control surfaces work
<azonenberg> But low enough that the vehicle survives impact and can be flown again
<zkms> you can have it pop a parachute when near the ground
<azonenberg> no i wanted to fly right into the target at maybe 10m/s
<azonenberg> The seeker was to be shock-mounted inside the nose cone well back from the tip and probably potted in silicone
<rqou> azonenberg: and then sell this tech to north korea or an arab state? :P :P :P
<azonenberg> rqou: actually i put a lot of thought into how to make it difficult to weaponize
<azonenberg> I suspected i probably wouldn't be able to open source the design either for ITAR reasons
<whitequark> azonenberg: do it in israel
<azonenberg> it would certainly be legally safer not to
<rqou> lol whitequark
<zkms> speaking of ITAR-controlled stuff, how difficult is it to make a spread spectrum radar altimeter?
<rqou> definitely going to get mossad-ed that way
<whitequark> not if you're white
<whitequark> and not a nazi i guess
<azonenberg> zkms: no idea, but i do plan to get a 320x240 60fps thermal imager in ruggedized/weatherproof packaging in the not too distant future
<azonenberg> THAT is itar as hell
<azonenberg> last time i checked allowing a foreign national to even look through one, on us soil, is a federal felony
<rqou> um...
<rqou> how are you able to obtain one of these?
<azonenberg> rqou: By ponying up about 2.5 kUSD to FLIR Systems, or a tad more if i want the helmet mount for it
<azonenberg> They're sold openly, you just have to be a us citizen and promise not to take it out of the country
<rqou> i thought these are supposed to be mil/LE only?
<whitequark> flir is greedy
<rqou> lol
<azonenberg> Not sure on the exact sales policies, the one i am looking at is marketed to LE
<rqou> i guess that always explains everything
<azonenberg> But i can always show my "kitsap county dept of emergency management" badge to the sales guy
<rqou> lolol
<azonenberg> And tell him it's for on-duty use with a sar unit
<whitequark> they would totally sell it to north korea if they could
<azonenberg> Which is actually the reason i want it
<zkms> oh
<zkms> yeah that makes sense
<rqou> but you can't show it to whitequark :P
<azonenberg> I'm buying one with personal funds as soon as the house project is over
<azonenberg> And test-driving it on duty for a while, letting some other senior folks in the unit try it
<azonenberg> Then if we like it, put together a grant proposal and try to get one for every ground team
<whitequark> "Originally named Slaughter County, it was soon renamed."
<rqou> so azonenberg, when will #homecmos manage to make a microbolometer? :P
<azonenberg> rqou: go talk to szeloof
<azonenberg> he's ahead of me right now
<azonenberg> :p
<azonenberg> life happened to me
<rqou> azonenberg you need to millennial harder
m_t has joined ##openfpga
<awygle> Spread spectrum radar altimeter sounds fun
<azonenberg> rqou: (i plan to show the badge to the sales rep anyway and see if i can get a discount for nonprofit rescue use, i know they have special pricing for LE)
<zkms> tnt: i havent decided on the exact FPGA yet (or if i want to use some Zynq part) but for the RF side of things i want to go with AD9364
<awygle> merr
<rqou> azonenberg: why are you such a normie with a wife, house, and potential future dog and 1.84 children? :P
<rqou> get with the millennial program :P :P
<awygle> that's a good chip but it's really frustrating
<azonenberg> rqou: i assure you, the number of children i have will be a non-negative integer
<zkms> i'm so happy the GSM/LTE people don't make you pay through the nose for their standards, unlike RTCA DO-whatever standards
<rqou> why?!
<whitequark> "non-negative" means zero is an option
<zkms> awygle: not as frustrating as LMS6002D which has the benefit of having far less documentation than that AD part ;p
<rqou> everyone knows the way millennials are supposed to work is 3 roommates, 2 cats, a pile of dakis, and a mountain of student debt :P :P :P
<pie_> azonenberg, just try not to integer overflow
<azonenberg> rqou: as soon as i'm moved in and the roof is redone, paying down student loans is the next todo
<awygle> zkms: true, I just don't like analog's business practices
<azonenberg> pie_: i think my wife would kill me if i told her i wanted 128 kids
<azonenberg> :p
<awygle> all SDR chips are complex and thus frustrating
<awygle> azonenberg: you still have loans???
<azonenberg> awygle: about a new car worth, so not ridiculous but some
<awygle> wow, your financial priorities are clearly different than mine
<azonenberg> only from undergrad
<azonenberg> i deferred them during grad school
<azonenberg> Then moved out here
<awygle> which is fine of course I'm just surprised
<rqou> azonenberg is way too much of a normie
<azonenberg> awygle: It was a calculated analysis
<azonenberg> 4-6% (multiple loans with differnet rates) interest on student loans over many years isn't THAT much
<awygle> I am confident you make like twice my salary lol
<azonenberg> compare that to rent, which has an ROI of zero
<rqou> shoulda s/wife/dakis and a fursuit/ :P :P :P
<azonenberg> If i can move out of this rental even a month sooner
<whitequark> rqou: do you know how much fursuits cost
<awygle> Mmm not having the same argument about rent with you that I'm having with my parents lol
<whitequark> that is not a cheap hobby
<azonenberg> That saves me 2500
<rqou> lol i actually don't
<whitequark> rqou: lemme tell you it's better to buy lecroy scopes
<azonenberg> no matter how much earlier i pay down my student loans
<rqou> whitequark: O_o holy shit
<azonenberg> I wouldn't save 2500 on interest
<azonenberg> awygle: So the conclusion i came to was that i was best off taking any extra cash i'd otherwise have spent on paying down loans earlier and put it into the house fund
<azonenberg> paying the minimum payment on the student loans
<rqou> azonenberg: have you tried another millennial strategy called "living with your parents" :P
<azonenberg> Then once i got settled in the new house, paying down the student loans first (which have a higher interest rate than the mortgage)
<zkms> RTCA is hilarious; it'd be literally less expensive for me to *become a full member* for a year than it'd be for me to pay for even just *one* digital copy of a single standards document
<awygle> It is too late to engage in speculative financial analysis of somebody else's finances lol. Suffice to say I disagree but it fundamentally doesn't matter
<azonenberg> awygle: lol
<awygle> azonenberg: out of curiosity, do you have a policy on disclosing your salary?
<azonenberg> awygle: There's no official company policy i'm aware of
<azonenberg> I've told several people but dont brag about it pjublicly
<awygle> Well there'd better not be, that's illegal
<azonenberg> in WA?
<awygle> In USA
<azonenberg> oh?
<awygle> iiuc
<rqou> azonenberg: are you at "bay area $FANCY_SCHOOL" levels, or more than that?
<zkms> (and membership comes with free access to PDFs of all their standards)
<rqou> and yes, "bay area $FANCY_SCHOOL" is a more-or-less-similar range
<awygle> I have a policy to disclose mine to anyone who asks, but I haven't gotten over my pseudo-puritanical hangup about posting it on Twitter (or in a logged irc channel)
<awygle> rqou: uhhh not sure how you got that impression?
<rqou> i mean, people talk about it
<rqou> er sorry, let me rephrase
<rqou> the baseline offer is all in a similar range
<awygle> That's more believable, although you're assuming a particular path I think
<rqou> probably
<awygle> My first salary out of school was, in retrospect _insultingly_ loe
<awygle> *low
<rqou> yeah, i was thinking "among companies that obsess over people from some fancy schools"
<awygle> You should do better than I did :-P
<rqou> where "fancy schools" ~= berkeley, stanford, CMU, Cornell, MIT
<rqou> which honestly is pretty dumb gatekeeping
<rqou> but on the other hand i kinda get it
<awygle> Oh yeah definitely
<awygle> (to gatekeeping not getting it)
<awygle> My dad always talks about Purdue grads
<rqou> at least in the short term it probably is (or at least feels) easier to just hire people with very similar experiences as you
<awygle> Apparently they actually learn useful stuff :-P
<rqou> a lot of schools teach you useful stuff
<awygle> Purdue does coops and internships and things like that, and skews very practical
<awygle> Unlike cal which made me drop out and reapply to do a coop
<rqou> ah not like berkeley EE/ME grads that can barely touch physical objects at all :P
<rqou> awygle: wait you have to do that?
<awygle> I did yeah
<rqou> huh
<awygle> To take a gig during the fall semester
<awygle> I was pissed
<whitequark> awygle: what's a charge redistribution dac?
<awygle> whitequark: iirc it works kind of like a charge pump
<awygle> you charge up a bunch of caps and then dump them into an output cap proportional to the command word. Something like that.
<awygle> Let me refresh my memory...
<awygle> Oh you make the caps increase in size in a binary sequence, that's the trick
<azonenberg> interesting
<azonenberg> Thats cool
<azonenberg> And since it's ratiometric
<azonenberg> as long as capacitance per unit area is consistent across the die
<azonenberg> it's relatively immune to PTV variation
<whitequark> oooh
<azonenberg> There's probably tricks you can play with breaking the big caps up into several small ones too
<azonenberg> So that even if there is process variation, you can somewhat compensate
<awygle> so by increasing C and keeping V constant you vary Q according to the control word, then you dump the Q into an "LSB-sized" cap and generate V
<awygle> Along those lines anyway
<awygle> Not sure that last part is right
<azonenberg> it's not LSB sized
<azonenberg> it would have to be 2*MSB
<azonenberg> So you get a voltage from 0 to Vref
<azonenberg> All caps charged to V = output V
<azonenberg> All caps at 0 = output 0
<azonenberg> Biggest cap at V, all others at 0 = output V/2
<awygle> I think you charge to vref/2 but you're right, MSB not LSB
<rqou> uh, aren't mos caps pretty nonlinear? or can you fix that?
<azonenberg> rqou: they might be MIM caps?
<azonenberg> awygle: how do you charge to vref/2?
<azonenberg> charging to vref is easy, just connect it to vref directly
<rqou> resistive divider? :P
<azonenberg> eh, i guess but thats more components
<azonenberg> i dont see the benefit
<azonenberg> And once you have the caps at Vref/2 how do you generate a voltage up to Vref?
<rqou> oh right
<rqou> you can't "just" shove the charge over :P
<azonenberg> i mean you could always have a charge pump
<azonenberg> charge *two* caps to Vref/2 * code and then series-ify them
<azonenberg> but seems like way more complexity for no benefit
<azonenberg> unless there's some subtlety i am missing
<rqou> wait, even with your way, doesn't the output only approach the "proper" voltage asymptotically?
<awygle> no you're right. I'm getting confused because SAR ADCs do similar things
<awygle> (and because it's past my bedtime)
<azonenberg> rqou: Say you have a 4-bit dac, you have caps C, 2C, 4C, 8C
<azonenberg> then the output cap is 15C
<azonenberg> All discharged = 0Q into 15C is 0 * Vref
<azonenberg> All charged = 15Q into 15C is 1*Vref
<rqou> right
<azonenberg> Biggest cap charged, others discharged = 8Q into 15C is 0.53*Vref
<rqou> but dumping 15Q into 15C takes asymptotically long, doesn't it?
<azonenberg> That's true with any of these dacs afaik
<azonenberg> You'd presumably wait X number of time constants and have very low resistance
<rqou> hmm ok
<azonenberg> we're talking fF caps here
<azonenberg> it wont take long
<awygle> https://www.maximintegrated.com/en/app-notes/index.mvp/id/1080 this has a description that mostly.matches my hazy memory
<rqou> awygle why are you so familiar with ADCs/DACs?
<azonenberg> awygle: actually now that i think about it we're both wrong
<azonenberg> the charge is split between the binary series caps and the output cap
<azonenberg> So you end up going from 0 to Vref/2 on the *output*(
<azonenberg> but the binary caps are charged to full vref
<azonenberg> All caps charged = 15Q into 30C since you have 15C of output cap and 15C of dac cap
<azonenberg> Which is Vref/2
<azonenberg> So to make this work like a "normal" dac you have to either double vref, or have a 2:1 charge pump on the output (two 7.5C caps in parallel which are then put in series)
<awygle> Check out the games they play with switching and the comparator in that app note
<awygle> Figure 3 and surrounding text
<awygle> rqou: based on this convo I obviously *don't* know that much lol. Or at least don't have it ready to mind.
<rqou> huh i guess i'm just even less familiar
<awygle> But I learned this mostly at Planetary. Lots of sensor conditioning and actuator work.
<awygle> Also some RF stuff
<azonenberg> Yeah i've learned analog grudgingly and slowly
<awygle> But I couldn't design a sigma delta without some serious research
<azonenberg> As i find it necessary to make my clean, pure digital stuff interact with the outside world and/or debug it
<azonenberg> I know how a flash adc works, those are simple enough
<azonenberg> And i built a 1.5-bit 500 Msps flash ADC :D
<rqou> oh yeah azonenberg what happened to your TDR?
<azonenberg> rqou: i havent touched it since i moved
<azonenberg> wasnt a priority
<azonenberg> and i got PHYs with built in TDRs which were good enough for debugging cable plant issues
<azonenberg> awygle: I've actually thought about trying to make a higher end ADC out of an FPGA and passives just for lulz
<awygle> okay for real I'm two hours past estimate, goodnight all
<azonenberg> See if i can get something nice enough to do equalization on 100base-TX
<azonenberg> The other useful thing would be to try to make an fpga-and-passives dac (probably simple PWM based) to do adaptive thresholding and compensate for loss on the incoming signal
<azonenberg> Basically discharge the cap, then charge through a resistor for a defined amount of time
<azonenberg> Rather than having an external mux, since the rules of the game say FPGA+passives only
<azonenberg> You'd have two different input buffers
<azonenberg> one fed by each of the two DACs
<azonenberg> And whenever the dac was updating one you'd be using the other as your actual vref
bitd has joined ##openfpga
m_w has joined ##openfpga
digshadow has joined ##openfpga
user10032 has joined ##openfpga
Bike has joined ##openfpga
<openfpga-github> [libfx2] whitequark pushed 1 new commit to master: https://github.com/whitequark/libfx2/commit/07069364e1ade5354e803d3cfab3f8508dee8481
<openfpga-github> libfx2/master 0706936 whitequark: Build device library for every sdcc code model....
<openfpga-github> [libfx2] whitequark created travis (+1 new commit): https://github.com/whitequark/libfx2/commit/6269cc641492
<openfpga-github> libfx2/travis 6269cc6 whitequark: Set up Travis CI.
<openfpga-github> [libfx2] whitequark force-pushed travis from 6269cc6 to 2494e21: https://github.com/whitequark/libfx2/commits/travis
<openfpga-github> libfx2/travis 2494e21 whitequark: Set up Travis CI.
<openfpga-github> [libfx2] whitequark force-pushed travis from 2494e21 to b18ef3c: https://github.com/whitequark/libfx2/commits/travis
<openfpga-github> libfx2/travis b18ef3c whitequark: Set up Travis CI.
<openfpga-github> [libfx2] whitequark force-pushed travis from b18ef3c to b6a7d02: https://github.com/whitequark/libfx2/commits/travis
<openfpga-github> libfx2/travis b6a7d02 whitequark: Set up Travis CI.
<openfpga-github> [libfx2] whitequark deleted travis at b6a7d02: https://github.com/whitequark/libfx2/commit/b6a7d02
user10032 has quit [Quit: Leaving]
m_t has quit [Quit: Leaving]
<openfpga-github> [libfx2] whitequark pushed 2 new commits to master: https://github.com/whitequark/libfx2/compare/b6a7d023f365...f955d3e2668d
<openfpga-github> libfx2/master f955d3e whitequark: Make sure usb_strings do not end up initialized at runtime.
<openfpga-github> libfx2/master 56c55d3 whitequark: Define _XPAGE register to make non-small memory models work....
<openfpga-github> [libfx2] whitequark pushed 2 new commits to master: https://github.com/whitequark/libfx2/compare/f955d3e2668d...8448a90c612b
<openfpga-github> libfx2/master 8448a90 whitequark: Add medium, large and huge memory model support to xmemcpy....
<openfpga-github> libfx2/master 2a2413c whitequark: Add reenumerate action to fx2tool.
<whitequark> wtf 8051 memory models are a pain in the ass
<whitequark> (who could have predicted this)
<jn__> turns out having five architecturally defined address spaces sucks
<openfpga-github> [libfx2] whitequark pushed 1 new commit to master: https://github.com/whitequark/libfx2/commit/958dcea540741cd04ae1976ecc3ad94985d6a1e0
<openfpga-github> libfx2/master 958dcea whitequark: Explicitly use __code memory for USB descriptors....
<openfpga-github> [Glasgow] whitequark pushed 2 new commits to master: https://github.com/whitequark/Glasgow/compare/37c1f1e4a653...ce7bb3868479
<openfpga-github> Glasgow/master ce7bb38 whitequark: Update libfx2.
<openfpga-github> Glasgow/master 747b20f whitequark: Add GlasgowBase.{get_verilog,get_bitstream}() shortcuts.
<openfpga-github> [Glasgow] awygle closed issue #12: ON Semi FXMA108BQX QFN-20 https://github.com/whitequark/Glasgow/issues/12
<awygle> whitequark: for glasgow A->B do you want to preserve the rev A design files in a folder in the repo, tag the repo, or just preserve the fab outputs?
<awygle> (or some subset thereof)
m_t has joined ##openfpga
<whitequark> awygle: tag the repo + preserve fab outputs
<whitequark> kicad files should just always represent latest work
<awygle> okay cool
<whitequark> awygle: wtf
<whitequark> this ADC is absurdly precise
<whitequark> it agrees with my scope to within like... 25 mV
<whitequark> which is to say 1 LSB
<awygle> Sweet lol
<whitequark> we pretty much have two analog channels
<whitequark> not very high MSPS and not very high resolution but quite decent all considered
<awygle> That's a good point, they can be general if desired
<awygle> To some extent
<whitequark> they'll need to be polled
<whitequark> probably via EP1IN
<whitequark> and an interrupt ep
<openfpga-github> [Glasgow] awygle tagged rev-a at a5c8e27: https://github.com/whitequark/Glasgow/commits/rev-a
pie__ has joined ##openfpga
pie_ has quit [Ping timeout: 248 seconds]
<07EABCKAC> [Glasgow] awygle pushed 1 new commit to master: https://github.com/whitequark/Glasgow/commit/aad7475c08218a93d97509c091d3b30975f508e7
<07EABCKAC> Glasgow/master aad7475 awygle: Move R12-R16 to top side....
<7GHAARKR7> [Glasgow] awygle closed issue #19: Move R12-R16 to top side https://github.com/whitequark/Glasgow/issues/19
<awygle> ... oh hey that's magic. cool.
<whitequark> awygle: *stare* hardware/boards/glasgow/glasgow.kicad_pcb 100644 → 100755
<awygle> ... goddammit. sorry.
<whitequark> i'm kind of curious how you manage to make git do that
<awygle> Exist On Windows
<whitequark> yeah but
<awygle> if i force-push to fix this will it mess you up?
<whitequark> no it'll be fine
<awygle> mk
<openfpga-github> [libfx2] whitequark pushed 1 new commit to master: https://github.com/whitequark/libfx2/commit/10b7eb64b4c32668e12b2cef7ffbf57e80679e8c
<openfpga-github> libfx2/master 10b7eb6 whitequark: Annotate small helper functions with #pragma callee_saves.
<openfpga-github> [Glasgow] awygle force-pushed master from aad7475 to 455e703: https://github.com/whitequark/Glasgow/commits/master
<openfpga-github> Glasgow/master 455e703 awygle: Move R12-R16 to top side....
<awygle> whitequark: what grid did you use when routing this, do you recall?
<whitequark> awygle: I do
<whitequark> I'm using a 0.25mm grid
<awygle> ah okay, cool
<whitequark> with the exception of inch parts (not including passives), for which I change the grid to 0.127 and place the origin at the pin 1 of one of the pinheaders
<whitequark> I think only the pinheaders and the USB connector are properly inch?
<whitequark> ah SOICs too
<whitequark> and MSOPs
<whitequark> but those are placed on mm grid
<awygle> whitequark: hmm the USB connector will violate that keepout around the board edge if it's close enough to overlap. i don't see a board edge keepout on the dirtypcb specs, was that just a good conservative starting point?
<whitequark> awygle: it's not from dirtypcb spec
<whitequark> it's from the uhh
digshadow has quit [Ping timeout: 260 seconds]
<whitequark> the case standard basically
<whitequark> dangerousprototypes.com/docs/Sick_of_Beige_standard_PCB_sizes_v1.0
<whitequark> it doesn't matter that the connector violates keepout because there'll be a cutout for it
<awygle> okay cool
<whitequark> awygle: actually, hm
<whitequark> maybe we should just add a PCB cutout for the connector flange?
<whitequark> seems nicer if it's flush
<awygle> whitequark: the bus blaster definitely has its usb connector flush with the edge.
<whitequark> awygle: sure good enough for us then
<awygle> k :)
<whitequark> wohoo, first actual useful use of the FPGA
<openfpga-github> [Glasgow] whitequark pushed 1 new commit to master: https://github.com/whitequark/Glasgow/commit/9d23368cf09c11886781ac461cc6d3e30d5d0173
<openfpga-github> Glasgow/master 9d23368 whitequark: Add a test command to expose I2C bus on port A.
<openfpga-github> [Glasgow] awygle pushed 1 new commit to master: https://github.com/whitequark/Glasgow/commit/0a20beb9893b77e79e3af9d8b1409c0211206520
<openfpga-github> Glasgow/master 0a20beb awygle: Move J1 to be flush with the board outline....
digshadow has joined ##openfpga
<awygle> whitequark: are the yellow and red LEDs also too bright?
<whitequark> awygle: no, they have normal brightness
<awygle> huh, weird given that they seem to be specced at the same mcd
<whitequark> yep
m_t has quit [Quit: Leaving]
<awygle> whitequark: gonna drop it to 0.31 mA or so so i can reuse the 2k2 resistors we're using everywhere else. that's more than 2x but simplifies BOM. do you concur?
<whitequark> let's do this
<awygle> sorry, do what?
<qu1j0t3> what you proposed, i think.
<whitequark> awygle: yes
<whitequark> use the 2k2 resistors
<awygle> okay cool, just checking
* whitequark hasn't slept in ages and has a real long flight soon
<pie__> whitequark, get some earplugs, sleep on flight :D
<awygle> oof, that's rough
<whitequark> can't stand earplugs
<whitequark> gross
<pie__> oh :(
<openfpga-github> [Glasgow] awygle closed issue #22: Reduce green LED intensity by two times or so https://github.com/whitequark/Glasgow/issues/22
<pie__> id probably have gone crazy in the dorms without them lol
<pie__> second best thing since sliced bread
<awygle> i hate earplugs and facemasks but i should really try to get used to them
<pie__> i dont really like facemasks either though
<awygle> light is a huge problem for me, sleep-wise
<pie__> if anything i probably wrap a scarf around my eyes xD
<pie__> yeah me too
<pie__> it probably looks really dumb though xD
<awygle> blackout curtains help but for some reason there aren't any that, like, 100% work
<awygle> need some that seal around the edges of the window...
<pie__> then again, ive been much more tolerant to light after i started giving myself sleep deprivation :I
<whitequark> i can sleep in like
<whitequark> any condition
<whitequark> except if someone is perforating walls directly adjacent to my apartment
<whitequark> which happens distressingly often
<awygle> that is distressing, yes
<awygle> i have a really hard time falling asleep most of the time, and envy the sleep-anywhere skill in others
<pie__> id figure whitequark was the one doing the perforating :P
<pie__> azonenberg you need to let whitequark sleep
<awygle> one of the best things about this apartment building is that as far as i can tell no one lives on either side of me or above or below me. i've never heard my neighbors once, or gotten complaints when i'm loud late at night
<awygle> pie__: you missed your target i think
<qu1j0t3> awygle: maybe it's just solid af
<awygle> qu1j0t3: could be, although it's america so it seems unlikely :p
<qu1j0t3> awygle: mine is built in 1963, with actual masonry walls (!!!!) and only the most violent events upstairs can be heard in mine.
<qu1j0t3> awygle: indeed, although mid century should still be solid.
<awygle> this building is coming up on 3 years old
<qu1j0t3> ah.
<qu1j0t3> well then. basically tyvek wrapped cardboard. i'm sorry.
<qu1j0t3> at least you don't own it!
<qu1j0t3> (and you must have extremely quiet neighbours, yeah)
<openfpga-github> [Glasgow] awygle closed issue #20: Y1 footprint is way too big https://github.com/whitequark/Glasgow/issues/20
<openfpga-github> [Glasgow] awygle closed issue #23: Crystal pinout is inverted https://github.com/whitequark/Glasgow/issues/23
<openfpga-github> [Glasgow] awygle closed issue #31: ENVA/ENVB should have pulldowns, not pullups https://github.com/whitequark/Glasgow/issues/31
bitd has quit [Quit: Leaving]
<whitequark> awygle: niiice thanks
* whitequark is struggling with interrupts in fx2lp
<openfpga-github> [Glasgow] awygle commented on issue #34: I'm not sold on this change yet, I'd like to discuss.... https://github.com/whitequark/Glasgow/issues/34#issuecomment-386839174
* awygle should really learn how these irc logging bots work someday...
<whitequark> awygle: so that fuse will take ~1s to trip at 1A fault current
<whitequark> that's kind of absurd
<whitequark> we're better off with no fuse at all
<awygle> yup. PPTCs are not great.
<awygle> an alternative is a fuse holder. they're bigger and more expensive but they'd allow us to replace the fuse if it pops.
<openfpga-github> [Glasgow] whitequark commented on issue #34: This fuse will take ~1s to trip at 1A fault current. Seems completely pointless.... https://github.com/whitequark/Glasgow/issues/34#issuecomment-386839476
<whitequark> ew no
<whitequark> expensive too
<zkms> there's solid-state load switches that can do current limiting; could that be useful as a fuse substitute in this application?
<whitequark> hm
<whitequark> cost?
<openfpga-github> [Glasgow] awygle pushed 1 new commit to master: https://github.com/whitequark/Glasgow/commit/e9ab696666f9c8ad4d5d9b500b32ad25786dd52c
<openfpga-github> Glasgow/master e9ab696 awygle: Increment PCB revision to B.
<zkms> what kind of voltage and trip current do you want
<whitequark> 5V and 500mA
<zkms> TPS22902 is 0.56 USD for quantity 1
<zkms> oh wait no that one doesnt do current limiting i think
<zkms> sorry >_<
<whitequark> awygle: aha
<whitequark> that is much nicer
<whitequark> "For the OUT pin on VBUS, USB standard requires a minimum of
<whitequark> 120 µF; typically a 150 µF capacitor is used."
<whitequark> oh lol
<whitequark> we aren't compliant
<rqou> afaik only for a non-otg host?
<awygle> i think that's on the host side yeah
<whitequark> ohh
<awygle> device side is <10 uF
<zkms> TI has plenty of load switches that do current limiting but idk how to choose which one >_<
<awygle> the only one cheaper than the one i linked has a 1A current limit
<awygle> (from TI, no idea about others)
<rqou> guess what. every trash/recycling bin at my apartment is currently at 110% capacity
<rqou> because when it's dead week everybody procrastinates on studying by cleaning their rooms
<rqou> (including me :P )
<rqou> city planning for berkeley must be a lot of "fun" since you've got both a huge number of college students _and_ a huge number of nimbys
<zkms> huh, rohm makes these load switches too
<whitequark> awygle: that one looks nice too
<awygle> half the price, doesn't do ESD protection, more obnoxious package :p
<zkms> also look at if it needs to be prodded to reset after it trips or if it tries to reset itself automatically
<awygle> hm we don't have any ESD protection on the USB interface do we? i'm not seeing it
<whitequark> nope
<awygle> in that case i think we should use the TI part
* whitequark nods
<rqou> oh idk which part you're using but do note that some of the TI load switches don't block reverse current
<rqou> guess how i found that out :P
<awygle> rqou: been there, but we're not structurally capable of providing power upstream
<rqou> wait this isn't an otg device?
<awygle> no, glasgow is pure device
<rqou> the comments about 150 uF confused me
<openfpga-github> [Glasgow] awygle commented on issue #34: Per IRC discussion, will use http://www.ti.com/lit/ds/symlink/tpd3s014.pdf instead. https://github.com/whitequark/Glasgow/issues/34#issuecomment-386840986
<rqou> wait this part doesn't latch on faults
<rqou> it only switches to constant current
<zkms> yeah you need to be sure that the behavior on overcurrent and also how it resets matches what you need for your application
<whitequark> ok wtf
<whitequark> I configure an interrupt, trigger it and.... the 8051 core crashes
<rqou> lol
<awygle> ahhh okay i was confused here. we're overspecc'd on the TPS731's now.
<awygle> because when we originally planned them we were talking about running the FPGA I/O on one
<whitequark> well, they are still good for providing power to target
<awygle> so this note: "We need a fuse that will blow if you short the 3V3 supply to ground, but also will sustain short-circuit current of both LDOs indefinitely." is not correct (and this is why a 500 mA fuse blew when you shorted Vio)
<rqou> wait glasgow has a fuse?
<rqou> wow, fancy
<whitequark> lol
<whitequark> awygle: elaborate?
<whitequark> TPS731s provide too much current?
<awygle> whitequark: you shorted Vio, and blew the fuse. that means 1) the non-vio parts are drawing at least 350 mA and 2) we're not actually tolerant of output shorts (like we expected to be when we picked the TPS731 in the first place)
<awygle> well, i guess possibly there was a current surge which blew the fuse.
<whitequark> well yeah, of course it isn't working as expected
<awygle> but 300 mA total for the two output rails probably doesn't leave enough to run the non-i/o sections
<awygle> if we switch to, for example, the TPS722 with a current limit of 50 mA (for an additional 26 cents), we (may) regain that property
<whitequark> hmm
<awygle> there's a cost though because we can't share our current evenly. if we have 100 mA of headroom, we can provide ~70 mA to a DUT from a single port if the other is unused. with this split it'd be ~15 mA.
<whitequark> do note that my current estimates are way on the high side
<whitequark> this really should be measured properly
<awygle> so if we don't change regulators we'll lean on the current limit switch in an overcurrent case
<awygle> agreed, measurements are key here
<awygle> which probably requires a semi-complete firmware gateware. so put a pin in this discussion until rev C, ish.
<whitequark> yep
GenTooMan has joined ##openfpga