Projects » Connection API
Not Finished
Description
The connection API is a utility to allow you to connect with your TI calculator through the computer. Can be used with games.
The general Idea of this, is that the API will be written in java. The programmer programs their code on the calc, and programs a java program on the computer, to interact with the calculator. The program could read a variable off of a calc. The problem is, that it won't read until it reaches a pause or getcalc statement. (This can be considered a good thing.)
It is a cross platform way to communicate with the Calculator. It will be programmed in java, and I will release API documentation. That's right! You can do various things, for example, connecting to a server using java, posting a high score, and then receive a list of the high scores to the computer running your java program, and then your java program would send that data to the calculator.
Not really satisfied? Another example could be where you are in school, and you want to play a game with a friend. A game that was designed with multiplayer in mind, but will only allow you to connect with that short little cable? Well, I might introduce a feature, like peer to peer transfer, in which both people will have their calculators connected to different computers, and they will be able to type something as simple as the username of the person you want to connect computers with, and then the network, like a school network, would see if a person by that username is logged on, and if he is running that program.
But wait, there's more! Imagine an app store, but for the TI, and completely free. That means, that if you want to download that nice new Zelda game, then you can just press enter, and within a few minutes, your program is on your calc.
But wait, that's not all! Say you made an app, that can run programs from ram, but you want a feature that you can be able to put someone else's program into your program. (Imagine DCS, only with the programs installed into it.) You can have you java program read your app, and the target program you want to install, and then the java program will see if the target program has any subprograms, that need to be installed with it, and then it will install it into your app, and the send the app back to your calc. Great for updates too!
Updates
Who Updated? | Date | Update |
---|---|---|
jnesselr | 12 Apr 2010 00:55 | Okay, so the program works on mac. Well, almost. I still have to finish a few things, but since I can send byes on the mac side, I should be able to start with the main java wrapper. I still don't know about windows, though. |
jnesselr | 16 Sep 2009 02:48 | Oh my goodness. No wonder TI-Connect is so horrible. It's the calculators fault. Turns out, that to get one variable, you have to get a directory listing of every single one!!!! (That is to say, that I am working on it…) |
jnesselr | 12 Sep 2009 23:01 | So I finally found a free USB logger, and could see the data sent/received. Yay!!! This project continues!!! |
jnesselr | 12 Sep 2009 03:12 | I have been busy with things, but this projects is not dead. I am trying to see the variable data from a transfer. If you have a program that can do that, would you just do the variable A as 267193, recieve it from your calc, then send it back, and send me what bytes were sent to/received from the calc. This is for USB btw. |
jnesselr | 26 Jul 2009 06:02 | If you start a variable transfer while in a program, it will end the program. I believe, that the calc can do getcalc to the computer. I will test it on Monday. |
Discussion
Is there any source code that I can look for, since I was thinking of using this for some of my robotics projects???
Does anyone have any experience in sending bytes via USB on windows?
For those of you who are curious, This project is not dead. I just haven't found the time to mess with it. I will soon, though.
No rush. Not much free time here either.
Is it still not dead?
This features would be necessary:
- Full access to the storage of the TI
- supports internet connection (please not the IE, otherwise the "website" would be styled separately from the program
- account function (username and password) VERY VERY IMPORTANT for the AppStore (one main reason for this program)
- highscore table (comparison to all users (On this point it is important for all of the developers to encrypt highscore-data)
I don't think that realtime-gaming over two calculators which are connected with a internet connection and two usb-cables is efficient (I just mean it would be very slow and frustrating for the user)
This feature would be amazing (and would increase the programs' success):
- Nice, userfriendly, well-explained design (I could give you a sketch if you want)
Hope that this project is not dead yet but only forgotten :)
It would take me a lot of time to integrate it into futOS, and I couldn't include it in this version
How I got to this site :D
Well, I saw in the recent edits table this project page, gave it a look and found this page. One project which gives developers new possibilities, from new social-connection features up to easier product presenting and downloading (users with low experience can get the program to and don't need the TI Connect (which isn't uncomplicated), and don't forget the ability of updates! I really don't know why this project is being neglected…
Get futuristicOS 8 for your TI-84+
Learn more about futuristicOS 8
This project was designed for developers. What would you like to see put into this project. If I like the idea, I will put it in the program.
What exactly would be the purpose of this? I can see level expansion packs to prebuilt games, but little other use.
I don't mean to say it's useless but I'm having trouble figuring it out.
I added some more code to the page. Those where just some examples of what could possibly be done. Besides, the "what would you like to see in this project" title was kinda asking for suggestions. What would you find helpful?
EDIT: I just realized that in this post, I said that I wouldn't want to do something like this, and would you look at that!!! I am!!!
Although I don't see much point in playing two player calculator games through computers instead of just playing two player computer games.
The high score and app shop ideas are good. Trying to think of a suggestion…
Hm…
It could be possible to build some kind of onlinish game with this; you go online and download other people's character information and then can play with AI versions of them. You could even use picture variables as avatars. But that's not really a feature of the API.
I can't really think of stuff to add directly to the API — I only have ideas for what to do with it…
How about something where you can work with groups more easily, instead of deleting and replacing them every time you want a new version?
Ideas of what to do with it is good.
Then how about something like IRC?
Not a bad idea. I will take that into consideration.
So is this dead then? Checking.
Not at all, but I have been busy, so in my spare time, I've been trying to find a free way to see the bytes sent to certain devices, like the TI, to see the exact format.
I'm just busy. Maybe I will work on it this weekend. Thanks for asking though!!! Any other ideas to put in the finished program?
Okay then. I'm asking because I've noticed that people find ti-connect a bit overcomplicated to download games, and it'd be easier to just hook it up and press a button.
Yes. I am hoping to get it to where you could right-click, send it to the device, and it's there.
I need someone with experience with windows drivers, though.
maybe someone could finish that thing that Brandonw was working on? please? (i think its called msd8x. its supposed to let you open a calc as a USB drive, rather than need ticonnect)
Visit Calccrypto for info on crypto
KC2ZOF
Well, messing with the USB is hard enough, but changing the device descriptor… I don't know how brandon did that. (unless he didn't make it like a flash drive, because that's what I thought he did.)
Nothing to do with this project, though, unless you want to see the files in a normal viewer window… (likes the idea)
Anything that you would like to see in this project?
drag and copy onto calc
Visit Calccrypto for info on crypto
KC2ZOF
works for me.
What else?