Fixed the 32-bit issue after first re-initialise by removing the OvlK
and IsoK reuse functions. Perhaps this could be causing issues on Mac
OS X as well.
Next, changes were made to the reconnect/disconnect to prevent
(sometimes??) crashes in 32-bit mode, and also fix the "not updating
after reconnect" issue on x64.
Former-commit-id: e052a4d64e
Gets into a loop where it can't find device (on emulator). I'll need to
move over to real device to see exactly what happens....
Former-commit-id: 41eab710fa
No longer seems to show that "every packet is corrupt" error. I suspect
it was caused by the "filling the transfer contents" loop in
usbIsoInit() taking place during two 1ms periods. This would, in
theory, cause it to skip over 1ms of data every ISO_PACKETS_PER_CTX *
NUM_FUTURE_CTX frames.
Former-commit-id: 66a8b96e10
Bugs found recently:
- Trigger doesn't work on negative voltages (at least in MM mode).
- Double Sample Rate button won't de-trigger when CH1 scope is disabled.
Former-commit-id: 56f329a016
The error where every packet can become corrupt when you get a "bad
launch" seems more pronounced here. But it still succeeds enough times
to show that correct synchronisation could fix it.
Former-commit-id: 85b86af1ff
Although Logic Analyzer CH2 is faulty. Looks like it's been in the code
for months, though. Add that to the list of things to fix.
Former-commit-id: f76e8eb3a7
And found the bug from before; or at least the trigger. It seems to
only occur when the rear PCI USB port is used. Front hub or rear USB2
ports don't show issues at all.
Former-commit-id: 653891ca63
But will not respond until device has been connected at least once! On
a side note I found out how silly the saveState/loadState method in
genericUsbDriver was. It was always a better idea to just "poke" the
signals to ensure that it is reset in the same way that would happen
from GUI interactions.
Former-commit-id: 57c841f1d7
From the looks of things, anyway.
This fix came with a cost:
- All modes apart from 0 are broken.
- Randomly, the DMA write and USB read may access the same half of
isoBuf. This is determined on boot, and doesn't seem to desynchronise
and resynchronise over time.
The good news is that both of these have a fix. Give it another day of
coding...
Former-commit-id: 23741ceecb
Added triple endpoint support for the Desktop interface.
Should be possible to fix the one-packet-per-sample glitch easily, now.
Even if it isn't, the device now only needs to reserve 768 bytes/frame,
not 1023!!!!
Former-commit-id: 5769288a11
Have moved from one big (1023 byte) iso endpoint to 3x 256 byte ones.
This will fix the error where Labrador is picky about which port it's
connected to, and *should* fix the one-sample-per-packet error.
Former-commit-id: 880303ed09