Do you want to use this with a computer or with an external device?
If you are just trying to connect the calculator to the computer, the calculator should pretend to be a serial device itself, and the computer should recognize it as a /dev/ttyACM device (on Linux) or a COM port (on Windows). Admittedly, I haven't tested the library much on Windows, so it's possible that I'll have to adjust the device descriptors before Windows will recognize it properly.

1. If you're directly connecting it to a computer, there is no real serial line involved aside from the USB cable, which is using an entirely different baud rate and format anyway, so the baud rate is irrelevant. I think it defaults to 9600 baud, and if you want to change it you can use srl_SetRate.

2. The example was intended to be used with the calc directly connected to a computer over USB, but it should work with physical serial devices if the baud rate is set. I probably should test it on Windows, but that's been low-priority for me as I have a Linux computer.
An external device for now, but a computer for more complex experiments.

My little python sketch works in Windows and Linux (mainly because it rested in a thumb-drive with some other programs as I bounced from machine to machine) so I'll try running it in Raspbian and Ubuntu, just to see what happens. Windows does still recognize the calc, but device manager seems to get confused and doesn't understand what it's doing, so your descriptors may be a little off, but the fact that it still sees the calc is good.

I'll be testing with some arduino and esp32 systems too, mainly because they tend to be more predictable in performance (although my basic code is still too hefty for anything but an arduino mega right now, so most work has been spent debugging and shrinking). Thanks for the help! I'll see what I can do about OS testing.
Ran some test, took some old drives 'n .iso's to test your descriptors:

Works in:
-Ubuntu (obviously)
-Raspbian
-Mac OS
-Windows 10 IOT Core

Doesn't work in:
-Windows 10

I can test more if necessary, such as Chrome OS, all the Windows, etc. I believe that Linux and its ilk work fine, Windows doesn't open a COM immediately, although Windows IOT does.

You say that baud doesn't matter with PC's, but it does, it just defaults to 9600 as standard. In the Windows device manager you can manually configure baud of each port (if you're doing something finicky I suppose) so I assume there is a way to do it in Linux as well, although I don't use it often. I'll try running my scripts on some Linux VMware or remote desktops. If you need me to pull some Windows descriptors for you I can get them.
I have a (janky) idea for getting the calculator to communicate to any PC... but it isn't working yet.

The Arduino Mega (and a few other boards) has multiple pairs of serial pins, and is capable of running multiple ports. I planned on using this for some sort of serial hub or extremely powerful device (speech synthesizer?) but this is better for now. The issue is that neither the arduino or the calc recognize each other as a serial device. So my plan is simple: have the calc and Arduino reading and writing data waiting for a response, which I have done between Arduinos before, and having them activate each other when they connect. The Arduino part is a breeze, but the calc side is the problem. The calculator can't seem to send serial data without initializing it's USB first, which it can't do with an Arduino. Trying to read or write data ends in spectacular crashes that *almost* brick the calc (screen has aneurysm, goes black, stays dead until reset held for about 4 seconds). I can't figure out how to force the calc to send data or attempt to read from port without crashing, both plugged and unplugged from the Arduino. Is there an override or try-except system I should use?

Oh, and the descriptor idea would end up like a stream of "/?;" every second until, say, a soundcard replies with: "/d:SC/v:2.4/2;" for /description: SoundCard, version 2.4, supports 2 tracks for polyphonic sound, end of description.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 2
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement