Commit Graph

808 Commits

Author SHA1 Message Date
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
Jared Boone
0e436ded14 Add IIR configs for lower audio sampling rates. 2016-01-29 15:32:32 -08:00
Jared Boone
a2a169352c Rename existing IIR configs to reflect fs=48k design. 2016-01-29 15:24:31 -08:00
Jared Boone
0cf839bc93 Expose instance clock_manager in portapack.hpp. 2016-01-29 15:21:33 -08:00
Jared Boone
a03a72474d Insert IDIVC into audio MCLK path, so it can be divided. 2016-01-29 15:17:05 -08:00
Jared Boone
275b644edd Fix flickering freq/gain options views.
Was caused by invalidating ALL of the parent view, when only the overlapping views would need to be repainted.
2016-01-27 21:47:10 -08:00
Jared Boone
b801366e4e Recover from display sleep, use LCD sleep function. 2016-01-27 21:05:28 -08:00
Jared Boone
894d4b955c Unclever first attempt at display sleep. 2016-01-27 20:33:54 -08:00
Jared Boone
1caf6952d8 Remove GCC-isms interfering with host-based testing. 2016-01-27 20:20:34 -08:00
Jared Boone
10f6554a1b Remove extra #include. 2016-01-27 20:17:35 -08:00
Jared Boone
234ac5c50b Additional audio receiver step sizes.
Requested in issue #52, pull request #56. Added with qualifications the smaller step sizes, and a couple of more VHF-/UHF-y step sizes.
2016-01-27 16:04:23 -08:00
Jared Boone
7876eb0877 Remove PPM "Corr." label. 2016-01-27 15:26:39 -08:00
Jared Boone
87dc5a055b More application of range_t methods. 2016-01-27 14:55:03 -08:00
Jared Boone
7519b83379 Make better use of range_t methods. 2016-01-27 14:46:45 -08:00
Jared Boone
ca3b1a2c5a Remove more commented code. 2016-01-27 14:25:08 -08:00
Jared Boone
3b7bec542c Move and adjust variable controlling size of audio RX waterfall.
Closes recently-opened gap between control UI and waterfall.
2016-01-27 14:20:15 -08:00
Jared Boone
6917a38106 Improve clipping of RSSI, baseband, audio bar graphs. 2016-01-27 12:50:33 -08:00
Jared Boone
018b54c711 Extract range_t to utility header. 2016-01-27 12:09:36 -08:00
Jared Boone
c761d3aaa8 Fix RSSI meter scaling, clean up limits code. 2016-01-27 11:48:22 -08:00
Jared Boone
87a6f931c9 Remove commented and unused code. 2016-01-27 11:03:37 -08:00
Jared Boone
34434c088c Clean up audio receiver UI fields layout. 2016-01-27 11:01:50 -08:00
Jared Boone
60778c5591 Another tweak to sane-ify transponder apps initial focus. 2016-01-27 10:49:17 -08:00
Jared Boone
07b8c6c661 Fix initial focus on ERT, TPMS apps. 2016-01-27 10:18:44 -08:00
Jared Boone
cb403160b3 Really dumb list view columns structures. 2016-01-27 09:02:17 -08:00
Jared Boone
cac9f02c48 Add simple column headers to recents list views. 2016-01-26 17:25:51 -08:00
Jared Boone
bd829d7d85 Add titles for transponder apps. 2016-01-26 13:08:46 -08:00
Jared Boone
7fe8288737 Set Navigation title with View.title() if not empty. 2016-01-26 13:04:44 -08:00
Jared Boone
dc42525dcb Oops, removed line that should've been in prior commit. 2016-01-26 13:04:19 -08:00
Jared Boone
0efe2ea0ae Add virtual title() to View class. 2016-01-26 13:01:16 -08:00
Jared Boone
a13e19a907 Paint background of Text object before string. 2016-01-26 13:00:36 -08:00
Jared Boone
c1f7f23367 Add AIS channel control. 2016-01-25 11:47:59 -08:00
Jared Boone
8b0e6e65c8 Configure radio in AIS, ERT, TPMS apps. 2016-01-25 11:22:39 -08:00
Jared Boone
15800eea33 Move nav back button outside of ReceiverView. 2016-01-25 11:13:19 -08:00
Jared Boone
029a44e24c Missing header. 2016-01-24 22:38:45 -08:00
Jared Boone
5ecc6d0330 Add Receiver sub-menu, Transponders item and sub-menu. 2016-01-24 22:38:36 -08:00
Jared Boone
e04e72abe7 Remove unused ReceiverView() receiver_model arg. 2016-01-24 22:12:16 -08:00
Jared Boone
db2f78f0f8 ERTAppView, recent entries tracking and display. 2016-01-23 22:24:48 -08:00
Jared Boone
56218565c1 Use TPMS declared invalid_key as default initializer values. 2016-01-23 21:52:42 -08:00
Jared Boone
fedecbeca5 Extract ERT formatting code to free functions. 2016-01-23 21:46:41 -08:00
Jared Boone
d888c77661 Remove TPMS commented code. 2016-01-23 21:38:43 -08:00
Jared Boone
4d5697cda7 Simplify TPMS units static_casts. 2016-01-23 21:38:33 -08:00
Jared Boone
798b5eb972 Extract Temperature, Pressure into units header. 2016-01-23 21:37:22 -08:00
Jared Boone
45a8759d7b Remove silly types on Temperature/Pressure getters. 2016-01-23 21:29:27 -08:00
Jared Boone
45ae222ab5 Extract Optional to own header. 2016-01-23 21:26:06 -08:00
Jared Boone
cca8c6dc06 ERTModel -> ERTLogger, now ERTApp does setup. 2016-01-23 21:17:04 -08:00
Jared Boone
e4f5539407 Remove unused variables. 2016-01-23 17:53:33 -08:00
Jared Boone
14f18d5cf7 Reduce use of unsigned integers when signed will do fine. 2016-01-23 17:53:16 -08:00
Jared Boone
ce481c0b5a Clean up UI type static_casts.
So disgusting, but not entirely gone yet...
2016-01-23 17:02:16 -08:00
Jared Boone
60b8b38652 UI to turn on antenna bias voltage. 2016-01-23 11:32:10 -08:00
Jared Boone
25fac90d4f Improve radio state management re: antenna bias voltage.
Responsibility for radio state is still rather muddy...
2016-01-23 11:31:50 -08:00
Jared Boone
10d4172d5c RF antenna bias voltage control API. 2016-01-23 11:30:00 -08:00
Jared Boone
02b3e891f7 TPMS RecentEntriesView and related stuff.
Replaces Console listing of raw records.
2016-01-22 15:00:25 -08:00
Jared Boone
13c0999c3c Move Optional outside tpms namespace. 2016-01-22 13:41:01 -08:00
Jared Boone
54fb85a9d0 Un-const Optional class members. 2016-01-22 13:40:15 -08:00
Jared Boone
b70138ad58 Introduce TPMS measurement types, change formatting. 2016-01-22 10:59:41 -08:00
Jared Boone
bd0ec913f5 Invert TPMS Manchester decoding, fix dependent CRC/checksums. 2016-01-20 09:02:25 -08:00
Jared Boone
5e6a76dfe7 Use a proper enum for TPMS signal type. 2016-01-18 22:28:33 -08:00
Jared Boone
9a41961aeb Store TPMS "packet type".
For now, completely dumb CRC-OK packet length, since I only handle three packet types, which differ in length.
2016-01-18 22:18:49 -08:00
Jared Boone
7ad9ad2596 TPMS packets to IDs and values. 2016-01-18 21:42:26 -08:00
Jared Boone
dbea30b9e4 Check TPMS CRCs for packets I know, don't display the rest. 2016-01-18 20:43:54 -08:00
Jared Boone
fbcf784959 Make tpms::Packet into real type. 2016-01-18 14:34:30 -08:00
Jared Boone
feec99ac6a Move TPMS packet handling to TPMSAppView.
Also rename TPMSModel to TPMSLogger, considering that's what it was *really* doing.
2016-01-18 14:21:24 -08:00
Jared Boone
32818ee9ab Introduce tpms::Packet type. 2016-01-18 13:54:07 -08:00
Jared Boone
be328c5f38 Rearrange TPMS app/UI code. 2016-01-18 13:41:19 -08:00
Jared Boone
1a280149e2 Rename TPMSView -> TPMSAppView. 2016-01-18 13:29:11 -08:00
Jared Boone
6e5e48cc7c Clear region below RecentEntries list. 2016-01-17 21:56:06 -08:00
Jared Boone
05d7e0222f Extract RecentEntries stuff to separate files. 2016-01-17 21:42:15 -08:00
Jared Boone
df3ce07c5c Template AISRecentEntriesView.
More teasing apart, not sure where this will end...
2016-01-17 20:49:41 -08:00
Jared Boone
eda6e6a5be Move AIS recent items list draw function back into class. 2016-01-17 19:08:08 -08:00
Jared Boone
fb8e5b21df Use AIS MMSI string formatter, remove right-justification. 2016-01-17 18:07:39 -08:00
Jared Boone
3ee6fd3d87 Generalize AISRecentEntries -> templated RecentEntries.
Also access Entry unique key via key().
2016-01-17 18:06:31 -08:00
Jared Boone
5a864d8d44 Generalize RecentEntries find() method name. 2016-01-17 15:56:29 -08:00
Jared Boone
fc7a7d753d Extract general File class from LogFile. 2016-01-17 14:20:02 -08:00
Jared Boone
1aa391bac8 Whoops. Revert to baseband -O3 compiler flag.
Was running out of CPU in ERT mode.
2016-01-17 14:08:49 -08:00
Jared Boone
8d2a86a499 Change baseband optimization from -O3 to -O2
Significant size benefit with negligable performance effect.
2016-01-16 14:10:22 -08:00
Jared Boone
58e6d26910 Move AudioOutput back to inside audio processor classes.
Was wasting precious RAM making it static. I lose 400 bytes of .text, not sure why, but I think the trade is worth it.
2016-01-16 13:56:23 -08:00
Jared Boone
1d0de2240d Protect/private some ThreadBase implementation details. 2016-01-15 20:25:29 -08:00
Jared Boone
be44c21172 Move AIS received packet count to bottom of details view. 2016-01-15 18:15:50 -08:00
Jared Boone
93aea59847 Add AIS last position timestamp to details view. 2016-01-15 18:15:34 -08:00
Jared Boone
6ead63d02d Extract timestamp formatting to string_format. 2016-01-15 18:15:05 -08:00
Jared Boone
de98dfe10b AUS consolidated lat/lon formatting. 2016-01-15 17:59:02 -08:00
Jared Boone
b5ac76afc4 Tiny code clean-up. 2016-01-15 17:58:27 -08:00
Jared Boone
8fd8815e95 Remove irrelevant comments. 2016-01-15 16:00:21 -08:00
Jared Boone
cb5f563b92 Push more common AIS lat/lon formatting into common function. 2016-01-15 15:59:04 -08:00
Jared Boone
8fa8a26298 Read SD card status in SDCardStatusView constructor.
View was not showing correct status if card was present at boot.
2016-01-15 15:31:32 -08:00