Jared Boone
a5ed3b20b4
Audio compressor makeup gain value was inverted. Oops.
2016-02-14 12:17:04 -08:00
Jared Boone
1cdeb1ca4e
Use audio compressor in AM/SSB receiver mode.
2016-02-13 11:19:32 -08:00
Jared Boone
9f4c8929ac
Audio compressor implementation.
2016-02-13 11:19:07 -08:00
Jared Boone
64e4cde7f5
fast_pow2() implemented.
2016-02-13 11:18:34 -08:00
Jared Boone
d2531016e5
Expose fast_log2().
2016-02-13 11:18:15 -08:00
Jared Boone
7d60b940d6
Push hardware peripherals debug views into a sub-menu.
2016-02-12 15:05:47 -08:00
Jared Boone
4321deee1e
ChibiOS memory helper functions.
2016-02-12 13:52:22 -08:00
Jared Boone
c72a443738
Relabel ChibiOS core free bytes.
2016-02-12 13:51:14 -08:00
Jared Boone
937dad62ee
Create log files on heap.
...
...for imminent refactor where user can manually start/stop logging, and maybe even change the filename! *swoon*
2016-02-10 20:53:14 -08:00
Jared Boone
58864ebbe7
Remove extra #includes.
2016-02-10 20:19:27 -08:00
Jared Boone
22e44605b6
Hide baseband queue code inside baseband "API".
2016-02-10 20:11:19 -08:00
Jared Boone
49a89b9dee
Single function to configure/enable radio.
2016-02-10 16:58:25 -08:00
Jared Boone
692a262f41
Use TPMS sampling_rate variable instead of literal.
2016-02-10 16:48:09 -08:00
Jared Boone
f5cdf8ed76
Remove unused radio:: function.
2016-02-10 16:47:36 -08:00
Jared Boone
472b0a2e79
ReceiverModel no longer uses some baseband modes.
2016-02-10 16:32:25 -08:00
Jared Boone
5cdbae495a
Digital modes no longer use ReceiverModel.
...
AIS/TPMS/ERT were changing receiver mode settings -- not my intent.
2016-02-10 16:31:52 -08:00
Jared Boone
3587300701
Remove extra #include.
2016-02-10 16:19:31 -08:00
Jared Boone
6c06549b6e
Remove reference PPM methods from ReceiverModel.
2016-02-10 15:34:33 -08:00
Jared Boone
b0e76191d7
Simplify some silly math.
2016-02-10 11:23:41 -08:00
Jared Boone
d125a5c662
Remove "K" parameter from FIFO template.
2016-02-10 10:41:06 -08:00
Jared Boone
dfbcf5bc75
Extract some constexpr math utilities to utility.hpp
...
...my dumping ground for so many random bits.
2016-02-10 10:15:42 -08:00
Jared Boone
096e961c67
Remove ChibiOS registry, thread names.
...
Only useful for debugging, but even then not very visible or useful. Gained 256 bytes of code RAM.
2016-02-09 11:36:38 -08:00
Jared Boone
ae93d8ee58
Simplify RSSI/BB DMA, extract to ThreadWait class.
...
Also saved 688 bytes of code.
2016-02-09 10:41:19 -08:00
Jared Boone
5cd423bb20
Fast log2 implementation.
...
Big improvement in code size (2034 bytes!). Baseband FFT (idle) thread CPU cut in half.
2016-02-08 12:55:06 -08:00
Jared Boone
cdd15fcf79
Rework complex16_mag_squared_to_dbv_norm() to use log2.
...
Small code size reduction and improvement in CPU effort.
2016-02-08 12:35:20 -08:00
Jared Boone
3aabd804d3
Remove commented code.
2016-02-07 21:52:36 -08:00
Jared Boone
5a66c68861
Return Widget::children() by reference.
2016-02-07 11:24:25 -08:00
Jared Boone
2b6bc03408
Remove unfinished Widget last child focus code.
2016-02-07 11:06:16 -08:00
Jared Boone
31499fea5d
Rewrite Widget::screen_pos() in terms of screen_rect().
2016-02-07 10:55:55 -08:00
Jared Boone
a420f018c7
Remove unused View::dirty_screen_rect member.
2016-02-07 10:53:40 -08:00
Jared Boone
41d4fd0044
Remove unused View::initial_focus().
2016-02-07 10:42:41 -08:00
Jared Boone
3a709c51c4
Hide more Widget member variables.
2016-02-07 10:40:06 -08:00
Jared Boone
8f8a9f2b63
Fix back button repaint/focus quirks.
2016-02-07 10:33:15 -08:00
Jared Boone
7cb3bbc9f8
Make Widget flags private, expose via methods.
2016-02-07 10:32:38 -08:00
Jared Boone
9a33fc884a
More arguments pass-by-reference.
2016-02-06 16:44:19 -08:00
Jared Boone
aae1a953fc
Init matched filter output variable.
2016-02-06 16:24:14 -08:00
Jared Boone
ac2320f0c5
Limit scope of some function variables.
2016-02-06 16:23:55 -08:00
Jared Boone
cd56847326
Remove some unused member variables.
2016-02-06 16:23:38 -08:00
Jared Boone
3172fb1ad6
Make assorted arguments pass-by-reference.
2016-02-06 16:23:20 -08:00
Jared Boone
a9451c17b4
Move PPB clock adjustment out of ReceiverModel.
2016-02-05 16:52:34 -08:00
Jared Boone
fd3f962e40
Define and utilize memory region backup_ram.
2016-02-05 16:45:23 -08:00
Jared Boone
682c87e3ff
Wrap baseband sampling rate function to radio:: function.
2016-02-05 16:36:36 -08:00
Jared Boone
0294165481
Extract LOTS of stuff into an audio API.
...
Prevent all manner of type and implementation leakage.
2016-02-05 16:25:43 -08:00
Jared Boone
1b793da17f
Expose I2C0 via portapack.hpp.
2016-02-05 16:21:03 -08:00
Jared Boone
9430c94dec
Move I2S management to application side.
2016-02-05 15:25:08 -08:00
Jared Boone
cefab197da
Add virtual destructor for ThreadBase.
...
Oops!
2016-02-05 10:44:27 -08:00
Jared Boone
80511ac93f
Improve repaint scope when widgets removed from parent.
...
Addresses flickering (again!) when switching between options views in receiver app.
2016-02-05 10:44:09 -08:00
Jared Boone
94a6d8340d
Add left key navigation out of newer menus.
...
TODO: Ripe for a base class or something.
2016-02-04 12:17:10 -08:00
Jared Boone
20137db8d0
Move code into .cpp for tiny code size improvement.
2016-02-03 22:47:44 -08:00
Jared Boone
af8c9609a8
Little code size tweak using std::move in constructors.
2016-02-03 22:47:22 -08:00
Jared Boone
cff314cbc8
Convince compiler to not inline member constructors.
2016-02-03 19:59:41 -08:00
Jared Boone
1d2dd4e19d
Old GCC on Travis-CI was cheesed off by my new syntax.
2016-02-03 17:59:46 -08:00
Jared Boone
5d4e59271a
Switch display sleep button to ImageButton.
2016-02-03 16:14:34 -08:00
Jared Boone
dd6d56cff8
SD card status view inherits from new Image class.
2016-02-03 15:50:14 -08:00
Jared Boone
84824a504f
Add UI Image and ImageButton classes.
2016-02-03 15:48:50 -08:00
Jared Boone
e57659d4cf
Convert SD card view to show icon/color for status.
2016-02-03 13:24:38 -08:00
Jared Boone
76013a656c
Add Painter.draw_bitmap for Bitmap types.
2016-02-03 13:23:46 -08:00
Jared Boone
deade67fd8
Add ui::Bitmap for two-color images.
2016-02-03 13:23:23 -08:00
Jared Boone
e2a82061d4
Update SD card status when view is shown.
2016-02-03 10:34:17 -08:00
Jared Boone
5d0b5d427a
Extract draw_bitmap from draw_glyph.
2016-02-03 10:33:54 -08:00
Jared Boone
ceef8d32d3
Use more accurate arctan for NBFM demodulation.
2016-02-02 16:15:14 -08:00
Jared Boone
ab2c5b256f
Reinstate and slightly tweak NBFM squelch.
2016-02-02 16:08:18 -08:00
Jared Boone
d9be5677e3
Simplify handling of modulation config changes via UI.
2016-02-02 15:20:14 -08:00
Jared Boone
10c7c57fd1
Expose modulation configuration indices.
2016-02-02 15:19:43 -08:00
Jared Boone
1cf38387c1
Initialize modulation from ReceiverModel.
2016-02-02 15:01:04 -08:00
Jared Boone
d82cbcb1c4
Rework modulation options views handling.
...
Still not pretty, but a bit simpler. I think...
2016-02-02 14:26:00 -08:00
Jared Boone
3f86a7c4ae
Add AM/NBFM configuration options views.
2016-02-02 13:42:00 -08:00
Jared Boone
be8c1307e2
Add OptionsField event for on_focus.
...
TODO: So poorly named! Should be on_focus, but requires sweeping changes. Ugh.
2016-02-02 13:41:11 -08:00
Jared Boone
fece0a5e1b
Move modulation configuration into ReceiverModel.
2016-02-02 13:39:02 -08:00
Jared Boone
cbaa04ff07
Reorganize analog audio configs structures.
2016-02-02 11:02:07 -08:00
Jared Boone
ee67948a63
Simplify AnalogAudioView mode switching.
2016-02-01 09:17:32 -08:00
Jared Boone
afffdba150
AnalogAudioView::on_show() is a no-op, remove.
2016-02-01 09:13:17 -08:00
Jared Boone
c5f8daa210
Restore use of ReceiverModel::Mode enum.
2016-02-01 09:12:55 -08:00
Jared Boone
4d3294c228
Move ReceiverView code to AnalogAudioView.
...
ReceiverView predated the "app" model, was serving as a shell for *all* radio activity, but became outmoded and redundant when non-audio modes were split out into separate apps.
Some stuff is broken in this change, will be fixed imminently.
2016-01-31 09:13:44 -08:00
Jared Boone
f134e63f05
Initialize Spectrum FIFO pointer to nullptr.
2016-01-30 22:23:22 -08:00
Jared Boone
faf0fd6b91
Remove some spurious comments.
2016-01-30 21:11:59 -08:00
Jared Boone
ccafc1e82c
Fix DSB channel filter taps, don't saturate max tap value.
2016-01-30 20:45:16 -08:00
Jared Boone
a79aa3e580
Correct DSB decim_2 FIR taps comment.
2016-01-30 19:03:50 -08:00
Jared Boone
a97cd642ac
Multiple AM modes selection in application API.
2016-01-30 19:03:32 -08:00
Jared Boone
a1e1677b8b
Rename AM modulation mode "DSB".
2016-01-30 18:17:29 -08:00
Jared Boone
e778be6472
Selection of AM/SSB from application side.
2016-01-30 18:02:28 -08:00
Jared Boone
f2dff16820
Use complex channel filter taps for AM/SSB.
2016-01-30 17:30:54 -08:00
Jared Boone
ad4d7a2e8a
Add SSB demodulator, switch between AM and SSB.
2016-01-30 17:30:03 -08:00
Jared Boone
1915ff980f
Add AM processor decim_2.
2016-01-30 17:28:11 -08:00
Jared Boone
279e5c775d
Add LSB filter taps.
2016-01-30 17:23:04 -08:00
Jared Boone
69deaafd1c
Clean up formatting of USB FIR filter taps.
2016-01-30 17:22:38 -08:00
Jared Boone
b029bacd8c
Remove channel decimation from AMConfigureMessage.
2016-01-30 17:21:48 -08:00
Jared Boone
f82a22dd2c
USB channel filter.
2016-01-29 22:29:52 -08:00
Jared Boone
b9c2ba4053
Add fir_taps_complex structure.
2016-01-29 22:29:23 -08:00
Jared Boone
220b7b0a6a
Add SSB demodulator.
2016-01-29 22:27:18 -08:00
Jared Boone
2fd8b1c4d4
Bodge in preset control of NBFM bandwidth/deviation.
2016-01-29 21:05:43 -08:00
Jared Boone
a558565886
Further template BlockDecimator by element type, use for audio buffer.
...
Appropriating for use as a buffer accumulator that will save up enough audio samples to put into an audio DMA buffer.
2016-01-29 19:25:08 -08:00
Jared Boone
aead1d8798
Change NBFM audio fs->24k, AM ->12k.
...
Send channel decimation factor from application to baseband.
2016-01-29 19:23:30 -08:00
Jared Boone
65d224be14
Add IIR configs for fs=24kHz NBFM and fs=12kHz AM.
2016-01-29 18:31:03 -08:00
Jared Boone
28e5b7e4af
Remove some filter constructors, reset Z on configure().
2016-01-29 17:06:22 -08:00
Jared Boone
d984532190
Converging AM, NBFM processors for eventual merging.
2016-01-29 16:18:03 -08:00
Jared Boone
7c65a2d650
Clean up baseband processor statics.
2016-01-29 16:11:00 -08:00
Jared Boone
96898f82b2
Pass IIR configs from application to baseband.
2016-01-29 15:57:20 -08:00
Jared Boone
01e14ecbcf
Move IIR struct and configs to common/.
2016-01-29 15:43:39 -08:00
Jared Boone
db642cac8d
Change audio sampling rates on NBFM, AM modes.
2016-01-29 15:33:01 -08:00