Commit Graph

778 Commits

Author SHA1 Message Date
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
furrtek
8c70ef08f8 Fixed xx2262 remote encoder def
SymField now shows symbol chars
2016-09-27 03:06:14 +02:00
furrtek
8276e5e311 Added CTCSS in Soundboard 2016-09-23 23:08:54 +02:00
furrtek
55ba0b5e06 Cleanup, random mode in DTMF TX 2016-09-23 20:17:29 +02:00
furrtek
bb29efeda6 Added Nuoptix DTMF sync transmit (Disney parades, light shows...)
Soundboard ignores stereo files
2016-09-23 17:34:50 +02:00
furrtek
8c0ff7f9c0 Soundboard uses common lfsr rand() 2016-09-23 12:20:36 +02: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
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
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
42a07bb10c Remove repeated code in RF path Config. 2016-08-30 21:26:55 -07:00
furrtek
808f99647e Soundboard: Arbitrary samplerate support for wave files
Screenshots
2016-08-26 09:54:17 +02:00
furrtek
f7e0f36bd9 Added Soundboard
file.cpp: scan_root_files
proc_audiotx.cpp: bandwidth setting
ui_widget.cpp: button on_focus
2016-08-26 08:11:24 +02:00
furrtek
5de6349199 Bitrate and flags for POCSAG packets, trim bugfix 2016-08-25 16:20:19 +02:00
furrtek
04cdafe387 Bugfix: POCSAG alphanum messages not showing
Bugfix: Range limit for afsk config
2016-08-24 14:44:57 +02:00
furrtek
86e3b55a54 Bugfix: forgot bit reversal for POCSAG alphanumeric messages 2016-08-23 17:50:18 +02:00
furrtek
1b9465716f HH:MM in POCSAG RX 2016-08-23 14:35:14 +02:00
furrtek
0a549c8192 Manual frequency input in POCSAG RX
Changed firmware file name
2016-08-23 11:27:10 +02:00
furrtek
02f0271553 Added basic POCSAG receiver
Added Yes/no modal screen (for future tx warnings)
2016-08-23 08:45:33 +02:00
Jared Boone
81517b3f4d SD debug: Enlarge stack for long filenames, etc. 2016-08-21 22:16:08 -07:00
Jared Boone
ed791ac5bd File: Widen size/offset types for 64-bit filesystems. 2016-08-21 22:15:19 -07:00
Jared Boone
f7bfde73b6 FatFs: Enable long file name support.
Lots of re-plumbing to make this work, including a bunch of Unicode stuff now in the binary. Bloat City, I'm sure.

TODO: FatFs using unsigned (uint16_t) for UTF16 representation is kinda inconvenient. Lots of reinterpret_cast<>().
2016-08-21 18:06:39 -07:00
Jared Boone
43a11ba048 Rename time files/namespace to not conflict with existing defs. 2016-08-21 17:49:06 -07:00
Jared Boone
f20647feb4 MAX2837: Expose trim/bias/calibration adjustments. 2016-08-21 11:42:05 -07:00
Jared Boone
77016b9a40 Rename CPLD "Q_INVERT" to signal to "INVERT".
Don't expose detail in name about how the task is accomplished.
2016-08-21 11:35:40 -07:00
Jared Boone
b0a3f680e5 CPLD: Remove decimation feature. 2016-08-21 11:31:37 -07:00
furrtek
c2fbc0c8d5 AudioTX, fixed about screen and an LCR address list bug 2016-08-17 04:17:24 +02:00
furrtek
45a754645e Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	firmware/application/bitmap.hpp
#	firmware/application/receiver_model.cpp
#	firmware/application/receiver_model.hpp
#	firmware/application/touch.hpp
#	firmware/application/ui_setup.cpp
#	firmware/baseband/proc_ais.hpp
#	firmware/baseband/proc_ert.hpp
#	firmware/bootstrap/CMakeLists.txt
#	firmware/common/portapack_persistent_memory.cpp
#	firmware/common/portapack_persistent_memory.hpp
2016-08-17 02:55:34 +02:00
furrtek
e686c7437e Fixed OOK clk setting 2016-08-06 12:55:39 +02:00
furrtek
38e506a108 OOK transmit is mostly working, bit durations are wrong
Simplified messages carrying data (uses shared_memory instead)
Added SymField widget (bitfield, symbol field...)
Added some space for baseband code
BMP palette loading bugfix
2016-08-06 08:49:45 +02:00
Jared Boone
447a7a5661 Add TXGainField user interface element. 2016-08-03 16:14:34 -07:00
Jared Boone
ef9b4051b7 Expose TX gain on ReceiverModel.
Obviously, ReceiverModel is an even worse name/concept than it was before.
2016-08-03 16:13:54 -07:00
Jared Boone
1e39b7ea45 Expose TX gain in radio API. 2016-08-03 16:12:22 -07:00
Jared Boone
45a1ccbc53 Correctly map TX gain from dB to register value. 2016-08-03 16:12:01 -07:00
furrtek
787f656500 Testing OOK TX baseband module 2016-08-03 08:53:50 +02:00
furrtek
1b44b22419 Wrote most of the Encoders TX app (lacks baseband module)
Fixed menu scroll glitch
Added set_range to NumberField widget
2016-08-03 04:53:51 +02:00
furrtek
e2218a0f32 More AFSK options, scan lists, 2016-08-02 12:44:31 +02:00
furrtek
72f3c08e9b Added raw ASCII char field in keyboard view 2016-08-01 20:06:17 +02:00
furrtek
94b27ec45c Scrollable menuview 2016-07-30 05:27:28 +02:00
Jared Boone
e9d97dfd0f FatFs: Update application ffconf.h from template. 2016-07-28 23:15:10 -07:00
furrtek
c58039e557 Fixed LCR scan and alt format, console widget, text input autotrim 2016-07-29 04:52:51 +02:00
Jared Boone
16a6d7efe0 Touch: Adjust thresholds and parameters for new scan. 2016-07-27 21:58:35 -07:00
Jared Boone
dd2097a447 Touch: Simplify scanning. 2016-07-27 21:57:51 -07:00
Jared Boone
8a8e84d763 Remove debugging code. 2016-07-27 21:57:00 -07:00
furrtek
1d697d2201 Added PWM RSSI output for NBFM and WFM 2016-07-28 05:25:33 +02:00
Jared Boone
c424bf08f3 Touch: Migrate touch calibration to persistent memory. 2016-07-27 15:30:43 -07:00
Jared Boone
aa1b8f63fc Remove errant debug #define. 2016-07-27 15:12:08 -07:00
furrtek
1beac3bdbd Added repeat setting for AFSK TX, fixed LCR scan, cleaned up LCR
Added max setting for progressbars, default = 100
2016-07-28 00:08:05 +02:00
Jared Boone
f85d83475c ReceiverModel: Clean up Mode enum. 2016-07-27 14:57:50 -07:00
Jared Boone
f05d917a7c ReceiverModel: Use Mode instead of integer. 2016-07-27 14:51:37 -07:00
Jared Boone
371c6e0906 ReceiverModel: Eliminate now-redundant BasebandConfiguration. 2016-07-27 14:42:46 -07:00
Jared Boone
b60e88ef68 ReceiverModel: More method renaming.
update_baseband_configuration() -> update_sampling_rate().
2016-07-27 14:41:36 -07:00
Jared Boone
5a05a758a1 ReceiverModel: Use accessor method. 2016-07-27 14:40:30 -07:00
Jared Boone
44a1b7d9d7 ReceiverModel: Method renaming.
update_modulation_configuration() -> update_modulation().
2016-07-27 14:39:49 -07:00
Jared Boone
24fa97439d Touch: Add touch configuration UI. 2016-07-27 14:15:21 -07:00
Jared Boone
cd9b76ef78 Touch: Average/threshold tweaks. 2016-07-27 14:08:24 -07:00
Jared Boone
7492d50f0b Touch: Use calibration matrix. 2016-07-27 14:08:02 -07:00
Jared Boone
e813db16fd Touch: Missing #include. 2016-07-27 14:04:04 -07:00
Jared Boone
5e5417b456 Touch: Default and active calibration API of sorts. 2016-07-27 14:03:06 -07:00
Jared Boone
c022a72ef4 Touch: Add Calibration class.
Matrix transforms coordinates from digitizer to display.
2016-07-27 14:01:20 -07:00
furrtek
e958b4bd7d Fixed LCR transmit and AFSK baseband module 2016-07-27 21:26:03 +02:00
Jared Boone
8d330784b2 CFlags: Add "-g" compiler option for debug symbols. 2016-07-27 11:46:09 -07:00
Jared Boone
9500da4b1b Touch: Fix small loss of precision calculating X/Y positions. 2016-07-27 11:14:11 -07:00
Jared Boone
f1a3201940 Touch: Add bitmaps for calibration UI. 2016-07-27 11:13:07 -07:00
Jared Boone
6c2eb37248 Bitmap: Add note about how data is structured. 2016-07-26 21:29:59 -07:00
furrtek
79f2134d91 Cleaned up Xylos TX, J/N works again 2016-07-27 05:54:55 +02:00
furrtek
739956b42b Sync with Sharebrained's fw, only Xylos TX works for now 2016-07-27 03:03:40 +02:00
Jared Boone
d0fd56bc78 Touch: Expose metrics calculation struct/function. 2016-07-26 15:13:07 -07:00