I wrote this low level driver to communicate with a TI-92 caculator via the 3-wire D-Bus.· It allows you to send bits and bytes of data to the calculator from the propeller.· It also can receive data from the caculator.·
My intention is to eventually build a program similar to Propterminal but for the TI-92 Cacluator.· This seems ideal because the caculator has a large screen, a qwerty style keyboard, only requires three wires (2 data + grnd) to communicate with and it also has large selection of built-in graphing and data manipulation functions.· Imagine having a propeller in some location collecting data from thermistors, sensors, etc and storing them on an SD card.· Then you connect the TI, view a list of files from· the SD using the TI's screen.· You use the TI's keypad to interact with your custom propeller program, and then the TI could generate graphs, charts, reports etc with some of that information.·
Still, plenty of work is required to get to that point.· The caculator has a large number of variable types that must/could be handled.· This library (tiCommLib) is the first step.· It handles the lowest level of protocol.· It implements the TI's handshaking and can send/receive bits and bytes.· The demo code in TI-92ui.spn creates a simple interface via propterminal to allow you to use your computer's keyboard to send keystrokes to the TI's screen via the Propeller on a USB port (the prop is connected to the i/o port of the calculator on pins· 4 & 5). See the spin code for more information on the hardware and software protocols.· If you have· a TI-92 (or purchase one off eBay for $30) please download and give this a try.· Be aware that although the tiCommLib should work with many models of TI calculators, the demo code is setup to work with the TI-92 only. The reason is that each caculator model has different bytes that must be sent in the header of data transmissions.
I'd like to see if there is any interest in this project before pushing forward with a generalized library. I'm tempted to just create the simplest of programs just to meet my needs, but if there is a large enough interest I might go ahead and work more on the library.