Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
OK, that's good. In retrospect, I see that I can write this independently of that, but it will still help with speed.
Fully-implemented USB gCn code in Doors CS! I have this wonderful bit of awesomeness now:


Code:
Page 0 is 16381 bytes long (3 bytes to spare)
Page 1 is 16334 bytes long (50 bytes to spare)
Page 2 is 16122 bytes long (262 bytes to spare)


Now I need to shoe-horn this into a client, ideally the gCn client. What can I do to combine filter driver + Jonimus' code, and where is Jonimus code? Will it work on each OS?
YAY! This makes me so happy, now I can finally be able to use gCn! Smile
KermMartian wrote:
Fully-implemented USB gCn code in Doors CS! I have this wonderful bit of awesomeness now:


Code:
Page 0 is 16381 bytes long (3 bytes to spare)
Page 1 is 16334 bytes long (50 bytes to spare)
Page 2 is 16122 bytes long (262 bytes to spare)


Now I need to shoe-horn this into a client, ideally the gCn client. What can I do to combine filter driver + Jonimus' code, and where is Jonimus code? Will it work on each OS?


Surprised

That is awesome, I cannot wait for the client side stuff to come out, then I can play oblit at school Very Happy
Well, be aware that you still need sufficient permissions to install the filter driver, Qazz, which might not be possible depending on how locked down the computers are.
KermMartian wrote:
Well, be aware that you still need sufficient permissions to install the filter driver, Qazz, which might not be possible depending on how locked down the computers are.


Hmm, what do you mean? I have full permission of my computer O-o
qazz42 wrote:
KermMartian wrote:
Well, be aware that you still need sufficient permissions to install the filter driver, Qazz, which might not be possible depending on how locked down the computers are.


Hmm, what do you mean? I have full permission of my computer O-o
You mentioned playing Obliterate at school, Kerm was referring to those.
oooooohhhh, ok, I see, sorry about that


darn,that sucks, I was hoping that my time in the computer lab would be more fun then Razz
Thanks for that, comicIDIOT. Smile Qazz, exactly what comicIDIOT said. And let's all give Merth a huge round of applause for working hard on a C# gCnClient that supports direct USB this evening. Smile
Very nice work. Will I get an updated elfprince edition when you come to visit?
elfprince13 wrote:
Very nice work. Will I get an updated elfprince edition when you come to visit?
But of course! I'll get an opportunity to update both the Elfprince and Merthsoft editions, as a matter of fact. Smile Merth and I are currently on Skype, working through all the pain of issues with the client; I'm doing my best to cross my fingers and hope that not too many of the problems are on my side.
add me to the convo =) I'm doing some physics homework, but if you're still going when I get home I can help too.
After I get some savings back and purchases acquired I'll be willing to test any OS X gCn clients Smile
I'm also available for testing gCn over direct USB, under Windows and Linux. Very Happy
Oh... It just occured to me that I won't need the microcontroller to use this anymore, I'm in for testing as well, under Ubuntu 32 bit and Windows7 32 bit.
Merth devoted at least three hours this evening to some great and very helpful work, including throwing together a basic Direct USB gCn client in C#. Unfortunately, all is not yet right. The client is shaping up, but receiving frames seems to have some issues. I'm working on trying to track down the problems. I'm hoping it's nothing too major, because as mentioned, I'm dealing with exactly three bytes free on Page 0. Sad
Ok so what do we need for a C port of the client? A chance to view the code for your arduino based setup would be great and help me there a lot.
Oh sure, not a problem at all. I think (based on what Shaun was saying) that we just need a way to use the filter driver with it. I've sent along the code to you via Skype.
Ok so looking through your code here I see what needs to be done.

From the looks of things you are just polling the device for data with a 5000ms timeout in usbhidGetReport and trying to send to the device in usbhidSetReport with the same timeout. All that is needed is to change the usb_control_msg lines in those is to use usb_bulk_read or usb_bulk_write respectively. The syntax is a little different as some of the extra control stuff isn't needed but I can write that up rather quickly.

The device is actually being found and enumerated in usbhidOpenDevice and you could either just use their Linux code there or I have a more or less drop in for that as well which will pass you a usb_device_handle for the first TI-84+/SE it finds.


Here is what I hacked together while half asleep just before bed, let me know if you see something blatantly wrong with it but as far as I can see it should work for you. Just plug in the functions where they are needed in your code and it should be all good. I can't really test it but its based on my code from the test programs I made so I don't think I did anything to stupid.
http://jonimoose.net/calcstuff/directusb.c

Edit: Note this code should work on all OS's with libusb-0.1 support including libusb-compat 0.1 and the Windows libusb0.sys/libusb0.sys filter.

Eidt2: Kerm text me in the morning if you have questions as I stayed up till 2 to work on this and I really should be getting up earlier than I did today to do stuff.
Does that mean it'll work on Windows while still allowing for TI-Connect to work?
  
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 6 of 8
» 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