Talk:83Plus:OS:84 Plus USB Information

From WikiTI
Revision as of 00:18, 1 July 2005 by Dan Englender (Talk | contribs)

Jump to: navigation, search

I read the bit about device PIDs and theorized that the 89T was the 000F that it rejected... I hooked it up to my computer and it reported PID=E004, which isn't even an option from what he said. Also, in #wikiti: <+Kalimero> exactly, and 84P has pid E008, which makes me think that it drops the E for OnTheGo transfers.. That explains that, but not what the other devices are. I think it'd be safe to theorize that the ViewScreen adapter would be "allowed", but... Didn't it come out after the calculators, so it would have a higher PID? Hold on, I just had another idea in #wikiti: <Andy_J> looking at the PIDs, it would seem that the 84+SE might be 0003, then the 89T would be 0004, then some mysteries, and the 84+ being 0008... maybe they originally planed to just have the 84+SE? So if that were the case, what are 0005 through 0007? Just some random ideas to throw out there. --AndyJ 08:11, 27 May 2005 (PDT)

I'm doing my testing on an 84PSE, by the way. I assume everything about the regular 84P is the same, but I don't have one to check. The CBL2 has to fit in there somewhere. I have one in Ann Arbor, so when I go back there I'll check the PID. This code (that looks for 0008, etc) isn't necessarily the total "allowed" list either, as the code that checks for Vernier devices is elsewhere, it's just some random code that I stumbled upon and thought I'd mention, even though I wasn't planning on checking into the details at the moment. --Dan Englender 11:32, 27 May 2005 (PDT)
Alright, throw that theory out the window. :D --AndyJ 12:02, 27 May 2005 (PDT)
By the way, the 0008 vs E008 has a simple explanation: I was typing up the page at 6 AM and my brain wasn't working very well. I meant E008, E00F, and E003. Oops :) --Dan Englender 12:39, 27 May 2005 (PDT)
In the course of doing some other research, I found that Andy was (almost) right. E008 is the 84P SE, E003 is the 84P regular. Still don't know what E00F is.
From what you've written, it sounds like E00F is almost certainly the presentation link, given that (A) connecting the presentation link presumably requires the screen to be refreshed, and (B) having the presentation link connected prevents any other (software driven) USB devices from being used. From which I suppose we can infer that TI has no plans to support hubs :) FloppusMaximus 10:00, 15 Jun 2005 (PDT)

More info on those PIDs: On Ti-89 Titanium, the only PIDs which seem to be accepted are E004 (Titanium) and E00E (???). Also Romain Liévin pointed out to me a few months ago that Texas Instruments's Win32 driver supports this list of PIDs:

%DESCRIPTION%=DriverInstall,USB\VID_0451&PID_E003 => TI84+
%DESCRIPTION%=DriverInstall,USB\VID_0451&PID_E004 => Titanium
%DESCRIPTION%=DriverInstall,USB\VID_0451&PID_E008 => TI84+SE
%DESCRIPTION%=DriverInstall,USB\VID_0451&PID_E009
%DESCRIPTION%=DriverInstall,USB\VID_0451&PID_E00A
%DESCRIPTION%=DriverInstall,USB\VID_0451&PID_E00B
%DESCRIPTION%=DriverInstall,USB\VID_0451&PID_E00C
%DESCRIPTION%=DriverInstall,USB\VID_0451&PID_E00D

--ExtendeD 16:16, 29 Jun 2005 (PDT)

Ok, I speculate that E00F is the 84+ ViewScreen adapter and E00E is the 89T ViewScreen. We won't know for sure until we get our hands on one of each. --AndyJ 17:57, 29 Jun 2005 (PDT)
I agree that that seems likely. Also, the CBR2 can connect somehow to the 84 via USB. I'm not sure whether it will have a TI or a Vernier ID though. I don't really want to drop the dough for that one to find out. I may buy the Vernier EasyLink when it comes out though. --Dan Englender 19:07, 29 Jun 2005 (PDT)

Source

>> Source code will be going on SourceForge sometime in the near future.

What's the project name, or do you not have it made yet? --AndyJ 14:55, 28 Jun 2005 (PDT)

Haven't made it yet. I hate the overhead of having to use SourceForge, so I'm avoiding it as long as possible. --Dan Englender 15:16, 28 Jun 2005 (PDT)

Ports

Dan: did you notice, as on Titanium, that 0 was written to port 2E instead of port 8E, in the routine handling device requests, before sending an "ACK without data phase", to select endpoint 0? For the other types of acknowledgement (NAK and "ACK with data phase"), its 8E, as you have written. --ExtendeD 13:43, 30 Jun 2005 (PDT)

This isn't the case on the 84P. Regardless of whether there's a data phase, a value of 0 is sent out port 8E. (Port 2E isn't a USB port on the 84P either.) As for the command ports though, I still haven't quite figured out port 94 vs port 91 yet though. It seems like 94 is used for interrupt transfer, and 91 is used for both control and bulk, but I can't see why that makes sense. --Dan Englender 21:42, 30 Jun 2005 (PDT)
This may sound silly, but could it be that the port 2E on the titanium is a typo? Because if endpoint 0 was currently selected by a previous command (which it probably was if you're doing standard device requests), you could probably leave out the setting of port 8E altogether. I only ask because I've found a few very silly typos in the 84P USB code which only happen to work by "luck". --Dan Englender 21:47, 30 Jun 2005 (PDT)

I've had a thought that may be nonsense, but also might not be. I'll need to verify it later. It seems like most, if not all, of the ports in the 9X range have two versions: one for incoming pipes and one for outgoing pipes. For example, 90 and 93, 92 and 95, 98 and 9A all seem very similar both based on when they're called, and the values set. It also may be that more than just A0, A1, and A2 can be used for data. Using ports 98 or 9A it might be able to set up other pipes. --Dan Englender 00:18, 1 Jul 2005 (PDT)