Jared Boone
98e33fbb5b
Remove commented RFFC5071 code in set_transceiver_mode.
2013-09-08 15:36:25 -07:00
Jared Boone
d00123ed24
Update RFFC5071 enable state when switching RF path direction. TODO: There's some stuff here that needs refactoring -- duplicate code is showing up.
2013-09-08 15:20:47 -07:00
Jared Boone
a897c4f016
Add RF_PATH_DIRECTION_OFF enum and code.
2013-09-08 15:19:27 -07:00
Jared Boone
217630d82c
Convert rf_path_set_direction from if/else to switch/case.
2013-09-08 15:13:44 -07:00
Jared Boone
9b2b7b0817
Move SGPIO ISRs to separate .c/.h files.
...
Move usb_bulk_buffer* to separate .c/.h files.
2013-09-08 15:10:19 -07:00
Jared Boone
1c81fa895c
Bump mossmann/libopencm3 commit.
2013-09-07 22:34:36 -07:00
Jared Boone
ddf4c01f66
Forgot to propagate license to rf_path.[ch].
2013-09-07 22:30:48 -07:00
Jared Boone
14eba3d947
Extract tuning code into separate .c/.h file.
2013-09-07 22:30:13 -07:00
Jared Boone
b5dc264d22
Extract rf_path code into a separate .c/.h.
...
Add an rf_path_init() function to do initial, idle configuration during start-up.
2013-09-07 22:22:03 -07:00
Jared Boone
7cf4058372
Move various switchctrl manipulation into clearly-defined rf_path_*() implementations.
2013-09-07 22:06:01 -07:00
Jared Boone
bf297e0e08
I might've been a bit hasty removing volatile from transceiver_mode.
2013-09-07 22:01:46 -07:00
Jared Boone
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.
2013-09-07 21:04:36 -07:00
Jared Boone
e7c6408473
Add comment describing SWITCHCTRL pins vs. RF path configurations.
2013-09-07 20:21:43 -07:00
Jared Boone
d65314db37
Clean up switchctrl code a bit -- redundant #ifdefs and complex if conditions.
2013-09-07 20:20:48 -07:00
Jared Boone
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.)
2013-09-07 12:59:57 -07:00
Jared Boone
6dee455ef2
Contain calls to rffc5071_(rx|tr) to a single location.
2013-09-07 12:40:09 -07:00
Jared Boone
518c46a111
Oops, missed a spot where I should've called a MAX2837 mode function.
2013-09-06 23:09:29 -07:00
Jared Boone
b89f43e97e
Replace transceiver_mode dependent MAX2837 mode management with max2837_mode() -> max2837_set_mode() calls.
2013-09-06 22:50:04 -07:00
Jared Boone
a367f84d15
Add MAX2837 mode set/get functions.
2013-09-06 22:29:57 -07:00
Jared Boone
a5c0b5deeb
Add MAX2837 functions to control operating mode.
...
Replace direct manipulation of GPIOs controlling MAX2837 with operating mode functions.
2013-09-06 21:29:31 -07:00
Jared Boone
7c5db57f02
Hide the MAX2837 intermediate frequency behind a function. It also prevents leakage of the freq_*_cache variables.
2013-09-06 16:46:03 -07:00
Jared Boone
1ac3d59875
Update libopencm3 submodule commit.
2013-09-06 16:02:01 -07:00
Jared Boone
266003f3af
Added two CGU debugging tools:
...
- check_clock.py to decode the frequency monitor result.
- dump_cgu.py to display selected CGU registers in a legible format.
2013-09-04 16:34:20 -07:00
Jared Boone
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.
2013-09-04 16:27:43 -07:00
Jared Boone
1f5b979fd9
Added usb_set_configuration_changed_cb() call that bgamari fixed in his as-yet-unmerged USB branch.
2013-09-04 16:24:19 -07:00
Jared Boone
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.
2013-09-04 16:23:32 -07:00
Jared Boone
237bf6ecdb
Pulled redundant PLL1 initialization code from cpu_clock_init(). Called cpu_clock_pll1_low_speed() instead.
2013-09-04 16:22:41 -07:00
Jared Boone
189d245868
Merge remote-tracking branch 'TitanMKD/master' into titanmkd_overclock_fix
...
Conflicts:
firmware/hackrf_usb/hackrf_usb.c
2013-09-04 12:41:03 -07:00
Jared Boone
a90c3b2324
Merge pull request #100 from jboone/master
...
Incorporate bgamari changes for libopencm3 upstream.
2013-09-02 11:10:11 -07:00
TitanMKD
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.
2013-08-28 22:01:57 +02:00
Michael Ossmann
2648107a0b
added dfu-util requirement
2013-08-11 14:56:32 -06:00
Ben Gamari
4822512dac
Bump libopencm3
2013-07-07 18:51:50 -04:00
Ben Gamari
2717b7534e
firmware/: Update #includes for libopencm3 merge
2013-07-07 17:48:54 -04:00
Ben Gamari
3dbe817b09
firmware/: Use uint32_t instead of u32
2013-07-07 17:48:54 -04:00
Ben Gamari
1bbe375746
A few more changes due to the libopencm3 merge
2013-07-07 17:48:54 -04:00
Ben Gamari
98f30188c1
Ensure that LPC43XX is defined for libopencm3
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
fac5d0dfba
Bump libopencm3
2013-07-07 17:48:54 -04:00
Ben Gamari
0972829ce5
usb: Rework configuration change notification
2013-07-01 00:25:22 -04:00
Ben Gamari
8a529617e5
Build against libopencm3 submodule tree by default
2013-07-01 00:21:49 -04:00
Ben Gamari
21a83179d8
Add libopencm3 submodule
2013-07-01 00:21:27 -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
8f55436cd1
firmware: fix a warning
2013-06-09 09:15:35 -06:00
Hoernchen
deafbab9fc
lib: make sure to tell the linker that we're hardfloat, or it will choose the wrong libgcc.a...
2013-06-09 00:10:05 +02:00
Hoernchen
fe7558fcf3
lib/fw: rename the sample rate function
2013-06-09 00:09:46 +02:00