geekboy1011 asked me to post because he thought I had something to add, even if I don't have much of anything working yet. This feels like a "me too!" sort of post.
A bit of time ago, I got a Raspberry Pi Pico from geekboy1011 and we sorta decided to work on our own link software for the calc as a way to get to know the Pico. It was mostly playing around with the Programmable IO (PIO) blocks on the device because it's shiny, fast, and supposed to relieve the already absurdly overpowered device of any further work the rest of the system had to do. It's pretty much link assist, but for the Pico.
Geekboy1011 and I have been bouncing ideas and code between the two of us, keeping us motivated to move forward with our own projects and whatnot. Our initial goal of coding a sort of link-assist is pretty much already done, but my own end goal for this is a little more... nebulous? Feature-creepy? I don't know.
I've been going back and forth between the idea of getting the Pico to present itself to a connected PC as an MTP device so a PC user could do things like drag & drop files to and from a connected calculator, and the idea of using the PIO state machines to connect to more than one calculator in a sort of router-style setup. I hadn't thought too hard about how the latter idea will manifest, but I was thinking of extending the preexisting packet protocol to send command specific to the implementation on the Pico (e.g. get all connected devices, send variable data to a particular connected device, broadcast a variable send). Not entirely sure where I want to go with this.
So far, I'd been able to (semi-reliably) communicate to my 84+SE but some random errors were popping up. Receiving variables from the calculator that were manually sent worked. Sending a silent directory request worked. Silently requesting a variable worked. Silently sending a variable... did not.
After sending the VAR packet, I got half an ACK packet... then nothing. Nothing no matter what I did with the logic Then I tried to use code that geekboy1011 gave me to emulate a graylink, but that ended up with mysterious failures when I tried to use TiLP. Then geekboy1011 told me about
this little thing and told me that the problems that we were experiencing was because of line levels and how what we were doing should've fried our RPI boards but...
something something ESD protection diode something something more guesses. yeah. That put a bit of a damper on things.
Still. With what I learned, I started rewriting what I had to hopefully have some sort of multi-device support rather than the hackjob I had. So that's where I am. All I've got is busted code and geekboy1011 showed me a screenshot of a 3.0KB/s app transfer from the calc to his PC using TiLP. I need to step up my game.
And salvage some MOS-FETs and diodes from someplace so I can maybe continue experimenting with additional peace of mind plus an assurance that perhaps it'll work this time