Jared Boone
4332bc763e
Audio: Use correct codec based on hardware revision.
2017-05-31 11:48:03 -07:00
Jared Boone
6e5549f127
Add hardware revision detection function.
2017-05-31 11:47:13 -07:00
Jared Boone
600dcb734e
AK4951: Initial commit.
2017-05-31 11:45:54 -07:00
Jared Boone
395e3b1736
Audio: Add input namespace and functions.
2017-05-31 11:43:45 -07:00
Jared Boone
bec626e29f
WM8731: Add Codec abstraction.
2017-05-31 11:42:12 -07:00
Jared Boone
37c058354e
WM8731: Add method to detect codec is present.
...
Used to determine PortaPack hardware version.
2017-05-31 11:34:16 -07:00
Jared Boone
8f5555b052
WM8731: Store headphone volume for mute() function.
...
So when unmuted, previous volume can be restored.
2017-05-31 11:32:32 -07:00
Jared Boone
f6e1e78e8a
WM8731: Return bool from reset() and low-level write()s.
2017-05-31 11:28:00 -07:00
Jared Boone
da4bee6cc6
Audio: Introduce Codec abstraction.
...
Now that we have two hardware variants with different audio codecs.
2017-05-31 11:21:51 -07:00
Jared Boone
5da64ab069
Modify registers widget to simplify configuration.
...
Now specify number of registers and register bits, and the widget figures out the rest.
2017-05-31 11:12:56 -07:00
Jared Boone
b3ee884f16
I2S RX: Set RX SDA pin to correct SCUMUX mode.
...
It's left in GPIO mode ordinarily, because of CPLD programming earlier in boot-up.
2017-05-26 16:50:34 -07:00
Jared Boone
5cb71d787e
Audio DMA: Fix cut-and-paste error
...
rx_empy_buffer() was returning the peripheral address, not the buffer address.
2017-05-26 16:21:28 -07:00
Jared Boone
6ef8b19bf1
Move some GPDMA configuration to application processor.
2017-05-24 15:42:44 -07:00
Jared Boone
556085b3e3
I2S: Enable TX_WS output pin's input buffer.
...
This permits receipt of TX_WS as RX_WS for the receive side of the I2S peripheral, and was why I got no RX samples when testing microphone input.
2017-05-22 14:20:49 -07:00
Jared Boone
f88e27bd3f
FatFs: Apply patch ff_12c_p3.diff.
2017-05-03 12:53:52 +01:00
Jared Boone
dfc1eab4ae
FatFs: Apply patch ff_12c_p2.diff.
2017-05-03 12:52:59 +01:00
Jared Boone
fd8f5e62e1
FatFs: Apply patch ff_12c_p1.diff.
2017-05-03 12:51:24 +01:00
Jared Boone
a65fe3315c
FatFs: Update to release R0.12c.
2017-05-03 12:43:45 +01:00
Jared Boone
85712a2c5f
FatFs: Update to release R0.12b.
2017-05-03 12:35:19 +01:00
Jared Boone
dd0048db8d
Remove broken simd32_t type.
2017-05-03 09:58:07 +01:00
Jared Boone
018d8ee952
Init PortaPack IO after CPLD update.
2017-05-02 06:45:23 +01:00
Jared Boone
d6e3cc1d1b
Move CPLD updating to earlier in start-up
...
Make sure CPLD code is up-to-date before attempting to interact with PortaPack.
2017-05-02 06:44:50 +01:00
Jared Boone
19e42196db
Fn for control of audio codec reset signal.
2017-05-01 10:37:49 +01:00
Jared Boone
b12f90ef08
Adjust initial CPLD io_reg value for new CPLD code.
2017-05-01 10:34:33 +01:00
Jared Boone
17ba51d7eb
Move PortaPack IO init to earlier -- with other IO init.
...
Was causing trouble with performing audio codec reset.
2017-05-01 10:33:16 +01:00
Jared Boone
66d66b57ab
HackRF: Update firmware to 2017.02.1
2017-02-22 10:50:46 -08:00
Jared Boone
052fd1c407
Extract loop into static method.
...
Performance boost as compiler is no longer updating member variable every pass through the loop.
2017-01-06 16:59:57 -08:00
Jared Boone
05eb694c0a
Introduce simd32_t type.
...
Discontinue use of disagreeable __SIMD #define.
2017-01-06 16:57:36 -08:00
Jared Boone
177d49b769
GPIO: Fix for incorrect pin-funciton bit mask.
...
Caused device to not boot. Oops.
2017-01-06 14:22:27 -08:00
Jared Boone
e763592adb
Compile firmware as C++14.
2017-01-05 17:15:00 -08:00
Jared Boone
87383d735c
C++14: Decommission my own make_unique.
2017-01-05 17:14:07 -08:00
Jared Boone
0d1e48ae9c
C++14: Add two-argument delete() implementations.
...
Just passing to one-argument versions.
2017-01-05 17:13:03 -08:00
Jared Boone
a22dc150bc
C++14: make some wrapper classes static.
...
Also address GCC 6.2 not allowing constexpr from reinterpret_cast<> values.
2017-01-05 17:10:00 -08:00
Jared Boone
0ea2f9650e
C++14: const all the methods!
2017-01-05 17:06:44 -08:00
Jared Boone
01cd8c7776
GPIO: Fix PinConfig -> uint16_t type conversion signature.
2016-12-21 22:24:07 -08:00
Jared Boone
ad9a63a666
GPIO: Fix apparent dumb bit-logic bug.
...
Not due to any observable incorrect behavior, but just noticing that the code, as previously written, should not work...
2016-12-21 22:20:28 -08:00
Jared Boone
431aae333a
Move additional FR_* error values to file.hpp for public use.
2016-12-06 09:34:45 -08:00
Jared Boone
f2dd6827ea
Add Widget::parent_rect() accessor, rename member variable.
...
Some day I will settle on a convention for naming members... I think that day is near.
2016-12-06 09:28:48 -08:00
Jared Boone
3f94591083
Remove a lot of static_cast<>s involving UI structs.
...
Also starting to get religion on using unsigned integers only when I want their wrapping/modulus behavior.
2016-11-29 10:13:56 -08:00
Jared Boone
4c8550bb7d
Fix narrowing conversion warnings.
2016-11-28 12:09:02 -08:00
Jared Boone
227719ff1d
Fix static_cast warning.
2016-11-28 12:05:24 -08:00
Jared Boone
86d2576d3e
Fix types on touch Filter accumulator/value.
2016-11-28 12:00:56 -08:00
Jared Boone
e820bed097
Hide ui::Rect implementation.
2016-11-28 11:25:27 -08:00
Jared Boone
d15ace4676
Hide ui::Size implementation.
2016-11-28 10:55:45 -08:00
Jared Boone
aac2d31548
Hide ui::Point implementation.
2016-11-28 10:39:10 -08:00
Jared Boone
606c1cebac
Work around apparent alignment bug in G++ 5.4.1?
...
Padding struct to be sizeof() % 4 == 0, because it was crashing the baseband... I think.
2016-11-26 16:58:42 -08:00
Jared Boone
ed0d5331ad
Fix member initialization order.
2016-11-26 16:53:35 -08:00
Jared Boone
46b3d9d087
Disallow copy constructors/assignments.
...
For classes containing pointers/state that should not be copied.
2016-11-26 16:52:57 -08:00
Jared Boone
4eb0facacb
Add lots of value constructors.
2016-11-26 16:50:44 -08:00
Jared Boone
cd31ae86d7
Add single-arg constructor for vec2_s16.
2016-11-26 16:42:03 -08:00
Jared Boone
229616491c
Enable Effective C++ and uninitialized members warnings.
2016-11-26 16:28:11 -08:00
Jared Boone
193bf0b744
Add "BASEBAND" path variable for CMake.
2016-11-05 10:40:58 -07:00
Jared Boone
94528ea572
Allow overriding baseband mcuconf.h M4 clock config.
2016-11-05 10:40:05 -07:00
Jared Boone
a33476259e
Create buffer.cpp, reduce #include dependencies and impl leakage.
2016-10-24 11:16:48 -07:00
Jared Boone
5dfb53263a
Extract BufferExchange, simplify threading.
2016-10-06 13:38:56 -07:00
Jared Boone
84334ef818
Further generalize StreamOutput -> BufferExchange.
2016-10-04 22:52:12 -07:00
Jared Boone
fadbbcc581
Move buffer reset out of buffer exchange class.
2016-10-04 22:17:57 -07:00
Jared Boone
2433ea30ad
Generalize StreamOutput a bit.
2016-10-04 22:17:27 -07:00
Jared Boone
a5793b8b9d
Put Reader, Writer inside "stream" namespace.
2016-10-04 17:13:21 -07:00
Jared Boone
01320d9806
Add a Reader interface.
2016-10-04 17:04:49 -07:00
Jared Boone
f3bfd50399
Move IO functions into .cpp files.
2016-10-04 10:12:10 -07:00
Jared Boone
43c4584a32
Move WAV structs outside of writer.
2016-10-04 10:04:38 -07:00
Jared Boone
1a2fd3e127
Prepare WAV structures for extraction.
2016-10-04 09:59:47 -07:00
Jared Boone
1bdca0fd8d
Extract (some) Writer classes to separate files.
...
TODO: PNGWriter could probably reuse this stuff too, but...
2016-10-04 09:57:13 -07:00
Jared Boone
414dd41577
Allow modification of StreamBuffer (data values, size).
2016-10-04 09:15:19 -07:00
Jared Boone
b69a3abcb5
Spectrum: Templatize various window functions.
2016-10-03 12:31:40 -07:00
Jared Boone
4153995944
CPLD: Invert GCK2 to improve ADC sample timing.
2016-10-03 11:58:42 -07:00
Jared Boone
f756ac4eac
CMake: Produce linker .map files for application, basebands.
2016-10-03 11:34:59 -07:00
Jared Boone
aed58f2a3f
File: Stop copying path when iterating.
...
TODO: I bet I've made this mistake a billion other places...
2016-10-01 10:47:21 -07:00
Jared Boone
86f672af2b
File: Add misc useful API from C++17.
2016-10-01 10:44:11 -07:00
Jared Boone
b9e475cbf4
Silence CMakeForceCompiler deprecation warning for >=3.6.
2016-09-23 12:18:42 -07:00
Jared Boone
b87d1456a2
File: Make path a first-class object, add some methods from C++17.
2016-09-08 12:57:34 -07:00
Jared Boone
f80706cb34
File: Extract function to convert path to string.
2016-09-07 22:20:51 -07:00
Jared Boone
df0fc30fda
Rect: Comment about a bad API method.
...
In retrospect, I don't like Rect + Rect = union -- it doesn't make as much sense and isn't as readable as Rect.union(Rect).
2016-09-07 22:19:30 -07:00
Jared Boone
f722497b01
Rect: operator method to offset by a Point.
2016-09-07 22:18:11 -07:00
Jared Boone
79330015ed
File: Clean up directory_iterator construction, preserve pattern.
...
FatFs requires pattern pointer to be stable during search.
2016-09-07 20:46:45 -07:00
Jared Boone
2740761ed7
RecentEntriesX: Move non-templated bits to .cpp.
2016-09-05 16:49:44 -07:00
Jared Boone
722f9b6886
MenuItem: Misc const and constructor consistency adjustments.
...
Also moved add_items() body to .cpp file.
2016-09-05 15:30:45 -07:00
Jared Boone
9a01d59822
MenuView: Change add_items arg to initializer_list.
...
Another code size improvement, and makes maintaining lists of menu items less stupid (you don't need to change the template arg when the item count changes).
2016-09-05 15:20:50 -07:00
Jared Boone
09222f0044
Widget/View: Consolidate dirty code inside Widget.
2016-09-05 15:04:28 -07:00
Jared Boone
8a69b0523e
View::add_children: Use std::list_initializer as argument.
...
Improvement in code size -- 944 bytes.
Some day I will understand C++11 well enough to do the right thing the first time.
2016-09-05 14:53:04 -07:00
Jared Boone
298324d6e4
RecentEntries: Extract Columns model.
2016-09-05 12:34:41 -07:00
Jared Boone
61f0d97c39
RecentEntriesView: Extract header and table widget, package in to top-level View.
2016-09-05 12:09:29 -07:00
Jared Boone
50e2dfa0b9
RecentEntries: Make templated type of std::list.
2016-09-03 22:53:44 -07:00
Jared Boone
bd785d8bf4
RecentEntries: Extract more algorithms.
2016-09-03 18:26:48 -07:00
Jared Boone
c8f7863c83
RecentEntries: Expose container as base class.
...
Trying to refactor until there's nothing but the base class left.
2016-09-03 18:12:07 -07:00
Jared Boone
b596d0697c
RecentEntries: Extract range_around().
2016-09-03 17:10:08 -07:00
Jared Boone
42d98c3b45
RecentEntries: Remove Packet template arg.
2016-09-03 16:38:44 -07:00
Jared Boone
4d781df76c
RecentEntries: Don't reference Entry template arg directly.
2016-09-03 12:58:11 -07:00
Jared Boone
c6f7d7f844
RecentEntriesView: Extract duplicate focus+selection style code.
2016-09-02 22:44:40 -07:00
Jared Boone
1e0d452f57
RecentEntriesView: Generalize draw_header() implementations.
2016-09-02 22:38:05 -07:00
Jared Boone
2396d2d97a
CMake: Remove DFU --reset, which fails build if reset fails.
...
dfu-util will often complain of reset not succeeding (which is apparently fine), then halting the programming phase (which is not fine).
2016-08-31 11:23:42 -07:00
Jared Boone
5d2ad9c1aa
SGPIO: Use pin constants when changing output enables.
2016-08-30 21:33:44 -07:00
Jared Boone
00c7cdf027
CPLD: Always clock SGPIO data on external clock rising edge.
2016-08-30 21:30:03 -07:00
Jared Boone
337d5ebaea
Add PortaPack-customized HackRF CPLD bitstream.
2016-08-30 21:29:23 -07:00
Jared Boone
42a07bb10c
Remove repeated code in RF path Config.
2016-08-30 21:26:55 -07:00
Jared Boone
f0c4b0fc98
AIS: Doesn't use RRC filter -- use rect instead.
2016-08-29 20:47:37 -07:00
Jared Boone
e2fe4b65d9
CPLD: Set DECIM1 as input to CPLD.
...
How did DECIM work before?! Now, decimate is no longer a feature, so this doesn't really matter. But tidying it up anyway.
2016-08-23 10:30:05 -07:00
Jared Boone
11a5aa9766
FatFs: Apply patch ff12a_p6.diff.
2016-08-21 23:03:08 -07:00
Jared Boone
60cc9b7faa
FatFs: Apply patch ff12a_p5.diff.
...
Fixed one chunk of this patch in an earlier commit.
2016-08-21 23:02:00 -07:00