Commit Graph

260 Commits

Author SHA1 Message Date
EspoTek bf2697d80d Mode 4 Up
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
2016-12-18 14:44:57 +11:00
EspoTek c01b24e661 Mode 3 Up
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
2016-12-18 13:57:52 +11:00
EspoTek 25a2ab2a41 Committ before revert
Former-commit-id: 7fd9074207
2016-12-16 17:19:33 +11:00
EspoTek 282a9a394d Mode 2 Up.
And it looks like the old glitch has crept back in?  Was it not fixed
all along?


Former-commit-id: 536ba0ea4c
2016-12-16 15:56:53 +11:00
EspoTek 275394fc36 GUI responsive when device disconnected
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
2016-12-16 15:11:47 +11:00
EspoTek 9db4972573 Mode 1 Up
Mode 1 moved to the new system.  Same notes as mode 0.


Former-commit-id: 3d5c2b0b0a
2016-12-16 14:23:06 +11:00
EspoTek 02d4ba10da One packet per sample glitch gone!!!
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
2016-12-15 13:52:44 +11:00
EspoTek 68453fe220 Triple endpoints working in SW now
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
2016-12-15 09:52:43 +11:00
EspoTek b5ff947309 3 Iso Endpoints
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
2016-12-13 10:46:13 +11:00
EspoTek dbc2865396 3 lines changed
Just to make debugging easier on the one-packet-per-frame-dropped error.


Former-commit-id: 88ddd41c8d
2016-12-08 10:44:42 +11:00
EspoTek f272a1f2bd Merge remote-tracking branch 'origin/master'
# Conflicts:
#	Desktop Interface/Labrador.pro.user


Former-commit-id: 0b1d5c5ec2
2016-12-08 08:40:29 +11:00
EspoTek 86d74f5dc2 Sped up serial decode dramatically
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
2016-12-08 08:39:22 +11:00
EspoTek 7b959d6fdb Changed default search directory
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
2016-11-30 10:58:34 +11:00
EspoTek 9179073975 Code cleanup
Added comments and a folder structure.  No functional changes.


Former-commit-id: 644359d1a2
2016-11-29 09:56:21 +11:00
EspoTek adaaa63eb7 Added more #defines to code
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
2016-11-28 10:38:14 +11:00
EspoTek e1c451ebb2 Plotted and done
Made up the silkscreen layers, put down the stabiliser pin and it's all
ready to be sent off now!


Former-commit-id: 1c6201a7f3
2016-11-23 12:16:40 +11:00
EspoTek 2069cf2e16 FInished the board.
Just need to position balange pins.  Design seems tight, with really low
power supply distances.


Former-commit-id: 0964cc7e6a
2016-11-22 21:06:41 +11:00
EspoTek 9879262085 Redoing the board
Signal gen and PSU wired in.  Very happy!


Former-commit-id: b521416f48
2016-11-22 14:01:56 +11:00
EspoTek 09b492bfd0 Swapped all components to SMD
Board too dense.  Going to start again.


Former-commit-id: edf9c8904b
2016-11-22 10:03:11 +11:00
EspoTek 542daed722 More board work.
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
2016-11-20 21:17:47 +11:00
EspoTek f758213761 PSU in place
First attempt, anyway.  Far shorter grounding than last rev!  Very
happy!


Former-commit-id: f0fa88c473
2016-11-20 18:39:26 +11:00
EspoTek 8b8a748a5d Named headers
Also there's now an empty kicad_pcb file.


Former-commit-id: 59c472fedb
2016-11-20 17:35:25 +11:00
EspoTek b55a66a0f2 Error fix from last eschema
Accidentally set 2x4 headers rather than 1x4.  This has been fixed.


Former-commit-id: c5408e5c1b
2016-11-20 17:31:44 +11:00
EspoTek fedc1f8892 Another Eschema Update
Have changed pinout of scope.
Still haven't added SMD pads for inductor/diode since the Element14 is
not playing ball.


Former-commit-id: 3dde628793
2016-11-20 17:29:05 +11:00
EspoTek 2318c94755 New Eschema
- 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
2016-11-20 15:52:25 +11:00
EspoTek 95c5a4b95d Undid PCB revert
I don't want to deal with KiCAD's library management again.  The first
time was bad enough.


Former-commit-id: 2696688130
2016-11-19 18:20:44 +11:00
EspoTek 44bf2d39c4 Reverted PCB files to initial upload
Going to have a final attempt now!


Former-commit-id: bf98f0796f
2016-11-19 17:42:15 +11:00
EspoTek 6a008946d1 Slight change to terminology
Changed things like "Aplitude" to "Amplitude (peak-peak)".
Just to make things a bit less confusing for the user.


Former-commit-id: c9c98b0295
2016-11-19 17:29:41 +11:00
EspoTek ec339d1a76 Update README.md
Former-commit-id: 2f4d8f928b
2016-11-17 11:40:13 +11:00
EspoTek 21832f4d55 Added a single #define
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
2016-11-10 17:39:40 +11:00
EspoTek 4c25a50696 Pushing Windows
Going to revert and compare.


Former-commit-id: 8d0f6dbeeb
2016-11-10 15:50:34 +11:00
EspoTek 663cf71cfe Mac OS X build running
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
2016-11-09 16:21:00 +11:00
EspoTek e8e4dfd2ca Merge remote-tracking branch 'origin/master'
# Conflicts:
#	Desktop Interface/Labrador.pro.user


Former-commit-id: c1355d0862
2016-10-26 10:33:16 +11:00
EspoTek 323eede224 PCB update
Former-commit-id: 6731cfb7f1
2016-10-26 10:31:04 +11:00
esposch 5f9ea98da5 Added some comments.
Also cleaned up the USB drivers a bit; moved more stuff to
genericUsbDriver.

Former-commit-id: 047450f858
2016-10-24 12:40:06 +11:00
esposch 686be86974 Linux version up and running, with autorecover!
Hopefully the Windows compile hasn't been broken.  Fingers crossed!

Former-commit-id: 8b99289369
2016-10-24 11:27:19 +11:00
esposch f013018320 Iso working, but can't get libusb_handle_events() to run in another
thread.

Former-commit-id: 4509c31f55
2016-10-21 13:10:42 +11:00
esposch 8f432b3607 Oh, it's just like .dlls but they call it something different on Linux.
Fair enough.

USB Control working.  Iso still WIP, but if it works first time it
should be up and running tomorrow!

Former-commit-id: ea47ae4133
2016-10-20 17:16:09 +11:00
esposch 1c618d20e4 And committing and trying to build a sample because I don't know how to
link to libusb under Linux.  Shame, shame puppy shame.

Former-commit-id: a7da94f957
2016-10-20 13:56:09 +11:00
EspoTek cb9f622c1e More changes for multiplatform build
.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
2016-10-20 12:54:05 +11:00
EspoTek 1c407df178 And updated isoDriver
So it no longer uses winusbDriver


Former-commit-id: 539832ae66
2016-10-18 09:48:18 +11:00
EspoTek 4e5f8aaac1 Subclassed winUsbDriver
Created a genericUsbDriver class and then subclassed winUsbDriver to it.


Former-commit-id: bd8480541c
2016-10-18 09:44:58 +11:00
EspoTek 920cfea03d New PCB
New version of PCB for the "shape the dev" folks


Former-commit-id: ddda840a5e
2016-10-18 08:52:34 +11:00
EspoTek aafb6d184b Added back in recovery
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
2016-10-17 12:53:44 +11:00
EspoTek c0389ceb42 Quick bugfix
Fixed the "pause bug".  It was actually a feature that I deliberately
coded in, but apparently it's really annoying.


Former-commit-id: 5c01c3c5a9
2016-10-14 10:53:05 +11:00
EspoTek ca6b4a2255 NEW DRIVER CODE WORKING!!!
WOOO!!!!!

(Just make sure not to change the FPS.  It's still nowhere near
perfect.)


Former-commit-id: 4ae84d893c
2016-10-14 10:27:17 +11:00
EspoTek aa542ae5a4 Literally just shoved new driver into old code
Complete with file I/O rather than actual communication.


Former-commit-id: be1668ba46
2016-10-14 09:17:00 +11:00
EspoTek f694e40ed0 Removed autorecover
Now crashes instead.  Will put back properly when new driver done.


Former-commit-id: c720b6ee39
2016-10-14 08:46:24 +11:00
EspoTek 595be699ee New driver (not working)
Committing before revert.
Not worth going through after a shotgun debugging sesh.


Former-commit-id: 2e8277c392
2016-10-14 08:19:02 +11:00
EspoTek 670a821ddc Bugfix
Quick bugfix in AVR code.  Prevents CH1 accidentally controlling sample
number on CH2.


Former-commit-id: ce0d5b8bb1
2016-10-13 11:28:39 +11:00