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
tomkeddie[m] has joined #glasgow
<tomkeddie[m]> Sparkfun has some single pair ethernet stuff too.
q3k[cis] has quit [Quit: Idle timeout reached: 172800s]
<whitequark[cis]> note how little ceremony this involves!
threeflour[m] has quit [Quit: Idle timeout reached: 172800s]
<_whitenotifier-5> [glasgow] whitequark opened pull request #810: Drop Python 3.10 support - https://github.com/GlasgowEmbedded/glasgow/pull/810
<_whitenotifier-5> [glasgow] whitequark synchronize pull request #810: Drop Python 3.10 support - https://github.com/GlasgowEmbedded/glasgow/pull/810
<_whitenotifier-5> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-810-1db81071563f89619c2b29a80ae3ccced70d65f4 - https://github.com/GlasgowEmbedded/glasgow
<whitequark[cis]> apologies to everyone affected by dropping python 3.10 support
<whitequark[cis]> there is technically a backport of the required functionality, but I don't trust it and testing it is adding to the logistical nightmare shipping Python projects already is
<whitequark[cis]> pdm python install cpython@3.11 should have you covered if you're using pdm on linux (if you're on windows you probably don't care in first place)
<_whitenotifier-5> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 1 commit to main [+0/-0/±5] https://github.com/GlasgowEmbedded/glasgow/compare/1db81071563f...93ce4cbebe0a
<_whitenotifier-5> [GlasgowEmbedded/glasgow] whitequark 93ce4cb - software: drop Python 3.10 support.
<_whitenotifier-5> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-810-1db81071563f89619c2b29a80ae3ccced70d65f4 - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier-5> [glasgow] whitequark closed pull request #810: Drop Python 3.10 support - https://github.com/GlasgowEmbedded/glasgow/pull/810
<whitequark[cis]> and here's how you could run an applet with the new (not yet released) API entirely outside of the glasgow framework:... (full message at <https://catircservices.org/_irc/v1/media/download/AWxqGb4xXyPvN6SVuge6FqBCopTniixgqXilY3gD1_M1oUejQA1Yn3WQIZ76uPyLOYfDzOz2hCCgto9-4qM5Mm6_8AAAAAAAAGNhdGlyY3NlcnZpY2VzLm9yZy9xbU5CTkxTeWtudVZYWnFPSld4V0pYd3U>)
<_whitenotifier-5> [glasgow] whitequark opened pull request #811: Minor improvements - https://github.com/GlasgowEmbedded/glasgow/pull/811
<_whitenotifier-5> [glasgow] github-merge-queue[bot] created branch gh-readonly-queue/main/pr-811-93ce4cbebe0a7312a633471eb1900a686983ad40 - https://github.com/GlasgowEmbedded/glasgow
<_whitenotifier-5> [GlasgowEmbedded/glasgow] github-merge-queue[bot] pushed 4 commits to main [+0/-0/±6] https://github.com/GlasgowEmbedded/glasgow/compare/93ce4cbebe0a...68a63cfc5519
<_whitenotifier-5> [glasgow] whitequark closed pull request #811: Minor improvements - https://github.com/GlasgowEmbedded/glasgow/pull/811
<_whitenotifier-5> [glasgow] github-merge-queue[bot] deleted branch gh-readonly-queue/main/pr-811-93ce4cbebe0a7312a633471eb1900a686983ad40 - https://github.com/GlasgowEmbedded/glasgow
<jn> so much development happening, this is exciting! :)
lxdr53 has quit [Remote host closed the connection]
lxdr53 has joined #glasgow
Eli2_ has quit [Quit: Ex-Chat]
Eli2 has joined #glasgow
Eli2 has quit [Remote host closed the connection]
unlobito has quit [Ping timeout: 252 seconds]
n0p has quit [Ping timeout: 272 seconds]
n0p has joined #glasgow
unlobito has joined #glasgow
Ekho has quit [Ping timeout: 248 seconds]
meklort has quit [Ping timeout: 252 seconds]
Eli2 has joined #glasgow
Eli2 has quit [Remote host closed the connection]
Eli2 has joined #glasgow
meklort has joined #glasgow
Eli2 has quit [Ping timeout: 248 seconds]
Eli2 has joined #glasgow
Ekho has joined #glasgow
Eli2 has quit [Ping timeout: 248 seconds]
Eli2 has joined #glasgow
Eli2 has quit [Remote host closed the connection]
Eli2 has joined #glasgow
<whitequark[cis]> yeah, I finally got both the time and the mental capacity to do things properly that I wanted for like 5 years
<tpw_rules> yay!
Xesxen has quit [Ping timeout: 276 seconds]
Xesxen has joined #glasgow
Eli2 has quit [Remote host closed the connection]
isabelburgos[m] has quit [Quit: Idle timeout reached: 172800s]
<_whitenotifier-5> [glasgow] whitequark reviewed pull request #750 commit - https://github.com/GlasgowEmbedded/glasgow/pull/750#discussion_r2092036267
<whitequark[cis]> so, i have a bit of a conundrum with pull resistors
<whitequark[cis]> glasgow has configurable pull resistors. it achieves this by connecting a PCA6408A GPIO expander to Vio and configuring the outputs to be floating, high, or low; the GPIO expander has an array of 10k resistors connected between it and the IOs
<whitequark[cis]> this means that, at the very least, glasgow has one bit (technically, four bytes) of state, stored in the GPIO expanders, and controlling the resistors themselves. this state is lost if for any reason Vio goes below 1.1 V (1.4 V max)
<whitequark[cis]> * this means that, at the very least, glasgow has four bytes (two bytes per GPIO expander) of state, stored in the GPIO expanders, and controlling the resistors themselves. this state is lost if for any reason Vio goes below 1.1 V (1.4 V max)
<whitequark[cis]> when you're running an applet, you generally want to configure pull resistors: to set them high, low, or explicitly float if you don't need them, since there is no guarantee that the GPIO expanders were reset since starting the applet
<whitequark[cis]> (the GPIO expanders are currently reset by the firmware whenever you reload the FPGA bitstream, but this is due to a bug in revC3 and it's something we will fix in newer revisions)
<whitequark[cis]> you can't necessarily configure the GPIO expanders (either to turn them floating, or to set them to the right values) when you're configuring the FPGA because Vio might not be enabled (and, again, with revC3 it is guaranteed to be disabled)
<whitequark[cis]> this means that if you specify whether you want the pin to be pulled high or low at the time when you construct the bitstream, it has to be stored elsewhere in the software until it can be applied (i.e. when Vio rises)
<whitequark[cis]> that makes twice the amount of state, and of course this state can get out of sync
<whitequark[cis]> moreover, when you're configuring an applet, you usually don't want to configure a whole port's worth of pulls; rather you want to configure pulls on the pins you care about
<whitequark[cis]> nothing stops you (aside from the lack of UI support) from having a UART0 applet on pins A0, A2 and UART1 applet on A1, A3
<whitequark[cis]> so the state can't live in the applet; it has to be shared between them somehow
<whitequark[cis]> there's also an additional concern, which is that right now you can't easily change pull resistor state from the FPGA
<asjackson> does that mean the two desires (configurable from the fpga + multiple applets) are slightly incompatible
<whitequark[cis]> not necessarily
<whitequark[cis]> what the desire for multiple applets means is that somewhere, there must be a source of truth for the pull resistor state
<whitequark[cis]> it could be in the FPGA fabric, or it could be in the FX2, or it could be in the software