whitequark[cis] changed the topic of #glasgow to: https://glasgow-embedded.org · digital interface explorer · https://www.crowdsupply.com/1bitsquared/glasgow · code https://github.com/GlasgowEmbedded/glasgow · logs https://libera.catirclogs.org/glasgow · matrix #glasgow-interface-explorer:matrix.org · discord https://1bitsquared.com/pages/chat
_whitelogger has joined #glasgow
Emantor has quit [Quit: ZNC - http://znc.in]
Emantor has joined #glasgow
redstarcomrade has joined #glasgow
redstarcomrade has quit [Read error: Connection reset by peer]
smkz has quit [Quit: smkz]
smkz has joined #glasgow
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
redstarcomrade has quit [Read error: Connection reset by peer]
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #glasgow
mobius has quit [Ping timeout: 245 seconds]
mobius has joined #glasgow
FFY00_ has quit [Read error: Connection reset by peer]
FFY00 has joined #glasgow
FFY00 has quit [Remote host closed the connection]
FFY00 has joined #glasgow
Eli2 has joined #glasgow
Eli2| has quit [Ping timeout: 272 seconds]
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
<galibert[m]> Catherine: available?
<whitequark[cis]1> yes?
<galibert[m]> I am looking at gateware/i2c.py
<galibert[m]> I assume you want to converted to components
<galibert[m]> s/to/it/
<galibert[m]> But I'm not sure what you'd like the signatures to look like
<galibert[m]> (locally, i2c-initiator by itself works as V2 afaict)
<whitequark[cis]1> I want to rewrite it some later time, the existing gateware is fine for the time being
<galibert[m]> Ok then
<galibert[m]> I'll go on poking at the inheritance then
<whitequark[cis]1> what i did with the SPI controller is to make an exact copy of the old applet, unlisted in `glasgow run`
<galibert[m]> no sure it's needed honestly, the conversion seems to be sane
<whitequark[cis]1> well, it's a way to get it merged faster, since i do want things to be tested
<whitequark[cis]1> (for at least some of the applets, adding HIL tests is in order too)
<galibert[m]> so you'd rather have a copy with V1 appended and have the inheritance done on that one, and then we can convert those one by one?
<whitequark[cis]1> that seems to be the sustainable long term path yes
<galibert[m]> no problem, I think :-)
<whitequark[cis]1> <galibert[m]> "so you'd rather have a copy with..." <- not quite the same as you say though, look at what i did for SPI and copy it
<galibert[m]> is that spi_controller_deprecated?
<whitequark[cis]1> yeah
<whitequark[cis]1> intentionally obtuse and long
<galibert[m]> hmmm, you have the name SPIControllerApplet for both? I wouldn't have thought you'd do that
<whitequark[cis]1> good point actually, I think what I did was to do an IDE rename on the module alone to minimize the diff
<whitequark[cis]1> but I'm fine with it being confusing since that's all the more motivation to migrate everything
<galibert[m]> It's a choice :-) I tend to be a little paranoid about that
<whitequark[cis]1> I mean, normally this would be grounds to immediately fix it
<whitequark[cis]1> but I don't want to encourage keeping around obsolete unsupported code any more than I absolutely have to
<_whitenotifier-4> [glasgow] galibert opened pull request #930: i2c-initiator conversion to V2 - https://github.com/GlasgowEmbedded/glasgow/pull/930
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039237017
<_whitenotifier-4> [glasgow] whitequark reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187424354
<_whitenotifier-4> [glasgow] whitequark reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187421315
<_whitenotifier-4> [glasgow] whitequark reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187422131
<_whitenotifier-4> [glasgow] whitequark reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187424621
<_whitenotifier-4> [glasgow] whitequark reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187423292
<_whitenotifier-4> [glasgow] whitequark reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187425846
<_whitenotifier-4> [glasgow] whitequark reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187426380
<_whitenotifier-4> [glasgow] whitequark commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039290678
itsmk has quit [Quit: moving]
<_whitenotifier-4> [glasgow] galibert reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187444613
<_whitenotifier-4> [glasgow] galibert reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187444642
<_whitenotifier-4> [glasgow] galibert reviewed pull request #930 commit - https://github.com/GlasgowEmbedded/glasgow/pull/930#discussion_r2187444653
<whitequark[cis]1> galibert: once all the surface level stuff is fixed i'll go through the actual code of the PR
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039336859
<galibert[m]> Good. Sorry for messing up the analyzer stuff, I forgot it was there at the critical time
itsmk has joined #glasgow
<whitequark[cis]1> i usually use branches
<galibert[m]> I'm not too used to work in one directory only. My branches tend to be independant directories
<_whitenotifier-4> [glasgow] whitequark commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039347409
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039353759
<_whitenotifier-4> [glasgow] whitequark commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039367402
redstarcomrade has quit [Read error: Connection reset by peer]
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039373461
<galibert[m]> add_clock_divisor computes the divisor, it does not create any gateware, right?
<whitequark[cis]1> it does
<galibert[m]> through the AbstractRWRegister?
<_whitenotifier-4> [glasgow] whitequark commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039393234
<whitequark[cis]1> take a look at how the SPI applet does it
<galibert[m]> the idea is that you can change it anytime from the host side?
<whitequark[cis]1> yes, it creates a register, and yes
<whitequark[cis]1> what it also does is takes care of doing the frequency/cycle count conversion
<galibert[m]> It's more of a ClockDivisorFactory than a ClockDivisor :-)
<galibert[m]> I mean it does everything but dividing the clock
<whitequark[cis]1> it's meant as a noun
<whitequark[cis]1> "the clock divisor is 2"
<whitequark[cis]1> (and the factory here is the assembly. actually, the entire point of AbstractAssembly is to be an Everything Factory)
<galibert[m]> cute
<galibert[m]> I hadn't noticed the Abstract*Register, nice concept
<whitequark[cis]1> yes, it's needed because I don't want to simulate the I2C dance (or the FX2 itself for that matter)
<whitequark[cis]1> the concept I'm using for glasgow.abstract is called "dependency injection"
<whitequark[cis]1> a "factory" is how you often implement "dependency injection"
<galibert[m]> ah yeah, there's also that. But it makes communicating with an applet outside of a stream way nicer, I really like it
<whitequark[cis]1> oh, we always had registers (i implemented them before i added FX2 FIFO support)
<whitequark[cis]1> it's just that the pre-assembly API for them was ... bad
<galibert[m]> yeah, I just hadn't noticed them yet :-)
<galibert[m]> feels like V2 is a real step forward, compared to when I first tried.. I'm not sure how long ago, when I got the glasgow
<whitequark[cis]1> yes, it's a major part of what will make it possible to have a stable, documented API and an applet tutorial
<whitequark[cis]1> which is why I pushed so hard for it recently
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039442867
<galibert[m]> hmmm, implementing the divier the correct way will require changing the gateware which will make it incompatible with the previous version
<whitequark[cis]1> oh, hm.
<whitequark[cis]1> tell me more?
<galibert[m]> class I2CInitiator(Elaboratable):
<galibert[m]> def __init__(self, pads, period_cyc, clk_stretch=True):
<galibert[m]> self.period_cyc = int(period_cyc)
<galibert[m]> timer = Signal(range(self.period_cyc))
<galibert[m]> with m.If((timer == 0) | ~self.busy):
<galibert[m]> m.d.sync += timer.eq(self.period_cyc // 4)
<whitequark[cis]1> okay, yeah, i see
<whitequark[cis]1> in the interest of keeping it manageable, let's keep the divisor fixed, even if it's fairly ugly
<galibert[m]> probably can force timer size to 16, plonk the divider in the interface and have the upper plonk a C(computed value) there
<galibert[m]> that should stay very small
<galibert[m]> the // 4 becomes a slice, nothing big
<whitequark[cis]1> nah, don't bother; i'd rather keep this particular gateware the way it currently is
<whitequark[cis]1> i plan to implement a new stream-based I2C controller anyway
<galibert[m]> but then I can't use ClockDivider
<whitequark[cis]1> yeah
<galibert[m]> ok then
<galibert[m]> we can do that later
<whitequark[cis]1> ignore that part of the review
<galibert[m]> works
<galibert[m]> I like the way you do clocks now though I must say :-)
<whitequark[cis]1> yes, it's a significant improvement
<whitequark[cis]1> i trialed a few solutions some years ago but none of them were very good
<galibert[m]> so use_pulls is the last missing piece
<galibert[m]> later though, RL stuff to do now :-)
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
redstarcomrade has quit [Read error: Connection reset by peer]
twix has joined #glasgow
whitequark[cis]1 has quit [Quit: Reconnecting]
whitequark[cis] has joined #glasgow
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039806065
<_whitenotifier-4> [glasgow] whitequark commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039808514
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039819130
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039826149
<_whitenotifier-4> [glasgow] whitequark commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039827740
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #608: Signal generator applet - https://github.com/GlasgowEmbedded/glasgow/issues/608#issuecomment-3039833687
<_whitenotifier-4> [glasgow] mayjack0312 opened issue #931: When using the I2C example, it prompts that the device is occupied and the device cannot be connected - https://github.com/GlasgowEmbedded/glasgow/issues/931
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #931: When using the I2C example, it prompts that the device is occupied and the device cannot be connected - https://github.com/GlasgowEmbedded/glasgow/issues/931#issuecomment-3039862896
<_whitenotifier-4> [glasgow] whitequark commented on issue #931: When using the I2C example, it prompts that the device is occupied and the device cannot be connected - https://github.com/GlasgowEmbedded/glasgow/issues/931#issuecomment-3039879173
<_whitenotifier-4> [glasgow] galibert synchronize pull request #930: i2c-initiator conversion to V2 - https://github.com/GlasgowEmbedded/glasgow/pull/930
<_whitenotifier-4> [glasgow] mayjack0312 commented on issue #931: When using the I2C example, it prompts that the device is occupied and the device cannot be connected - https://github.com/GlasgowEmbedded/glasgow/issues/931#issuecomment-3039934788
Foxyloxy has joined #glasgow
redstarcomrade has quit [Read error: Connection reset by peer]
tomkeddie[m] has quit [Quit: Idle timeout reached: 172800s]
tec4 has quit [Quit: bye!]
tec4 has joined #glasgow
redstarcomrade has joined #glasgow