*bump* Just to keep everyone updated on this, I have made lots of updates to both the client and DCS with much-appreciated help from Shaun, Jon, and of course BrandonW. I will be testing it tonight, hopefully, if anyone wants to help.
I am up for testing
KermMartian wrote:
*bump* Just to keep everyone updated on this, I have made lots of updates to both the client and DCS with much-appreciated help from Shaun, Jon, and of course BrandonW. I will be testing it tonight, hopefully, if anyone wants to help.


ooh, I am working today on 3 projects, but I shall see if I can get some time later on. What time exactly will said testing take place?
I'll try to be available for testing later today. Smile
At this point I expect that it will be around 8pm EDT, although I am not positive yet. Smile
I would love to help Smile
Thanks _player! I'm going to play a game of AoE with Sonlen now, and I'll leave my calculator connected via Chat to DUSB. I want to see if when the timeouts start to happen, the recovery code I've added will function properly.

Edit: Here's where we currently stand with Direct USB gCn, and why I'm not yet giving you guys a beta (still):

1) New features: the client will wait patiently for your calculator to be connected properly, so you can even start DCS, run Chat (or Oblit, or NetPong, or CnChess, or CnT, or whatever), then plug in your USB cable, then run the client. Or do them in a different order. It should all work

2) The CALCnet interrupt can now properly handle unplugging and replugging the cable without losing its mind

3) However, if for some reason the USB sending from the calculator times out, the OS send routine loses its mind now and kills the whole USB connection. The good thing is that timeouts are happening at all; it took tons of OS tracing with BrandonW's help to get it this far. However, it's important that I get it to behave better.

4) There's a glitch-type thing with ginormous frames being sent to the calculator after reconnect. I'm on it.
sounds good Kerm, take you time, we shall live Smile

hmm, does this mean that somone can interrupt a oblit game without going bonkers?
qazz42 wrote:
sounds good Kerm, take you time, we shall live Smile

hmm, does this mean that somone can interrupt a oblit game without going bonkers?
Interrupt as in join in the middle? No, I'll have to modify Obliterate to properly handle that (or rather, detect and prevent problems from it). This has to do with exactly what MadMax is seeing right now, occasional calculator lockups that can be solved with On / On / Clear.
Ah, I see, btw, it seems that an all-cap msg froze chat O-o. I would think that for the oblit problem you could just make a message that says "Sorry, there is a game running" or something of the like. Although I am sure in practice, that would be much harder >.>
Yes, it would indeed be very challenging, but I'll try to come up with something reasonable. That's a very very secondary concern after tracking down how (if!) this problem can be fixed.
ah, sonds fair enough, good luck with that, and, as always, I am always happy to help Very Happy
qazz42 wrote:
ah, sonds fair enough, good luck with that, and, as always, I am always happy to help Very Happy
Thanks a lot. Smile To keep you guys up-to-date on what's going on, I am experimenting with what bit 3,(iy+41h) does based on some tracing; setting it appears to stop the calculator from killing the USB connection when a packet send times out, but leaving it set makes DUSB freeze at other points, so I'm trying setting it right before an attempted send and resetting it directly afterwards.
Thats an interesting idea hope it works means less crashes and angry gcn restarts for us xD
geekboy1011 wrote:
Thats an interesting idea hope it works means less crashes and angry gcn restarts for us xD
Thanks, geekboy. I've managed to get one hard freeze since the changes, so I'm not happy yet, so you guys still don't have something. I fixed another glitch in the gCnClient based on my changes, so automatic reconnection is pretty nifty now, but it's still not 100%.
*bump* Making a lot of progress on this. Remaining issues are things like this happening client-side, and the calculator more or less ignoring all incoming data:


Code:
FF89 0A22F52B52 AAAAAAAAAA 1000 AD54696D6F7468793A68657920736972 2A
       "   + R                    T i m o t h y : h e y   s i r  *
Wrote frame, type 'f', size '31', to bridge
Calculator successfully reconnected.
Received message of length 178 from server.
usb_bulk_write (libusb0-dll:err [_usb_reap_async] timeout error
).
Error: Failed to send Direct USB frame
FF89 0A22F52B52 AAAAAAAAAA 1000 AD54696D6F7468793A68657920736972 2A
       "   + R                    T i m o t h y : h e y   s i r  *
Wrote frame, type 'f', size '31', to bridge
Calculator successfully reconnected.
Received message of length 73 from server.
What sorts of bugs have you shot down so far?
elfprince13 wrote:
What sorts of bugs have you shot down so far?
All kinds of stuff. As suggested by Jonimus, the client doesn't try to send anything to the calculator until the first frame is received from the calculator, which means that the calculator won't freeze on the homescreen anymore because of constant USB activity when you first start the client. Also, I did tons of debugging on unplugging and replugging, and it works a lot better now, both hotplugging and just plugging in normally while the program (rather than the OS) is running. Remaining glitches include the one I mentioned, and one hard-to-reproduce case where the calculator forgets it knows how to handshake USB until you hotplug once with the OS active.
Very interesting stuff. Good to hear that it is progressing so well!
elfprince13 wrote:
Very interesting stuff. Good to hear that it is progressing so well!
Thanks, elfprince! Sadly, I've been a bit slowed down by all of the schoolwork and teaching crossing my desk, unfortunately.
  
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
» Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
» View previous topic :: View next topic  
Page 6 of 7
» 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