Jared Boone
ec75c00da2
Add capture mode waterfall.
2016-04-13 11:09:18 -07:00
Jared Boone
2201a9e95f
Change capture start/stop to toggle image button.
2016-04-12 11:37:58 -07:00
Jared Boone
cee5417a4a
Capture UI basic controls.
...
Tuning, LNA/VGA gain, second IF and "channel" RSSI. Use ReceiverModel, so that audio receiver parameters come across for quicker capture configuration.
2016-04-12 10:56:00 -07:00
Jared Boone
10b28429e4
Add show-options event for VGAGainField.
2016-04-12 10:49:07 -07:00
Jared Boone
3e8b097588
Extract VGAGainField.
2016-04-12 10:48:24 -07:00
Jared Boone
40df73b923
Start/stop control of baseband capture.
2016-04-11 11:22:35 -07:00
Jared Boone
5558ca60d7
Enlarge capture buffers -- inter-core FIFO, SDC
2016-04-11 11:00:47 -07:00
Jared Boone
743dc9f542
Rough implementation of capture mode
2016-04-11 10:59:55 -07:00
Jared Boone
4a1d3b14a1
Open AudioThread file on new thread.
...
Opening it in constructor was causing UI pauses.
2016-04-11 10:20:19 -07:00
Jared Boone
03dfd2b48e
...and more AudioThread cleanup.
2016-04-11 10:20:19 -07:00
Jared Boone
14d1b5fd72
Further AudioThread cleanup.
2016-04-11 10:20:19 -07:00
Jared Boone
feeb5bff6f
Move AudioThread con/destruction to proper places.
2016-04-11 10:20:19 -07:00
Jared Boone
08f4542954
Marginal attempt to simplify stream write loop.
2016-04-11 10:20:19 -07:00
Jared Boone
fc8bb635a6
Consider an incomplete write as an error.
2016-04-11 10:20:19 -07:00
Jared Boone
ba3c9dd8d1
Insist on writing stream data in buffer-sized blocks.
...
Maintaining alignment improves SD card write performance significantly.
2016-04-11 10:20:19 -07:00
Jared Boone
b3e2e89e51
Create audio recording thread in the right place.
...
Was always creating, finding a timing issue when switching baseband modes, would freeze, probably due to a dangling pointer. TODO: Make stream recording setup synchronous.
2016-04-11 10:20:19 -07:00
Jared Boone
8e14d2f4e8
Signal SD card write thread from M4 event.
2016-04-11 10:20:19 -07:00
Jared Boone
daa2f7aed0
Drain write FIFO, don't read just one block.
2016-04-11 10:20:19 -07:00
Jared Boone
aca19ae997
Factor out SD card write size.
2016-04-11 10:20:19 -07:00
Jared Boone
f94938db8e
De-template FIFO.
2016-04-11 10:20:19 -07:00
Jared Boone
59f1a32566
Semi-naive audio recording to SD card.
2016-04-11 10:20:19 -07:00
Jared Boone
f09d803e61
Use correct SDC card present function.
...
Was using the LLD function directly -- no!
2016-04-10 17:29:14 -07:00
Jared Boone
9e1b88d85f
Enable FATFS fast seek feature.
...
Handy when appending to large baseband files.
2016-04-10 17:27:36 -07:00
Jared Boone
4ac2c540c9
Disable SDC "nice waiting" for performance.
...
Quick test indicates 4.5% better average write performance. No change in reads.
2016-04-10 17:24:28 -07:00
Jared Boone
0cb923be6d
Add SD card debug view.
...
Bus and card configuration data, write and read testing.
2016-04-10 17:16:39 -07:00
Jared Boone
0a9d7ec8d8
Add File::open_for_reading().
...
Barf.
2016-04-10 15:56:34 -07:00
Jared Boone
38ba02a68f
Change File::open to File::open_for_writing.
...
Not thrilled about the File API right now...
2016-04-10 15:55:01 -07:00
Jared Boone
b35a8c4501
Add TPMS signal_type.
2016-04-06 17:04:40 -07:00
Jared Boone
635b1fd4c3
Extract TPMS packet stuff to separate files.
2016-04-06 17:01:54 -07:00
Jared Boone
b7c0efbb64
Add ERT commodity type.
2016-04-06 16:16:10 -07:00
Jared Boone
bf348cf30a
Move message handling loops to MessageQueue.
2016-02-27 21:07:11 -08:00
Jared Boone
7f663f7e0c
Remove unused code.
2016-02-22 14:18:20 -08:00
Jared Boone
52016defd5
Capture screen image, save to PNG file on SD card.
2016-02-19 15:34:02 -08:00
Jared Boone
ac6af17b94
Fix extra, empty menu items in DebugMenuView.
...
Added TODO to prevent default construction of menu items, making this a compiler error in the future.
2016-02-19 11:22:22 -08:00
Jared Boone
40d7f3a134
Add screen capture button.
2016-02-18 21:35:46 -08:00
Jared Boone
7cf55cef52
Add File::write() that takes std::array.
2016-02-18 21:34:03 -08:00
Jared Boone
083711ceb2
Add File::open(), use inside File::open_for_append().
2016-02-18 21:33:38 -08:00
Jared Boone
6b97490794
Fix SD error icon.
...
Was missing the left half of the "X".
2016-02-18 21:32:25 -08:00
Jared Boone
1e0d34c98b
CRC internal type more suitable for ARM.
2016-02-18 21:31:51 -08:00
Jared Boone
c12833a288
Factor out a common rectangle.
2016-02-16 15:17:06 -08:00
Jared Boone
0681f9c5df
Init message queues in M0 event dispatcher.
2016-02-16 11:23:02 -08:00
Jared Boone
7ec476cb79
Rename m4_startup.* to more appropriate core_control.*
...
Now that there is M0- and M4-related code.
2016-02-16 11:09:00 -08:00
Jared Boone
7fbe57931e
Push M0 halt code into a function.
2016-02-16 11:04:35 -08:00
Jared Boone
64da082306
Remove dead test code.
2016-02-16 10:28:35 -08:00
Jared Boone
3e2b6087c2
Tighten up radio API, stop leaking 1st/2nd IF instances.
2016-02-16 10:28:13 -08:00
Jared Boone
7d60b940d6
Push hardware peripherals debug views into a sub-menu.
2016-02-12 15:05:47 -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
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
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
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
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
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
e57659d4cf
Convert SD card view to show icon/color for status.
2016-02-03 13:24:38 -08:00
Jared Boone
e2a82061d4
Update SD card status when view is shown.
2016-02-03 10:34:17 -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
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
a97cd642ac
Multiple AM modes selection in application API.
2016-01-30 19:03:32 -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
1915ff980f
Add AM processor decim_2.
2016-01-30 17:28:11 -08:00
Jared Boone
b029bacd8c
Remove channel decimation from AMConfigureMessage.
2016-01-30 17:21:48 -08:00
Jared Boone
2fd8b1c4d4
Bodge in preset control of NBFM bandwidth/deviation.
2016-01-29 21:05:43 -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
96898f82b2
Pass IIR configs from application to baseband.
2016-01-29 15:57:20 -08:00
Jared Boone
db642cac8d
Change audio sampling rates on NBFM, AM modes.
2016-01-29 15:33:01 -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
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
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
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