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
Swapped an append to a replace with an ADT designed to return fast
pointers to char[] blocks.
Worked out that the one-corrupt-sample-per-packet bug was definitely not
fixed. I must have been looking at a 1kHz wave before.
Former-commit-id: d3054d9707
functionGenControl and espoComboBox now use QCoreApplication::
applicationDirPath(). This is to fix deploys on Mac. It’s possible
but unlikely that it broke Windows/Linux.
Former-commit-id: 3bcf78e4c4
These #defines are located in desktop_settings.h and allow you to edit
how many samples are discarded per packet. The idea was to use this to
test the MCU-side code and ensure that it doesn't corrupt a packet per
frame, but this seems to have magically disappeared (???).
I remember queueing USB transfers a long time ago, but can't remember
this having any success. It's more likely to just be a random clock
skew issue that only appears on some boards - and it's only "fixed" on
the one particular test board I have in hand now. I think.
Former-commit-id: b32392b525
It's a bit dense; some would say unnecessarily so. Might see what I can
do with it in the morning but there's a reasonable chance it'll become
unworkable.
Former-commit-id: a1e508cc1a
- Reverted the dual transistor IC back to a single transistor (TSM
thingo)
- Added PSU indicator LED
- Added PSU control/expansion header.
Note that this is only in eschema, not pcbnew!
Former-commit-id: 059d5cbe65
That's it. Literally a single #define that determines how many
milliseconds the OS waits before reconnecting. Fixed an error with
Windows not reading it on new mobo, hopefully fixes it under OS X as
well.
Former-commit-id: d69bbf8e68
May have accidentally broken Linux (untested, I wasn’t being shotgunny
but equally wasn’t being super careful). Seems to randomly fail on
launch. Probably a race condition on the mutex?
Former-commit-id: b7e0035896
.pro file now works with both Windows and Linux. Have fixed up some
header names to have capital letters. Windows doesn't mind, but Linux
cracks the shits. Hop to have it runnning in Ubuntu ASAP.
Former-commit-id: 10a09fdf50
Sadly, it only functions about half a dozen times before failing. I
suspect something isn't being released; perhaps another call needs to be
made to the .dll?
Former-commit-id: fb964d0f71