<whitequark[cis]>
i think we should rename i2c-initiator to i2c-controller
<whitequark[cis]>
the "initiator" name predates the official change from master/slave terminology in the spec, so it's different from what NXP says you should use
<galibert[m]>
<whitequark[cis]> "you have feedback from ready..." <- It was just a renaming of the fifo code, didn't notice the rules were subtly different
redstarcomrade has joined #glasgow
redstarcomrade has quit [Changing host]
redstarcomrade has joined #glasgow
<galibert[m]>
I like the interface, it's nice and clean
<galibert[m]>
and yeah, using the "controller" name makes perfect sense and aligns with spi
<whitequark[cis]>
of course the Device ID function that i never tested contains a subtle bug
<galibert[m]>
I tend to do something that's completely anathema, e.g. install everything in the system
<whitequark[cis]>
yeah that tends to break system packages in your distro
<whitequark[cis]>
so i don't encourage or support that
<whitequark[cis]>
(this is the case even if you do pip install --user
<whitequark[cis]>
s//`/, s//`)/
<galibert[m]>
ok pdm install / pdm test works
<galibert[m]>
Yeah, I'm not using the term anathema lightly :-)
<whitequark[cis]>
well the problem isn't so much that i dislike it, it's that i refuse to direct people to create obscure problems for themselves down the line
<galibert[m]>
sure
<galibert[m]>
which is why I use glasgow exactly as the documentation tells to, and I solve problems with my nonstandard installation of amaranth by myself
<galibert[m]>
not that there are many problems in practice, amaranth is solid
<whitequark[cis]>
idle thought: it should be possible to bind several applets using I2C to the same pins
<whitequark[cis]>
it's actually much better to implement shared access to the medium on the software level (ie by sharing an I2CControllerInterface)
<galibert[m]>
hmmm, should they be sharing a i2c_iface?
<whitequark[cis]>
but sometimes you'll have situations where you can't do that
<galibert[m]>
I don't think we have a mechanism to do that in the first place anyway
<whitequark[cis]>
to do what? share i2c_iface?
<_whitenotifier-4>
[glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-939-8bb331319ca3c0579d37cb768c30eb1a373f4c08 - https://github.com/GlasgowEmbedded/glasgow
<galibert[m]>
yeah
<galibert[m]>
I mean a way to instanciate multiple applets that will end up sharing the i2c_iface
<whitequark[cis]>
ah yeah, there would have to be an entire new dependency injection mechanism
<whitequark[cis]>
an applet would need to be able to indicate that a part of its implementation can be uniquified between instances... but only if the configuration matches
<galibert[m]>
Why do you have BMx280Interface and BMx280I2CInterface? I would have thought the second didn't need to exist anymore
<whitequark[cis]>
BMx280 sensors support SPI too
<whitequark[cis]>
I even have an example of an SPI device here
<galibert[m]>
So you'd like to share BMx280Interface between the two cases? Or even have an applet that can do either depending on the command line parameters?
<whitequark[cis]>
yes that is the idea
<whitequark[cis]>
I figured that I would write it in a way generic enough to support that in the future
<whitequark[cis]>
like 6 years ago
<galibert[m]>
So a BMx280I2CInterface and a BMx280SPIInterface inheriting from a common abstract interface with the correct one instantiated
<whitequark[cis]>
yes
<galibert[m]>
makes sense
<galibert[m]>
any others of the to-convert i2c thingies in the same category?