ChanServ changed the topic of #glasgow to: glasgow interface explorer · code https://github.com/GlasgowEmbedded/glasgow · logs https://freenode.irclog.whitequark.org/glasgow · discord https://1bitsquared.com/pages/chat · production https://www.crowdsupply.com/1bitsquared/glasgow · no ETAs at the moment
futarisIRCcloud has joined #glasgow
samlittlewood has quit [Ping timeout: 256 seconds]
samlittlewood has joined #glasgow
electronic_eel_ has joined #glasgow
electronic_eel has quit [Ping timeout: 265 seconds]
<_whitenotifier-f> [glasgow] esden commented on pull request #196: WIP revC2 - https://git.io/JTreN
PyroPeter_ has joined #glasgow
PyroPeter has quit [Ping timeout: 260 seconds]
PyroPeter_ is now known as PyroPeter
cr1901_modern has left #glasgow [#glasgow]
_whitelogger has joined #glasgow
electronic_eel_ is now known as electronic_eel
<_whitenotifier-f> [glasgow] whitequark commented on pull request #196: WIP revC2 - https://git.io/JTrwA
ali-as has quit [Remote host closed the connection]
ali-as has joined #glasgow
ali-as has quit [Ping timeout: 260 seconds]
ali_as has joined #glasgow
<d1b2> <Attie> I've been having a look through schematic changes... couple of comments / queries
<d1b2> <Attie> What's the reasoning behind R6 / R50? (and the equiv in port B) - is it just to improve the ability to tweak / tune?
<d1b2> <Attie> may be worth adding a note that D14 (and it's pair) are "manually calibrated" - as per D1/D2/D3 ?
<whitequark> hey, i just discovered that wasmtime 0.20.0 allows caching of serialized machine code
<whitequark> this means that yowasp cold startup time can get *way* lower
<whitequark> er, warm startup time
attila has joined #glasgow
<whitequark> hrm
<whitequark> well it gets about 2x lower
<whitequark> 2s->1s
<whitequark> idk if that justifies the complexity, probably not?
<whitequark> I guess what *does* justify it is being able to show a message when it's being translated
Getorix_ has quit [Ping timeout: 260 seconds]
Getorix has joined #glasgow
<whitequark> okay, 40 minutes later we'll learn if it works ;___; https://github.com/YoWASP/yosys/runs/1305038023
<whitequark> (other than locally on my machine I mean)
<d1b2> <Attie> am i missing something?... where is U30.G4 in the schematic? (tied to VIO_AUX)
<d1b2> <Attie> it doesn't appear to be a change from C1 -> C2, but I can't see it
thasti has quit [Remote host closed the connection]
thasti has joined #glasgow
samlittlewood has quit [Ping timeout: 260 seconds]
samlittlewood has joined #glasgow
samlittlewood_ has joined #glasgow
samlittlewood has quit [Ping timeout: 264 seconds]
samlittlewood_ is now known as samlittlewood
<electronic_eel> Attie: the R6 / R50 footprints are there to allow the user to bypass or tweak the dropper resistors. this might be needed if for some application the drop of the ldo and the resistors combined is too high. but when you do this, the ldo could become unstable under overload conditions, so it is just for users that know what they are doing. but the empty footprints cost nothing, so they were added to allow for some easier hacking if wanted/needed
<d1b2> <Attie> @electronic_eel yep, i thought so, thanks
samlittlewood has quit [Ping timeout: 240 seconds]
samlittlewood_ has joined #glasgow
<electronic_eel> Attie: re G4 on the ice40: i just looked up the pinout sheet from lattice. it is vccio_3 in the BG121 package we are using
<electronic_eel> vccio_3 is for the lvds port, so it is tied to vio_aux
<d1b2> <Attie> i suspected something like that - but it's completely missing from the schematic?
<electronic_eel> it is probably hidden in the schematics, as it is always the same signal as the other pins for vccio_3. the schematics just show E4 for it
<d1b2> <Attie> oh, hmm...
<electronic_eel> you can probably enable show hidden signals and then you'll see it
<d1b2> <Attie> yes, okay... ew (that's a grey G4 on top of the E4)
<electronic_eel> or go into the symbol editor and look at the details
<electronic_eel> yeah, that is what i meant
<d1b2> <Attie> not a fan of that tbh, but oh well
<electronic_eel> it is hidden to reduce cluttering the schematics with stuff that doesn't really matter, since you must always connect these to the same rail
<d1b2> <Attie> yeah, i appreciate that, but i'm still not a fan - two pins on the top vs one?
<electronic_eel> just look at the pinout table, there are tons of power pins that go to the same rail. if you always had these shown in the schematics, the schematics would be full of them, and take the view away from the interesting stuff
<d1b2> <Attie> granted
<d1b2> <Attie> happy to put that down as a "you vs me" / personal preference thing
<d1b2> <Attie> ^ this is the bulk of them
<electronic_eel> here with the ice40 you could get away with showing them. but consider a bigger fpga with 700 something pins. so the kicad lib maintainers decided to do it that way, and they used the same principle for all fpgas
<d1b2> <TiltMeSenpai> could you throw a pin without a pin number as the "visible" one, and have all the pins with actual pin numbers hidden under it?
<d1b2> <Attie> interesting (i've not really used KiCAD properly before looking at Glasgow - gave it a good chance ~3-4 years ago)
<d1b2> <Attie> i'd hope for some kind of marker - "there are more pins here" or similar, but nvm
<d1b2> <TiltMeSenpai> I can see how having a pin number, then having even more hidden pins under it is kinda ehhh
<electronic_eel> TiltMeSenpai: yeah, it would be better to not show a pin no at all in this case. let's hope the kicad devs improve this with the schematic editor rewrite for version 6
<d1b2> <Attie> i'm more used to a full page dedicated to powering a part, then other pages dealing with RAM, and other interfaces, etc...
<d1b2> <Attie> - one of my style comments would be, we have ~infinte space, why is this so squished?... imo it can make things a little tricky to follow
<d1b2> <Attie> e.g:
<electronic_eel> hmm, but you have to draw all these gnd connections when you use the part. that costs time and takes schematics space. and i don't really see a benefit in it, since in 99.9% you want to connect all these pins to the same rail
<d1b2> <Attie> I've had a fairly good rummage through, and (aside from stylistic comments, which I'll keep to myself from now unless queried), my only real comment would be the slots in the pours. not likely a real issue for this layout though.
<d1b2> <Attie> @electronic_eel - yeah, i can see that side too
<d1b2> <Attie> ... otherwise, looks good! well done 🙂
<electronic_eel> re slots: yeah, there are some that could be optimized away a bit. the ones you were showing, and also a bigger one in the 3v3 layer, where the right side is cut by the 5v trace
uovo has quit [Ping timeout: 256 seconds]
<electronic_eel> but i think glasgow is not really high speed enough that this will become an issue
<electronic_eel> but thanks for taking a good look at the schematics and board!
<whitequark> ok it will never finish on dumbo-2
<whitequark> do i know anyone here with a windows machine and 64-bit python?
<whitequark> a bare metal windows machine that is, not a vm
samlittlewood_ has quit [Ping timeout: 260 seconds]
samlittlewood has joined #glasgow
cr1901_modern has joined #glasgow
<Lofty> whitequark: I have a windows machine and can drop Python on it
egg has joined #glasgow
<Lofty> Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
<d1b2> <Attie> @whitequark I can do python on windows too of you need a second
<whitequark> Lofty: okay great
<whitequark> do this:
<whitequark> PS> pip install yowasp-yosys
<whitequark> PS> Measure-Command {yowasp-yosys -V}
<whitequark> OA
<whitequark> PS> Measure-Command {yowasp-yosys -V} # the second time
<whitequark> this will establish the baseline for the currently released (wasmtime-based) cache
<whitequark> then, do this:
<whitequark> PS> pip install wasmtime==0.20.0
<whitequark> PS> pip install -i https://test.pypi.org/simple/ yowasp-yosys
<whitequark> PS> Measure-Command {yowasp-yosys -V} # twice
<whitequark> this will establish the performance of the new cache
<whitequark> i'm interested in whether the warm startup latency became lower on bare metal or not
<Lofty> My Python is sparkling new and things are not set up properly :P
<whitequark> wait, what?
<Lofty> There's no pip
<whitequark> ohhhh
<Lofty> Well, you have to `py -m pip`
<whitequark> that's cursed
<whitequark> oh
<Lofty> And then it doesn't go into the system path
<whitequark> you got the windows store one right
<Lofty> No, the python.org executable installer
<whitequark> huh
<d1b2> <TiltMeSenpai> oh boy, the windows store one doesn't look like it sets up paths right :/
<d1b2> <TiltMeSenpai> yowasp-yosys does a command not found thing after installing
<Lofty> Yeah, same for the py.org installer
<Lofty> So, yowasp-yosys has been installed ~somewhere~ and I don't know where
<Lofty> Ah, found it
<d1b2> <TiltMeSenpai> wait, what? by default, it looks like the windows store install sticks itself in a hidden folder that you can't access by default, even as admin
<Lofty> TiltMeSenpair: %LOCALAPPDATA%\Programs\Python\Python39\Scripts needs to be in your system path
<d1b2> <TiltMeSenpai> that's... very cursed...
<d1b2> <TiltMeSenpai> unless you're windows store, in which case %LOCALAPPDATA%\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0, which is obvious and intuitive
<Lofty> The windows store version is in I think %LOCALAPPDATA%\Packages\
<Lofty> Okay, fair
<Lofty> PS> Measure-Command {yowasp-yosys -V} <--- TotalMilliseconds : 89444.9671
<Lofty> PS> Measure-Command {yowasp-yosys -V} # the second time <--- TotalMilliseconds : 3378.854
<Lofty> (that's wasmtime==0.19.0)
<Lofty> PS> Measure-Command {yowasp-yosys -V} <--- TotalMilliseconds : 133331.4557
<Lofty> PS> Measure-Command {yowasp-yosys -V} # the second time <--- TotalMilliseconds : 1799.7622
<Lofty> whitequark: ^
<whitequark> Lofty: wonderful, thank you
<whitequark> this is exactly the result i hoped for
<whitequark> pushing to prod now
<Lofty> ^.^
whitequark[m] has left #glasgow ["User left"]
whitequark[m] has joined #glasgow
whitequark[m] has left #glasgow ["User left"]
whitequark[m] has joined #glasgow
<whitequark> basically what's left for good windows support is hooking up yowasp and then doing the awful thing with the endpoints
whitequark[m] has left #glasgow ["User left"]
whitequark[m] has joined #glasgow
Stormwind_mobile has quit [Ping timeout: 240 seconds]
Stormwind_mobile has joined #glasgow
bvernoux has joined #glasgow
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JToC0
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark 9e40504 - applet.interface.sbw_probe: version→jtag_id. NFC
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JToWK
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark 1f1cc9e - applet.interface.sbw_probe: convert to nMigen.
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark pushed 2 commits to wip-applet.debug.msp430 [+3/-0/±3] https://git.io/JToWD
<_whitenotifier-f> [GlasgowEmbedded/glasgow] smunaut e80f5df - database.ti.msp430: Initial import of device list from slau320ag
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark cb5ad42 - applet.debug.msp430.sbw: new applet.
Ix4r has joined #glasgow
Ix4r has quit [Client Quit]
puck has joined #glasgow
<whitequark> tnt: hey, do you happen to have your wip msp430 code anywhere?
<whitequark> seems like you never pushed it into a branch...
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark pushed 1 commit to master [+2/-0/±0] https://git.io/JToRt
<_whitenotifier-f> [GlasgowEmbedded/glasgow] smunaut 7ad0fcd - database.ti.msp430: Initial import of device list from slau320ag
<whitequark> cr1901_modern: I: g.applet.debug.msp430: MSP430: attached to target G2xx3 (device ID 0x2553, core 430)
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark pushed 1 commit to wip-applet.debug.msp430 [+1/-0/±3] https://git.io/JToRW
<_whitenotifier-f> [GlasgowEmbedded/glasgow] whitequark 42cf112 - applet.debug.msp430.sbw: new applet.
<cr1901_modern> nice :o
<whitequark> right now i have target_read_memory, target_write_memory and... that's it
attila has quit [Remote host closed the connection]
<cr1901_modern> I have everything set up, now I'm trying to read the driver src and mspdebug to figure out where everything lives. I found the register defs of the EEM tnt mentioned here: https://github.com/dlbeer/mspdebug/issues/89#issuecomment-534885216 >>
<cr1901_modern> But from the _quickest_ of skims, EEM's not necessary for flash programming
<tnt> whitequark: my code ? it's yours ... I haven't writtent anything, only the device list/db converted from some data file.
<whitequark> tnt: weren't you saying that you could not get something to work?..
<whitequark> like, you translated some code from ti msp430 example code and it did not do what it should
<tnt> Oh ... right, that rings a bell now.
<tnt> Lemme have a look at my local tree.
<tnt> I'm not really sure in what state I left it, I know I could never get it to do anything useful (on a FR2433 chip)
<whitequark> tnt: thx, that will come in handy!
<cr1901_modern> According to the JTAG manual... SBW requires some flash writing code to be sent to the chip (presumably in RAM?). Is that stored on the FET, and will a user be expected to provide such an image for Glasgow?
samlittlewood has quit [Ping timeout: 260 seconds]
samlittlewood has joined #glasgow
<whitequark> cr1901_modern: that should be built into the applet
<whitequark> it's the same thing you do with MIPS, STM32, ...
<cr1901_modern> ahhh
<whitequark> actually i wonder if you really need the code
<whitequark> but we can test that