69 Followers
449 Following
406 Posts
Hobby Embedded Developer, System admin, Cloud operations, Orchestration and such...
Pronounshe/him
codeberghttps://codeberg.org/xsk
Makertubehttps://makertube.net/c/iguanatech/videos
Gitlabhttps://gitlab.com/xsk

so!! i am excited!!! to have finally finished the complete reimplementation of the #GlasgowInterfaceExplorer memory-25x applet for managing SPI NOR flashes. it is called memory-25q and it took an enormous amount of effort, because i have decided to Build It Properly

want to jump to the docs (there are a lot of docs, including on the fundamentals of (Q)SPI flashes) or read the code? here we go:

now, why did i do that? two reasons. memory-25x is one of the first applets i made, ~7 years ago, and i had no idea what kind of UI i should be building (yet). to make it worse, i thought that SPI NOR flashes were "easy", you could "just send a few bytes and that's basically it".

nothing could be further from truth. first off, SPI NOR flashes don't really exist—there is no spec, no standard organization that can say "no, your thing is not compliant", no order to any of this. every vendor does whatever they want, and then every other year JEDEC writes down all of the unhinged shit they did. here is the list of six incompatible methods to turn a single bit on or off, as a warmup

second, SPI flashes have an absolutely absurd diversity of framings. you cannot even express it without building a meta-framework for abstracting over all the ways people have come up to squeeze 8 bits into 2 or 4 wires. then on top of it you have to manage a bunch of global state that affects framing in subtle or sometimes really fundamental ways, without having any way to find out that you've made an error besides "you compare the actual data with the expected data (or its checksum) and it is not equal"

anyway, the new applet should be excellent at any daily task and at least okay at >90% of the exotic ones. also it's easily generalized for the (completely incompatible on the wire) QSPI NAND 25N series, octal or DTR variants, etc

applet.memory.25q: new applet by whitequark · Pull Request #1130 · GlasgowEmbedded/glasgow

This is a complete functional replacement for the memory-25q applet and it obsoletes and deprecates the latter. To do: figure out why 1-2-2 and 1-4-4 modes are broken not broken, just crosstalk ...

GitHub

As a warning, don't watch if you are a dev and feel burned out. If not, it is a funny one 😆

https://www.youtube.com/watch?v=xE9W9Ghe4Jk

Shipping a button in 2026…

YouTube

Well…. I say to myself that I can debug basic electronics issues but then I am looking at two ( not insignificant value ) boards fried in front of me because someone somewhere decided to replace a barrel plug with a usbc connector 😥

The output of that „charger“ is a fixed 12v 3A and that is evil as 12v qc devices will happily use that but it really, really messes up with any board that expects 5V and has a basic lipo charging circuit.

I spent half a day thinking about surges and improving charging in and out protections ( I believed for an embarrassing amount of time the problem was live connecting a lipo cell that is charged too low ), while in reality I had pushed 12v onto the poor things…

Im going to start adding labels to all usbc chargers I have around, in memory of those boards ❤️‍🩹

Five years after the rollout of Covid-19 vaccines started, it seems the mystery of why the Astra-Zeneca and J&J vaccines led to a rare but deadly side effect of unusual blood clots and bleeding has finally been solved. 

It's a fascinating case of molecular mimicry that may help make vaccine safer.

https://www.science.org/content/article/rare-dangerous-side-effects-some-covid-19-vaccines-explained

AI claiming that "Oligopolistic pricing power" does not lead to market manipulation because "that would be illegal" made me laugh this morning 😆
did you know: IP cameras have non-standardized board-to-cable connectors which you sometimes have to build cables for yourself. this makes it easy to swap the polarity by accident
did you know: IP cameras can survive reverse polarity +12V@2A to the input (apparently)
did you know: IP cameras that work properly make terrifyingly loud clicking noises on startup (it's the IR cut filter solenoid)
Introducing the crappy Amiga!
It's a NanoMig - which is a Tang Nano 20K FPGA Dev board, with a pi Pico acting as a "companion" microcontroller (which handles the peripherals and SD card interface)

@whitequark May I ask ( because I cannot find anything relevant on the github repo or glasgow webpage ), what is the current state for the requirement of every applet consuming exactly one pipe on glasgow's multi command ?

It is not a blocking issue, and I don't expect it to be prioritized as it is a big change, low impact, high chance of disruption, just asking to know if I missed something that is not in the documentation/github in order to update my process.

if it matters, I mainly use probe-rs and uart together ( glasgow multi probe-rs --voltage A=3.3 --swclk A0 --swdio A1 ++ uart --rx A7 --tx A6 -a socket tcp:127.0.0.1:8765 ) and I just have to stop the uart applet every time I need to push new code to the microcontroller to avoid probe-rs complaining that the device is busy.

#glasgowinterfaceexplorer

First time posting about this, but here it is, and I thought all those hours making this bag ( for bags ) were only for skill building and had no practical use 😅

"Mau" is his name and he knows how to pose for a pic.

#caturday