Commit Graph

241 Commits

Author SHA1 Message Date
Jared Boone
b41ff962f4 Replace std::sin() with interpolated LUT. 2015-10-14 11:10:24 -07:00
Jared Boone
882fbbef31 Add more fft_swap bit reversal functions. 2015-10-14 11:10:24 -07:00
Jared Boone
7f46f0d071 Add tick tracking for all baseband threads. 2015-10-14 10:44:20 -07:00
Jared Boone
f1ca3fe5bb Switch RFFC5072, MAX2837 back to 40MHz reference.
Turns out the MAX2837 can't tune the necessary range when given a 50MHz reference. Oops.
2015-09-02 17:45:19 -07:00
Jared Boone
293337b647 Init radio in RX mode, not TX mode. 2015-09-02 17:30:16 -07:00
Jared Boone
75d9aa9c73 Remove extra CPLD code internal signals. 2015-08-27 16:54:38 -07:00
Jared Boone
19764ce693 Swap function of P2_8, P2_4 in schematic, firmware, CPLD.
gpio_unused: P2_4 -> P2_8
gpio_lcd_rd: P2_8 -> P2_4
P2_8 is a very long line, shared with DFU button.
Revise schematic to match CPLD signal names.
2015-08-27 16:54:38 -07:00
Jared Boone
b13081696d Simplify MessageQueue pop() usage. 2015-08-27 14:35:17 -07:00
Jared Boone
035ec84f04 Wrap MessageQueue.push() with mutex.
This addresses issue #61, occasional FIFO/data corruption. With the mutex, any thread on one core can write to the FIFO. But still, only one thread on one core should read from the FIFO.
2015-08-26 14:18:03 -07:00
Jared Boone
7937ea7327 Enable DMB instruction at end of FIFO data copy.
Can't hurt to make sure FIFO and buffer state are flushed before returning to caller...
2015-08-26 14:13:51 -07:00
Jared Boone
4fe145b61d Remove application kludge to strip DFU of header.
Strip the header in in the Python SPI image generator, instead.
2015-08-25 15:11:22 -07:00
Jared Boone
690c3c98db Add Shutdown message, plumbing to send and handle. 2015-08-20 18:03:49 -07:00
Jared Boone
bd791a8512 Remove code replaced by memory_map.hpp. 2015-08-20 17:50:20 -07:00
Jared Boone
4b7780f5c6 Move _KiB and _MiB user-defined literals to utility.hpp.
Where I put all the stuff I don't know where to put.
2015-08-20 17:15:51 -07:00
Jared Boone
1c3e45917c Rework to make use of declared memory map regions. 2015-08-20 17:11:08 -07:00
Jared Boone
05690b20ed Created memory_map header.
Knowledge of memory map will be consolidated here.
2015-08-20 17:09:11 -07:00
Jared Boone
52e8093618 Generalize FIFO to specify FIFO size as 2^K.
Configure baseband queue to be larger (4K) than application queue (2K).
2015-08-20 15:59:25 -07:00
Jared Boone
4126f1ab1f Change IPC to exchange data, not pointers. 2015-08-20 13:13:12 -07:00
Jared Boone
b1a4418f06 Push more widget painting code into ui::Painter
Hide knowledge of damage tracking strategy.
2015-08-14 21:36:51 -07:00
Jared Boone
872c998ff1 Move widget tree painting to ui::Painter.
Still doesn't seem like the right place, but better than the event dispatcher!
2015-08-14 21:27:46 -07:00
Jared Boone
a9bb7c96e5 Move UI dirty tracking out of application main.cpp. 2015-08-14 21:17:23 -07:00
Jared Boone
a7226820d0 Hide implementation of MessageHandlerMap. 2015-08-14 17:31:23 -07:00
Jared Boone
76df4f0369 Extract magnitude_squared to utility. 2015-08-04 14:08:15 -07:00
Jared Boone
efaf13d2d1 Extract complex16_mag_squared_to_dbv_norm to utility. 2015-08-04 12:03:10 -07:00
Jared Boone
d855336985 Persist tuned frequency.
w00t!
2015-08-04 10:31:03 -07:00
Jared Boone
4870f0015b Extract PPB reset value to a constant.
Group with related constants.
2015-08-04 10:29:54 -07:00
Jared Boone
52ba9af1c7 Make persistent memory data_t types explicit.
I want the storage types to be reliable, separate from the interface types.
2015-08-04 10:29:10 -07:00
Jared Boone
11c786c4fb Change set_correction_ppb argument to const. 2015-08-04 10:28:23 -07:00
Jared Boone
45d26abf10 Use correct memory region for persistent storage.
Turns out 0x10088000 - 0x10089fff is not the right place. It's 0x40041000, and is only 256 bytes!
Move PPM to correct place, change representation to PPB for finer control.
Reset PPB value to initial value if read value out of bounds.
Clip PPB value on write to permitted bounds.
Contributes to resolution of issue #11.
2015-08-04 10:03:18 -07:00
Jared Boone
98a1eb5c1c Add LCD shutdown method.
Resets LCD controller, turns off backlight.
2015-08-01 14:36:27 -07:00
Jared Boone
65d5f68bfb Move LCD display object to portapack namespace.
Globals are bad... Except in embedded development!
2015-08-01 14:31:51 -07:00
Jared Boone
8af8941687 Use from-RAM DFU image, proper HackRF firmware padding. 2015-07-30 10:02:05 -07:00
Jared Boone
b32f5e2239 Generalize method for executing SPI flash image in M4 RAM. 2015-07-30 09:41:33 -07:00
Clayton Smith
3874c82d57 Store PPM in shared memory for now. 2015-07-29 14:26:40 -07:00
Jared Boone
0ed607b6dd Short-term focus navigation fix
Addresses argilo's immediate problem navigating between fields in a row, issue #32.
2015-07-29 14:00:59 -07:00
Jared Boone
4aa1c8fb65 String functions now default to length = 0, no padding. 2015-07-20 21:53:12 -07:00
Jared Boone
6f2cbd1ac5 Partial refactor of channel filter frequency code.
Move channel filter frequency determination to baseband side, where the filtering is determined and performed.
Add useful accessor methods to BlockDecimator.
2015-07-18 16:49:40 -07:00
Jared Boone
ffc50785b7 specan: cleared up terminology, accounted for decimation.
Channel spectrum decimation now accounted for when computing filter frequencies.
Renamed a bunch of variables relating to channel spectrum bandwidth and filter frequencies.
2015-07-18 16:48:19 -07:00
Jared Boone
e571ca7f1c Change reference initializations errors in GCC 4.8
Resolves issue #12.
2015-07-17 12:07:38 -07:00
Jared Boone
7c9fc62f5e Move halt indication code to common place. 2015-07-08 16:28:57 -07:00
Jared Boone
dc6fee8370 Initial firmware commit. 2015-07-08 08:39:24 -07:00