Commit Graph

  • e02d2f0325 Remove dependencies on application-specific USB descriptors. Jared Boone 2013-09-17 15:13:12 -07:00
  • fe2a700f8f Move files that have no application-specific bits (e.g. USB stack, tuning, and RF path APIs) to ../common/. Jared Boone 2013-09-17 15:10:46 -07:00
  • 78121f5a3e Merge branch 'refs/heads/bgamari_usb_merge' into jboone_refactor_20130906 Jared Boone 2013-09-17 13:10:30 -07:00
  • 4984a8b681 Fix to SPIFI addressing during hackrf_spiflash read operation. This fixes mismatches between programmed and read-back data. Jared Boone 2013-09-17 12:18:33 -07:00
  • d13e80b520 With bgamari's new USB configuration for CPLD, be sure to turn up CPU clock to maximum. Jared Boone 2013-09-16 15:21:28 -07:00
  • c0274cd2d3 Merge remote-tracking branch 'bgamari/usb' into bgamari_usb_merge Jared Boone 2013-09-16 15:18:14 -07:00
  • 0a46aae5b9 Convert from unsigned to two's complement inside CPLD. TODO: This requires changes to gr-osmosdr and software that uses hackrf_transfer files directly. Jared Boone 2013-09-16 14:59:14 -07:00
  • 4cd7662f7c hackrf_usb_rom_to_ram: Add usb_queue to Makefile Ben Gamari 2013-09-15 18:29:33 -04:00
  • b3f6134fc1 hackrf_cpldjtag: Update for new hackrf_cpld_write interface Ben Gamari 2013-09-08 13:46:03 -04:00
  • d21d616576 libhackrf: Rework hackrf_cpld_write to use new firmware interface Ben Gamari 2013-09-08 13:43:29 -04:00
  • 67a181ac36 hackrf_usb: Update transceiver_mode on all configuration changes Ben Gamari 2013-09-09 00:54:24 -04:00
  • 64ef3f71c0 hackrf_usb: Make main loop non-blocking Ben Gamari 2013-09-09 00:53:41 -04:00
  • 3ba8d33de8 hackrf: Enter cpld_update from main loop Ben Gamari 2013-09-08 23:47:18 -04:00
  • dc9c6c9667 cpld: Stream CPLD data from host Ben Gamari 2013-09-02 19:44:22 -04:00
  • d2b2b11998 xapp058/ports: Clean up comments and dead code Ben Gamari 2013-07-09 19:05:00 -04:00
  • 8e897be975 usb_standard_request: Multiple config support Ben Gamari 2013-09-08 22:29:56 -04:00
  • 34fabad121 usb_standard_request: Sent descriptors can be const Ben Gamari 2013-09-08 22:28:40 -04:00
  • 4773ee5a53 hackrf_usb: Port to use usb_queue Ben Gamari 2013-09-08 13:54:56 -04:00
  • 693c262134 libhackrf: Stop streaming before killing transfer thread Ben Gamari 2013-09-08 13:54:25 -04:00
  • 500aa5888c usb_queue: Introduce queue management Ben Gamari 2013-09-02 19:22:27 -04:00
  • 24d5a5c4f1 usb: Add usb_endpoint_append_td Ben Gamari 2013-06-28 21:30:46 -04:00
  • 1a44890095 usb_descriptor: Add description strings for configurations Ben Gamari 2013-09-08 12:47:08 -04:00
  • 21ad0778d2 usb_descriptor: Fix whitespace Ben Gamari 2013-09-02 19:40:29 -04:00
  • 7075cc6c1c More constraints clean-up: Associating timing specification groups on the NET declarations. Updated setup/hold constraints -- old constraints were incomplete and possibly incorrect, though I'm still not *positive*. Jared Boone 2013-09-11 16:52:11 -07:00
  • d628e2d09c Add CODEC_CLK to adc_data constraint group. Jared Boone 2013-09-11 16:22:39 -07:00
  • e9236e50c2 Fix CPLD constraint to assume SGPIO frequency of 40MHz, not 20MHz. Jared Boone 2013-09-11 16:21:16 -07:00
  • 5a7b927db6 Change line endings in CPLD user constraints file license header to match the rest of the file. Jared Boone 2013-09-11 16:20:43 -07:00
  • d7e2a8d133 Added note on generating XSVF inside Xilinx tools. Jared Boone 2013-09-11 15:54:17 -07:00
  • 042229ea19 Set transceiver mode to OFF whenever USB configuration changes. Jared Boone 2013-09-08 15:52:36 -07:00
  • 0411ffe3f0 Set RF path direction to "off" when transceiver_mode is OFF. Jared Boone 2013-09-08 15:44:37 -07:00
  • 98e33fbb5b Remove commented RFFC5071 code in set_transceiver_mode. Jared Boone 2013-09-08 15:36:25 -07:00
  • d00123ed24 Update RFFC5071 enable state when switching RF path direction. TODO: There's some stuff here that needs refactoring -- duplicate code is showing up. Jared Boone 2013-09-08 15:20:47 -07:00
  • a897c4f016 Add RF_PATH_DIRECTION_OFF enum and code. Jared Boone 2013-09-08 15:16:51 -07:00
  • 217630d82c Convert rf_path_set_direction from if/else to switch/case. Jared Boone 2013-09-08 15:13:44 -07:00
  • 9b2b7b0817 Move SGPIO ISRs to separate .c/.h files. Move usb_bulk_buffer* to separate .c/.h files. Jared Boone 2013-09-08 15:10:19 -07:00
  • 1c81fa895c Bump mossmann/libopencm3 commit. Jared Boone 2013-09-07 22:34:36 -07:00
  • ddf4c01f66 Forgot to propagate license to rf_path.[ch]. Jared Boone 2013-09-07 22:30:48 -07:00
  • 14eba3d947 Extract tuning code into separate .c/.h file. Jared Boone 2013-09-07 22:30:13 -07:00
  • b5dc264d22 Extract rf_path code into a separate .c/.h. Add an rf_path_init() function to do initial, idle configuration during start-up. Jared Boone 2013-09-07 22:22:03 -07:00
  • 7cf4058372 Move various switchctrl manipulation into clearly-defined rf_path_*() implementations. Jared Boone 2013-09-07 22:06:01 -07:00
  • bf297e0e08 I might've been a bit hasty removing volatile from transceiver_mode. Jared Boone 2013-09-07 22:01:46 -07:00
  • 4ad3680428 Break SGPIO interrupt handlers in two -- RX and TX. Assign an SGPIO interrupt handler function at runtime, based on RX or TX mode. NOTE: This is incompatible with placing the vector table in ROM, which is fine on a device with no internal flash). Remove SGPIO interrupt-time dependency on volatile transceiver_mode variable. Side effect is that a few cycles are probably saved inside the SGPIO interrupt. Jared Boone 2013-09-07 20:58:08 -07:00
  • e7c6408473 Add comment describing SWITCHCTRL pins vs. RF path configurations. Jared Boone 2013-09-07 20:21:43 -07:00
  • d65314db37 Clean up switchctrl code a bit -- redundant #ifdefs and complex if conditions. Jared Boone 2013-09-07 20:20:48 -07:00
  • bafe97e302 Extract knowledge of RF path configurations from the RFFC5071 driver. Change initial RF path mode to SWITCHCTRL_SAFE. (Previously started at SWITCHCTRL_SAFE and then immediately switched to SWITCHCTRL_AMP_BYPASS.) Jared Boone 2013-09-07 12:59:57 -07:00
  • 6dee455ef2 Contain calls to rffc5071_(rx|tr) to a single location. Jared Boone 2013-09-07 12:40:09 -07:00
  • 518c46a111 Oops, missed a spot where I should've called a MAX2837 mode function. Jared Boone 2013-09-06 23:01:40 -07:00
  • b89f43e97e Replace transceiver_mode dependent MAX2837 mode management with max2837_mode() -> max2837_set_mode() calls. Jared Boone 2013-09-06 22:50:04 -07:00
  • a367f84d15 Add MAX2837 mode set/get functions. Jared Boone 2013-09-06 22:29:57 -07:00
  • a5c0b5deeb Add MAX2837 functions to control operating mode. Replace direct manipulation of GPIOs controlling MAX2837 with operating mode functions. Jared Boone 2013-09-06 21:29:31 -07:00
  • 7c5db57f02 Hide the MAX2837 intermediate frequency behind a function. It also prevents leakage of the freq_*_cache variables. Jared Boone 2013-09-06 16:28:19 -07:00
  • 1ac3d59875 Update libopencm3 submodule commit. Jared Boone 2013-09-06 16:02:01 -07:00
  • 5cad831075 Fixed cut-and-paste oops in variable name. Jared Boone 2013-09-06 15:37:24 -07:00
  • 5143456d6d Update libopencm3 submodule commit. Jared Boone 2013-09-06 15:25:34 -07:00
  • b893b0a694 Merge remote-tracking branch 'bgamari/usb' into bgamari_usb_merge Jared Boone 2013-09-06 15:20:58 -07:00
  • 266003f3af Added two CGU debugging tools: Jared Boone 2013-09-04 16:34:20 -07:00
  • 6c0d803647 Cleaned up management of SGPIO and transceiver mode state vs. USB configuration state. This should help with power management. It may also be necessary when operating at low speed (48MHz), to keep the SGPIO interrupts from chewing up ALL available CPU cycles. Jared Boone 2013-09-04 16:27:43 -07:00
  • 1f5b979fd9 Added usb_set_configuration_changed_cb() call that bgamari fixed in his as-yet-unmerged USB branch. Jared Boone 2013-09-04 16:24:19 -07:00
  • d76d72665e Adjusted cpu_clock_pll1_low_speed() to operate at 48MHz, as per several comments with the code. The actual MSEL value was previously selecting 84MHz. Jared Boone 2013-09-04 16:23:32 -07:00
  • 237bf6ecdb Pulled redundant PLL1 initialization code from cpu_clock_init(). Called cpu_clock_pll1_low_speed() instead. Jared Boone 2013-09-04 16:22:41 -07:00
  • 189d245868 Merge remote-tracking branch 'TitanMKD/master' into titanmkd_overclock_fix Jared Boone 2013-09-04 12:41:03 -07:00
  • d5cebd92de Merge pull request #98 from mikeryan/blockdiagram-images Jared Boone 2013-09-04 10:44:41 -07:00
  • a90c3b2324 Merge pull request #100 from jboone/master Jared Boone 2013-09-02 11:10:11 -07:00
  • 24ed48d93a Fix for "issues/62 fix PLL1 overclock bug" see hackrf_core.c -> cpu_clock_init() Fix for "issues/78 startup current too high" see hackrf_core.c -> New functions cpu_clock_pll1_low_speed()/cpu_clock_pll1_max_speed() & hackrf_usb.c to switch low_speed/max_speed. TitanMKD 2013-08-28 22:01:57 +02:00
  • 10d67a8265 doc: block diagram of HackRF Mike Ryan 2013-08-17 10:07:03 -07:00
  • 2648107a0b added dfu-util requirement Michael Ossmann 2013-08-11 14:56:32 -06:00
  • 11156d958d Delete jawbreaker_boot_mode.pdf Jared Boone 2013-08-11 12:51:50 -07:00
  • d0f0090474 Delete jawbreaker_boot_mode.ods Jared Boone 2013-08-11 12:51:40 -07:00
  • b056efcaf8 .so and .pc version update Michael Ossmann 2013-07-26 18:30:46 -06:00
  • 3642fe9bc6 usb_queue: Kill dead declaration Ben Gamari 2013-07-09 20:57:37 -04:00
  • 0e14a38403 fix3 Ben Gamari 2013-07-07 23:22:34 -04:00
  • f6b41dbda5 fix2 Ben Gamari 2013-07-07 23:21:18 -04:00
  • b738cd5294 fix1 Ben Gamari 2013-07-07 23:21:11 -04:00
  • bb69f655b1 usb_queue: Use while instead of for Ben Gamari 2013-07-07 21:58:06 -04:00
  • f50253eaa3 usb_queue: Use ldrex/strex to avoid disabling interrupts Ben Gamari 2013-07-07 21:54:25 -04:00
  • e23cc9bd6c usb_queue: Disable interrupts when allocating transfer Ben Gamari 2013-07-07 21:25:31 -04:00
  • cce17c42fd libopencm3: Update Ben Gamari 2013-07-07 21:24:13 -04:00
  • df400eced6 Bump libopencm3 Ben Gamari 2013-07-07 21:08:57 -04:00
  • 4822512dac Bump libopencm3 Ben Gamari 2013-07-07 18:51:50 -04:00
  • a9f8103fec hackrf_stop_rx: First set mode, then kill transfer thread Ben Gamari 2013-07-06 19:21:12 -04:00
  • d30d7309d9 usb_queue: Mark queues as volatile Ben Gamari 2013-07-06 19:17:57 -04:00
  • 36cf222ef4 usb_queue: Add some interrupt disabling around critical sections Ben Gamari 2013-07-06 19:17:38 -04:00
  • 14526cd1c2 hackrf_usb: Be more careful in transceiver_mode check Ben Gamari 2013-07-06 19:15:17 -04:00
  • 9f2dca3e4e usb_standard_request: Always call configuration_changed_cb Ben Gamari 2013-07-06 17:01:12 -04:00
  • f12defebc6 usb: Ensure endpoint queue is flushed on disable/init Ben Gamari 2013-07-06 17:08:51 -04:00
  • 8fdc22f8c8 usb-queue: Add flush utility Ben Gamari 2013-07-06 17:00:23 -04:00
  • 969647dbef usb_queue: Update queue before calling completion callback Ben Gamari 2013-07-05 11:15:23 -04:00
  • 5a70772295 usb_queue: Enable transfer chaining Ben Gamari 2013-07-04 15:30:43 -04:00
  • 3e3a57e3ce hackrf_usb: Don't attempt to schedule transfers when OFF Ben Gamari 2013-07-04 15:30:15 -04:00
  • abb0b3f928 hackrf_usb: Forgotten initialization Ben Gamari 2013-07-04 14:01:32 -04:00
  • dd81921650 usb_queue: Reduce transfer_pool size Ben Gamari 2013-07-04 13:36:25 -04:00
  • df97b6584b hackrf_usb: Port to usb_queue Ben Gamari 2013-07-04 11:53:09 -04:00
  • b6f9a3699a usb_queue: Kill assert reference Ben Gamari 2013-07-04 11:35:32 -04:00
  • 63ce57b306 usb_queue: Clarify comment Ben Gamari 2013-07-04 11:26:22 -04:00
  • f1fc4a6d73 usb_queue: Account for completion of multiple transfers Ben Gamari 2013-07-03 19:11:26 -04:00
  • 13589b8695 usb_queue: Ensure fields get set Ben Gamari 2013-07-03 18:14:15 -04:00
  • 28fcb2a961 usb_queue: Merge fill_in_transfer into schedule Ben Gamari 2013-07-03 17:51:42 -04:00
  • 1d9119fd8a usb: Ensure TERMINATE bit gets set Ben Gamari 2013-07-03 17:48:55 -04:00
  • 2ad4cbe087 usb_queue: Fix calculation of transferred Ben Gamari 2013-07-03 17:48:43 -04:00
  • f3a36d06fd usb_queue: Add new transfer after finding tail Ben Gamari 2013-07-03 17:11:29 -04:00