A toy reference implementation of the TI graphing calculator line code in MicroPython, meant to run on Raspberry Pi Pico W. Can easily be ported to other Picos with minimal effort.
It basically just implements functions that wiggle 2 GPIOs in the way that the calculators' TRS I/O ports expect. There is no implementation of high level protocols--this project just implements bit & byte-transfer functions; it's up to you to decide which bytes to transmit.
It also does not make use of the RP2040's PIO system. You are welcome to implement that yourself, and there is no doubt that using PIO will make it much, much faster. This is meant to be an reference implementation that's as easy to read as possible. However, I've also made use of some optimization techniques in MicroPython that make the code only slightly harder to read, but it should still be coherent to a Python novice.
- calc84maniac for helping to clear up some confusion about the bitwise getting routine
- Tim Singer and Romain Liévin for their excellent documentation available https://merthsoft.com/linkguide/. This project would not have been possible without the clear documentation.
- Timothy 'Geekboy1011' Keller for his PIO-based project and some informational help
- Cemetech for being the welcoming one-stop shop for calculator development
Public domain.