Commit Graph

685 Commits

Author SHA1 Message Date
Jared Boone bf7f5d2567 IRQ: Make handlers more independent of EventDispatcher.
EventDispatcher is such a hairball...
2017-06-19 16:31:54 -07:00
Jared Boone 748e5a4f5f Init: Boot to HackRF mode if PortaPack CPLD not found.
Worst case, customers can always pull off the PortaPack to get back to a working HackRF.
2017-06-13 22:16:00 -07:00
Jared Boone e85fb47a49 Extract function that returns audio codec based on hardware revision. 2017-06-02 22:24:15 -07:00
Jared Boone dec4e41189 CPLD: Organize CPLD code into namespaces.
Use type aliases to hide actual CPLD type (somewhat).
2017-06-02 21:57:13 -07:00
Jared Boone dd0c009e6f CPLD: Stop generating HackRF CPLD .hpp file. 2017-06-02 21:55:35 -07:00
Jared Boone 3d06941129 Move CPLD filres to common/
...for imminent refactoring.
2017-06-02 17:13:41 -07:00
Jared Boone fe687b93a2 CPLD: Extract decision about which CPLD config to use.
...based on hardware revision.
2017-06-02 17:05:41 -07:00
Jared Boone a3483a8394 CPLD: Introduce Config type to clean up programming interface.
Hide the details of how the CPLD data is stored.
2017-06-02 16:54:24 -07:00
Jared Boone 797e63a590 CPLD: Use correct bitstream for updating hardware.
Determine hardware version and use one of two CPLD bitstream files.
2017-05-31 22:28:07 -07:00
Jared Boone 0fd52a7483 CPLD: Move HDL project to hardware revision-specific directory. 2017-05-31 11:50:59 -07:00
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 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 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 6ef8b19bf1 Move some GPDMA configuration to application processor. 2017-05-24 15:42:44 -07: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 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 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 e763592adb Compile firmware as C++14. 2017-01-05 17:15:00 -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 431aae333a Move additional FR_* error values to file.hpp for public use. 2016-12-06 09:34:45 -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 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 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 229616491c Enable Effective C++ and uninitialized members warnings. 2016-11-26 16:28:11 -08: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 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