This is what I've got:

Robot (Ver 1.1 circa 2002)
TI85 (with CBL stamped on the back.)
Black TI-Graph Link for Windows serial cable
Arduino Uno
Linux
Multimeter
Lack of knowledge about calculators

Will any of that help me? If yes, what would you suggest?

==============

Ok, found the manual and I'm trying to learn to use my old calculator again. I'm extremely rusty. But I was able to move the robot forward with this program:

Code:
{322,200}→A
Outpt("CBLSEND",A
Input "CBLGET",R
Disp R

Similar to my experience with the Arduino the robot won't move forward with a single Send() call. I think the robot firmware must take a shortcut and wait for the follow up Get() call. As I learned with the Arduino a second Send() also triggers the movement. I haven't attempted sending a Get() with the Arduino yet.

==============

Update: I've implemented a Get() but it fails because the car hasn't finished moving yet (and its purpose is to report on how long the robot moved). If I hold down one of the buttons on the front the robot immediately stops moving but the Get() succeeds. I expect this will all get much easier and more robust when the Get and Send functions in your library are properly implemented.
*bump* Have you gotten a chance to work on this project lately? I just pushed two commits that should provide the ability to speak to a CBL2-like device as if the Arduino was a calculator, but I haven't yet tested my code. I'd appreciate your testing help if and when you get a chance. Thanks!
Thanks, that's exactly what I was hoping for. I've updated my sketch to use your methods now. It works approximately the same as before. There's still a delay between messages that the robot will respond to. What can I do to help you test?

One question about your API: why does CBL2::getFromCBL2() need both type and header? I would expect header to be sufficient.
acspike wrote:
Thanks, that's exactly what I was hoping for. I've updated my sketch to use your methods now. It works approximately the same as before. There's still a delay between messages that the robot will respond to. What can I do to help you test?
Your code looks fine to me; I can't think of any reason why the robot would behave as it does, unless as you surmised the robot's firmware has some kind of shortcut.
acspike wrote:

Code:
{322,200}→A
Outpt("CBLSEND",A
Input "CBLGET",R
Disp R

Similar to my experience with the Arduino the robot won't move forward with a single Send() call. I think the robot firmware must take a shortcut and wait for the follow up Get() call. As I learned with the Arduino a second Send() also triggers the movement. I haven't attempted sending a Get() with the Arduino yet.
What happens if you try a single TICL::sendByte() or a single TICL::getByte() after sending the movement instruction to the robot? It occurs to me that I might also want to try to get Rick from Norland Research in on this conversation.

Quote:
Update: I've implemented a Get() but it fails because the car hasn't finished moving yet
Does that Get() at least force the robot to move immediately, though?

Quote:
One question about your API: why does CBL2::getFromCBL2() need both type and header? I would expect header to be sufficient.
Yes, your observation is a keen one. My goal is to abstract away the differences between TI-82, TI-83, TI-83+, TI-85, and TI-89-style variables, but at the moment, this is only a partially-completed project. There is a chance that API will change in the future.
*bump* I just wanted to mention that I finally got a CBL2, and my friend CVSoft has kindly also bought me a CBL that is on its way. I hope to use those both to test the behavior of a real CBL/CBL2 with ArTICL, and hopefully gain some insight into what's happening with the robot.
Hello,

I also get a TI-Robot from Norland Research.
As I can communicate from my calc to TI-Robot and get back some info from Robot to my calc, I want to analyse communication between them to reproduce this situation where Robot or Calc has been replaced by an arduino.

I cut cable and linked it to arduino.
My robot and calc continue to work properly until I try to listen communication with par_get() function from you KermMartian.

What I try to do is to list all communication like you and CVSoft have made here: http://www.cemetech.net/forum/viewtopic.php?p=224739#224739

=> How did you have done this?
  
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 UTC - 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