23 Commits

Author SHA1 Message Date
Ben Gamari
dc9c6c9667 cpld: Stream CPLD data from host
Previously CPLD programming involved a large 64kbyte buffer into which
the the entire bitstream would be completely downloaded, and at which
point the programming process would commence. This is needlessly
wasteful of memory. Moreover, it could lead to USB timeouts as the
firmware needs to wait the entire duration of the programming process
before returning an ACK to the host after the final SETUP data phase
packet.

Instead, we now receive 512 byte chunks of the bitstream and stream them
to the CPLD one at a time. We wait for each packet to be streamed out to
the CPLD before ACKing the packet to prevent active data being
overwritten.
2013-09-14 18:24:25 -04:00
Ben Gamari
8e897be975 usb_standard_request: Multiple config support
GET_DESCRIPTOR would only return one configurations. This fixes that.
2013-09-14 18:24:25 -04:00
Ben Gamari
34fabad121 usb_standard_request: Sent descriptors can be const 2013-09-14 18:24:25 -04:00
Ben Gamari
4773ee5a53 hackrf_usb: Port to use usb_queue 2013-09-14 18:24:25 -04:00
Ben Gamari
500aa5888c usb_queue: Introduce queue management 2013-09-14 18:24:25 -04:00
Ben Gamari
24d5a5c4f1 usb: Add usb_endpoint_append_td
This implements the procedure for adding a TD to the end of an active
queue described in UM10503 Section 23.10.11.3.
2013-09-14 18:24:25 -04:00
Ben Gamari
1a44890095 usb_descriptor: Add description strings for configurations 2013-09-14 18:24:25 -04:00
Ben Gamari
21ad0778d2 usb_descriptor: Fix whitespace 2013-09-14 18:24:25 -04:00
Ben Gamari
1bbe375746 A few more changes due to the libopencm3 merge 2013-07-07 17:48:54 -04:00
Ben Gamari
ddd7d8ca71 Fix NVIC interrupt macro names
In libopencm3 master the NVIC macros are prefixed with NVIC_ not
NVIC_M4_
2013-07-07 17:48:54 -04:00
Ben Gamari
0972829ce5 usb: Rework configuration change notification 2013-07-01 00:25:22 -04:00
Hoernchen
b33f534da0 firmware, lib: update comments, doc 2013-06-17 12:32:12 +02:00
Hoernchen
839a1a170f fw: dc offset correction fix
pins b7 & b6 are floating, disable re-triggering
selecting a different HPC_STOP fixes the dc offset drift
disabling and enabling rx/tx after tuning triggers the dc offset
correction
2013-06-16 20:26:02 +02:00
Hoernchen
3f6c91a5db firmware: automagically update freq when changing the if freq 2013-06-16 20:25:36 +02:00
Hoernchen
8063bd8207 firmware: if precision 2013-06-16 20:24:32 +02:00
Hoernchen
a6696de1d2 fw: ack 2013-06-16 20:24:19 +02:00
Hoernchen
bee537dc01 firmware: rffc frac, if gain 2013-06-16 20:23:47 +02:00
Hoernchen
fe7558fcf3 lib/fw: rename the sample rate function 2013-06-09 00:09:46 +02:00
Sylvain Munaut
f0c7fe66f1 firmware: New fractional sample rate algorithm and usb command
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-06-09 00:08:18 +02:00
Hoernchen
1925649a01 firmware: fractional sample rates 2013-06-07 14:29:14 +02:00
Hoernchen
233c56c79d libhackrf/firmware: merge txvga gain into one gain range of 0-47 2013-05-29 00:53:41 +02:00
Hoernchen
abc3cd1f4f firmware: gain control 2013-05-27 14:01:22 +02:00
Michael Ossmann
389cbc6ac4 renamed usb_performance to hackrf_usb 2013-05-18 08:51:34 -06:00