Commit Graph

1610 Commits

Author SHA1 Message Date
furrtek
c922a56b6d High frequency load/save bugfix
Editing widgets hidden if freqman category is empty
Textentry now trims strings up to cursor
2017-06-23 00:13:13 +01:00
furrtek
08391bba4f Support for frequency manager categories (as files)
Base class for frequency manager views
Menuview clear/add bugfix
2017-06-22 09:08:37 +01:00
furrtek
abd154b3c7 Merge remote-tracking branch 'upstream/master'
Base class for text entry
2017-06-21 03:25:27 +01:00
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
47cc88d1e1 ILI9341: Tidy scroll types, use height(). 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
furrtek
61be221432 Frequency manager lists
Scanner approximately 6.3% less buggy with wide ranges
2017-06-12 03:55:36 +01:00
furrtek
e2f0a03460 Using new CPLD data (fixes spectrum mirroring)
Scanner bugfix for wide ranges
Added squelch parameter for NFM receiver
Adjustment to Vumeter widget rendering
2017-06-11 09:50:29 +01:00
furrtek
042d271a9f Text entry should be more stable
Text entry now allows for strings greater than 28 chars
Frequency manager save with name bugfix
2017-06-11 02:53:06 +01: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
600dcb734e AK4951: Initial commit. 2017-05-31 11:45:54 -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
37c058354e WM8731: Add method to detect codec is present.
Used to determine PortaPack hardware version.
2017-05-31 11:34:16 -07:00
Jared Boone
8f5555b052 WM8731: Store headphone volume for mute() function.
So when unmuted, previous volume can be restored.
2017-05-31 11:32:32 -07:00
Jared Boone
f6e1e78e8a WM8731: Return bool from reset() and low-level write()s. 2017-05-31 11:28:00 -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
5cb71d787e Audio DMA: Fix cut-and-paste error
rx_empy_buffer() was returning the peripheral address, not the buffer address.
2017-05-26 16:21:28 -07:00
furrtek
b3aa4bf0b9 Reorganized menus 2017-05-25 21:36:30 +01:00
furrtek
5a11377429 Merge branch 'master' of https://github.com/furrtek/portapack-havoc 2017-05-25 21:08:50 +01:00
furrtek
8e99bccd41 Started work on APRS (AX25) 2017-05-25 21:08:33 +01:00
Jared Boone
6ef8b19bf1 Move some GPDMA configuration to application processor. 2017-05-24 15:42:44 -07:00
Jared Boone
556085b3e3 I2S: Enable TX_WS output pin's input buffer.
This permits receipt of TX_WS as RX_WS for the receive side of the I2S peripheral, and was why I got no RX samples when testing microphone input.
2017-05-22 14:20:49 -07:00
Matt "Mookie" Thayer
36db5d63e1 Update pocsag_app.hpp 2017-05-18 23:12:00 +02:00
furrtek
a35d9ee8a9 Missing image files 2017-05-18 21:56:55 +01:00
Matt "Mookie" Thayer
35b1654128 Minor change to named preset.
Shortened NL KPN because it was too long and breaking the display.
2017-05-18 22:47:43 +02:00
furrtek
82cb56e9b2 Merge branch 'master' of https://github.com/furrtek/portapack-havoc 2017-05-18 11:06:18 +01:00
furrtek
38e14b1e30 Scanner: Added last locked frequencies list
Added back squelch to NFM receiver
Scanner: cleanup
Widgets: VU-meter cleanup
2017-05-18 11:06:11 +01:00
Matt "Mookie" Thayer
f2979af5ee Updated found POCSAG in Netherlands to the list.
Updated 2 POCSAG channels in the Netherlands to the list.
2017-05-13 23:04:50 +02:00
Jared Boone
f88e27bd3f FatFs: Apply patch ff_12c_p3.diff. 2017-05-03 12:53:52 +01:00
Jared Boone
dfc1eab4ae FatFs: Apply patch ff_12c_p2.diff. 2017-05-03 12:52:59 +01:00
Jared Boone
fd8f5e62e1 FatFs: Apply patch ff_12c_p1.diff. 2017-05-03 12:51:24 +01: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
dd0048db8d Remove broken simd32_t type. 2017-05-03 09:58:07 +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
furrtek
bebec9ccf7 More ADS-B TX experimentation
Lots of junk added in Numbers Station regarding voice files
Removed warnings caused by unfinished ADS-B function
2017-05-01 10:42:09 +01:00
Jared Boone
19e42196db Fn for control of audio codec reset signal. 2017-05-01 10:37:49 +01:00
Jared Boone
b12f90ef08 Adjust initial CPLD io_reg value for new CPLD code. 2017-05-01 10:34:33 +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
furrtek
8c680ff893 Simplified LCR code a bit
Split modem into modem and serializer
Frequency string formatter
2017-04-24 18:15:57 +01:00
furrtek
90feadd9f5 POCSAG RX saves ignored address
Made AFSK code more generic (not tied to LCR)
Added modem presets and more options in AFSK setup
String-ized and simplified LCR UI code
Simplified AFSK baseband code, made to always work on 16bit words
2017-04-21 06:22:31 +01:00
furrtek
eff96276c3 Made back button always focusable with left key 2017-04-21 00:31:21 +01:00
furrtek
6464cfeaef Binary update 2017-04-20 23:39:29 +01:00
furrtek
40b49e2072 POCSAG address filter now ignores alpha messages
Experimenting with FIFOs for replay...
2017-04-19 22:05:16 +01:00
furrtek
a053c0e234 Reverted to SIMD macros to fix FM RX (again) 2017-04-19 00:49:44 +01:00
furrtek
3a1e5b8772 Added address filter in POCSAG RX
Changed POCSAG log format
Console widget knows red, green and blue now
2017-04-18 21:29:55 +01:00
furrtek
555201b780 RDS Radiotext should make receiver happier (missing end char)
String-ized text entry
2017-04-18 18:12:32 +01:00
furrtek
62b90942ac Merge branch 'master' of https://github.com/furrtek/portapack-havoc 2017-04-18 12:56:10 +01:00
furrtek
d59ee08f41 Whistle now works
Moved BW widget in txview
String-ized LCR and AFSK message generator
2017-04-18 12:55:49 +01:00
F4GEV
ec7a262a41 Update pocsag_app.cpp 2017-04-14 11:54:35 +02:00
furrtek
fbc054ca75 Coaster pager address scan
Merged tone setups
2017-04-11 08:42:31 +01:00
furrtek
b61869f1c0 Started adding coaster pager/EZRadioPro TX
BHT XY TX sequencer
2017-04-07 06:20:24 +01:00
furrtek
1e79be5555 Shameful commit. Fixed HackRF mode not working...
Sync'd with Sharebrained's repo, no more SIMD warnings
2017-04-07 02:00:05 +01:00
furrtek
5ce1b8fa60 File size + credits 2017-04-07 00:41:32 +01:00
Furrtek
f6b02c31b5 Commented out Play Dead screen on startup 2017-04-01 22:35:14 +01:00
furrtek
685e4c6e4b Added more SSTV modes
A bit more work done on Replay (still not enabled)
2017-03-23 21:28:21 +00:00
furrtek
6a0bcb9cca SSTV transmit beta (320x256 24bpp Scottie 2 only) 2017-03-23 04:29:58 +00:00
furrtek
5b74b83458 Bitmap preview in SSTV TX 2017-03-22 18:21:31 +00:00
furrtek
089eeeafe4 Tones bugfix, numbers station voice files search 2017-03-22 03:21:06 +00:00
furrtek
16acb9db28 Added roger beep option in mic TX 2017-03-14 08:20:13 +00:00
furrtek
37cfcd392d Added DCS parity table and generator tool 2017-03-14 07:24:04 +00:00
furrtek
69b0ef9a40 Microphone tx is mostly working, Voice activation, PTT, CTCSS...
Transmit bandwidth bugfix
TX LED is now only lit when using rf amp
VU-meter widget
Added gain parameter for baseband audio TX
2017-03-13 04:09:21 +00:00
furrtek
229ec3ea75 Added microphone TX (very basic for now) 2017-03-12 07:10:51 +00:00
furrtek
2d75722b74 Added microphone TX (very basic for now) 2017-03-12 07:10:09 +00:00
furrtek
44b2fc469c Added microphone TX (very basic for now) 2017-03-12 07:09:22 +00:00
furrtek
6ac911feb7 CTCSS bugfix, reading of title in wav files
Added wav file title (INFO chunk) display in soundboard UI
Added CTCSS frequency next to PL code
Increased CTCSS tone amplitude
Added Family Radio Service channels file FRS.TXT
2017-03-11 00:59:04 +00:00
furrtek
66b58ce433 Merge branch 'master' of https://github.com/furrtek/portapack-havoc 2017-03-05 15:38:04 +00:00
furrtek
446efa8fc0 Reduced audio tx FIFO refill size
Last received POCSAG address is auto loaded in POCSAG tx
2017-03-05 15:37:56 +00:00
Silas Cutler
eb8e3f5928 Added additional POCSAG freq. 2017-03-03 18:55:21 -05:00
furrtek
aec41cab91 Bugfix: wave file samplerate and size not being written 2017-03-03 16:15:49 +00:00
furrtek
2022fe137c Morse TX bugfix: bad CW symbols, FM not stopping
Corrected fox hunt transmitter #s
Moved widgets a bit
Setting up proc_tones with 0 message length stops it
2017-03-03 08:06:11 +00:00
Jared Boone
66d66b57ab HackRF: Update firmware to 2017.02.1 2017-02-22 10:50:46 -08:00
furrtek
0ba05fea5e Morse special chars and tx duration indication 2017-02-15 04:27:51 +00:00
furrtek
0642c57041 Utility: CW generator 2017-02-15 03:05:38 +00:00
furrtek
58718afd50 Morse CW TX and message set button 2017-02-14 17:16:59 +00:00
furrtek
6c86ad1b72 Morse TX foxhunt codes are working 2017-02-13 23:24:42 +00:00
furrtek
4e8980e5d8 Finished jammer modes
Shaved off a few kBs by using the Labels widget
2017-02-13 05:35:13 +00:00
furrtek
d12cd0d8af "Labels" widget 2017-02-12 07:23:31 +00:00
furrtek
0102a34286 Reverted WFM mode to working state
TXView in ADSB TX
Lockable TXView
POCSAG TX bugfix with Alphanum and Numeric only
Testing Labels widget
2017-02-12 04:05:21 +00:00
furrtek
884d0c4f58 Missing toolchain-arm-cortex-m.cmake file 2017-02-11 23:12:49 +00:00
furrtek
091ec1f8f4 Fixed hackrf.img and terminator.img not being generated 2017-02-11 23:06:01 +00:00
furrtek
3efffca1b7 Save before cleanup 2017-02-11 22:17:02 +00:00
furrtek
21de81bb85 POCSAG TX: Support for numeric only and address only messages 2017-02-08 01:19:29 +00:00
furrtek
c72b490d49 Encoders, Nuoptix DTMF and RDS transmitters now use TransmitterView
Bigger buttons in AlphanumView, 3 pages
Scary yellow stripes around TransmitterView
2017-02-07 22:12:20 +00:00
furrtek
fc8279aa30 POCSAG TX text and bitrate can be changed
Modal view message can be multiline now
2017-02-07 19:54:18 +00:00
furrtek
dc7fcbc6c3 POCSAG TX (with fixed message for testing) 2017-02-07 17:48:17 +00:00
furrtek
b430b1e427 Merge branch 'master' of https://github.com/furrtek/portapack-hackrf 2017-02-06 20:32:45 +00:00
furrtek
24abe4b427 Yet another POCSAG bugfix (multi-batch messages are not cut anymore)
Added BCH ECC functions for checking, error correction and encoding
2017-02-06 20:32:33 +00:00
furrtek
98f89a84bb Improved POCSAG receiver reliability 2017-02-05 20:57:20 +00:00
Giorgio Campiotti
ca7bb0941b Update ui_about.hpp
Year was wrong in "About" screen.
2017-02-05 21:36:00 +01:00
furrtek
46482a110c Frequency manager menu refresh not working, disabled for now... 2017-02-03 16:31:43 +00:00
furrtek
3fca8be317 Frequency save and naming bugfix 2017-02-03 16:22:12 +00:00
furrtek
84be3a363c Added categories for Frequency Manager
Very bad memory leak fix in MenuView
2017-02-03 15:10:27 +00:00
furrtek
f9dd3f5a96 Icons and icon tool update 2017-02-03 08:21:12 +00:00
furrtek
c352458114 Jammer manual set range 2 & 3 bugfix
Menu capture/replay confusion bugfix
2017-02-03 06:26:42 +00:00
furrtek
607e6c5bd4 CTCSS in soundboard. 24 jammer chs instead of 9.
Soundboard random mode now cares about loop option.
Started documenting UI.
2017-02-02 09:29:14 +00:00
furrtek
799e29e5e6 Last soundboard bug was actually 50% fixed... 2017-02-02 00:44:35 +00:00
furrtek
15f66eb74e Soundboard bugfix: shouldn't crash with long file names 2017-02-01 23:31:16 +00:00
furrtek
394331ebd2 POCSAG RX now runs at 3.072MHz, like NFM audio 2017-02-01 11:40:01 +00:00
furrtek
8662ed4024 Close Call should be more accurate
Merged close call and wideband spectrum baseband processors
2017-02-01 08:53:26 +00:00
furrtek
064e097bc3 Symfield widget auto-inits
ADS-B emergency frame
2017-02-01 00:21:13 +00:00
furrtek
688a012443 Transmitter config widget
Frequency manager duplicate alert
Tone sets
2017-01-30 13:10:30 +00:00
furrtek
0642d633c3 Frequency manager empty file bugfix 2017-01-30 01:09:00 +00:00
furrtek
c8e71bcdee Cleaned up jammer UI 2017-01-29 08:29:16 +00:00
furrtek
693a2533b5 Reverted to original CPLD data 2017-01-29 06:50:48 +00:00
furrtek
f0fbc356ad Jammer bugfix: now produces all the right channels 2017-01-17 14:27:37 +00:00
furrtek
7cb38f858e Udpdated jammer baseband code, should work again 2017-01-17 08:42:35 +00:00
furrtek
368f0f7fb0 Digital mode for waveform widget, 2.4GHZ WLAN channels in jammer 2017-01-17 07:00:42 +00:00
furrtek
b10c88e271 POCSAG bitrate selection and logging toggle
Small checkboxes
2017-01-16 13:36:28 +00:00
furrtek
e4abcea9a3 Added bitrate option for POCSAG baseband, PWMRSSI frequency option
Split SD card wiper app
Cleanup for -Weffc++
2017-01-16 08:40:17 +00:00
furrtek
5e40669cbc Merge 'upstream/master' - At least it builds... 2017-01-16 03:45:44 +00:00
furrtek
f39954856e Ignores 2017-01-10 19:52:52 +00:00
furrtek
12aeae3a82 Commit replay stuff before sync 2017-01-10 19:45:40 +00:00
furrtek
3ec725c172 Added SD card wiper tool
Frequency manager now creates FREQMAN.TXT if not found
Moved graphics files
2017-01-10 18:40:33 +00:00
furrtek
a0c248d567 Added waveform widget and a frequency field in encoders tx 2017-01-09 02:45:29 +00:00
furrtek
be3d477352 Fixed encoders TX locking up, more icons 2017-01-08 21:52:54 +00:00
Jared Boone
052fd1c407 Extract loop into static method.
Performance boost as compiler is no longer updating member variable every pass through the loop.
2017-01-06 16:59:57 -08:00
Jared Boone
05eb694c0a Introduce simd32_t type.
Discontinue use of disagreeable __SIMD #define.
2017-01-06 16:57:36 -08:00
Jared Boone
177d49b769 GPIO: Fix for incorrect pin-funciton bit mask.
Caused device to not boot. Oops.
2017-01-06 14:22:27 -08:00
furrtek
1898a37c42 Merge branch 'master' of https://github.com/furrtek/portapack-hackrf 2017-01-06 02:51:24 +01:00
furrtek
9fab42eb7c More pretty icons, BW setting change in BHT TX 2017-01-06 02:51:09 +01:00
Jared Boone
e763592adb Compile firmware as C++14. 2017-01-05 17:15:00 -08:00
Jared Boone
87383d735c C++14: Decommission my own make_unique. 2017-01-05 17:14:07 -08:00
Jared Boone
0d1e48ae9c C++14: Add two-argument delete() implementations.
Just passing to one-argument versions.
2017-01-05 17:13:03 -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
Furrtek
c6bf8cfebd Splash was stuck 2016-12-29 23:20:26 +01:00
furrtek
c0909fa298 Pretty icons 2016-12-26 20:33:38 +01:00
furrtek
a67feb01fd Fixed Nuoptix TX, merged DTMF TX with tones TX 2016-12-26 17:51:30 +01:00
furrtek
1e34a48be9 Fixed proc_tones skipping last tone
Split ui_bht to bht
2016-12-26 16:15:54 +01:00
furrtek
f033782d4b Playdead default sequence and validity check 2016-12-26 13:49:23 +01:00
furrtek
7df5987b3b Added utilities > Frequency manager + load/save 2016-12-26 01:31:38 +01:00
furrtek
ad2a4b6743 Added make_bitmap.py tool 2016-12-24 16:55:06 +01:00
furrtek
9470028308 Fixed messup after last squashed commits 2016-12-24 16:54:44 +01:00
furrtek
6bcb7dc1b1 # This is a combination of 2 commits.
# The first commit's message is:

Updated RDS transmitter: flags, PI and date/time

Merging baseband audio tone generators

Merging DTMF baseband with "tones" baseband

Added stealth transmit mode

App flash section bumped to 512k
RX and TX LEDs are now used
Play dead should work again, added login option
Morse frame gen. for letters and fox hunt codes
Merged EPAR with Xylos
Made EPAR use encoders for frame gen.
Moved OOK encoders data in encoders.hpp
Simplified about screen, ui_about_demo.* files are still there

BHT city DB, keywords removed

BHT cities DB, keywords removed

Update README.md

RDS radiotext and time group generators

# This is the 2nd commit message:

Update README.md
2016-12-24 11:52:11 +01:00
furrtek
75e8a664b0 3D buttons, to make UI clearer 2016-12-23 18:31:03 +01:00
furrtek
843c465c73 RDS radiotext and time group generators 2016-12-23 18:31:02 +01:00
furrtek
28ea2179f4 Re-enabled closecall even if it's still not working well
RDS PSN works again but update issue (UI ?)
Moved CTCSS stuff to dedicated file
2016-12-23 18:31:02 +01:00
furrtek
1db138c27a Wavfile class 2016-12-23 18:31:02 +01:00
furrtek
e56fa0f479 Numbers station works, very basic
Added utilities, whip antenna length calculator
Modal errors/abort
2016-12-23 18:31:02 +01:00
furrtek
d18b6d135d Restoring jammer and RDS functionalities, please wait...
Started work on frequency manager and numbers station simulator
2016-12-23 18:31:01 +01:00
furrtek
ef0feae62b Started work on ADS-B TX baseband processor 2016-12-23 18:31:01 +01:00
Jared Boone
01cd8c7776 GPIO: Fix PinConfig -> uint16_t type conversion signature. 2016-12-21 22:24:07 -08:00
Jared Boone
ad9a63a666 GPIO: Fix apparent dumb bit-logic bug.
Not due to any observable incorrect behavior, but just noticing that the code, as previously written, should not work...
2016-12-21 22:20:28 -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
f2dd6827ea Add Widget::parent_rect() accessor, rename member variable.
Some day I will settle on a convention for naming members... I think that day is near.
2016-12-06 09:28:48 -08:00
furrtek
bb6eefe2be Started ADS-B TX UI and frame encoding 2016-11-30 07:41:55 +01: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
4c8550bb7d Fix narrowing conversion warnings. 2016-11-28 12:09:02 -08:00
Jared Boone
227719ff1d Fix static_cast warning. 2016-11-28 12:05:24 -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
606c1cebac Work around apparent alignment bug in G++ 5.4.1?
Padding struct to be sizeof() % 4 == 0, because it was crashing the baseband... I think.
2016-11-26 16:58:42 -08:00
Jared Boone
ed0d5331ad Fix member initialization order. 2016-11-26 16:53:35 -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
cd31ae86d7 Add single-arg constructor for vec2_s16. 2016-11-26 16:42:03 -08:00
Jared Boone
229616491c Enable Effective C++ and uninitialized members warnings. 2016-11-26 16:28:11 -08:00
Jared Boone
193bf0b744 Add "BASEBAND" path variable for CMake. 2016-11-05 10:40:58 -07:00
Jared Boone
94528ea572 Allow overriding baseband mcuconf.h M4 clock config. 2016-11-05 10:40:05 -07: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
414dd41577 Allow modification of StreamBuffer (data values, size). 2016-10-04 09:15:19 -07:00
Jared Boone
b69a3abcb5 Spectrum: Templatize various window functions. 2016-10-03 12:31:40 -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
Jared Boone
b9e475cbf4 Silence CMakeForceCompiler deprecation warning for >=3.6. 2016-09-23 12:18:42 -07: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
d049553750 Removed terminator.img from ignore 2016-09-23 12:26: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
df0fc30fda Rect: Comment about a bad API method.
In retrospect, I don't like Rect + Rect = union -- it doesn't make as much sense and isn't as readable as Rect.union(Rect).
2016-09-07 22:19:30 -07:00
Jared Boone
f722497b01 Rect: operator method to offset by a Point. 2016-09-07 22:18:11 -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
09222f0044 Widget/View: Consolidate dirty code inside Widget. 2016-09-05 15:04:28 -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
2396d2d97a CMake: Remove DFU --reset, which fails build if reset fails.
dfu-util will often complain of reset not succeeding (which is apparently fine), then halting the programming phase (which is not fine).
2016-08-31 11:23:42 -07:00
Jared Boone
5d2ad9c1aa SGPIO: Use pin constants when changing output enables. 2016-08-30 21:33:44 -07:00
Jared Boone
00c7cdf027 CPLD: Always clock SGPIO data on external clock rising edge. 2016-08-30 21:30:03 -07:00
Jared Boone
337d5ebaea Add PortaPack-customized HackRF CPLD bitstream. 2016-08-30 21:29:23 -07:00
Jared Boone
42a07bb10c Remove repeated code in RF path Config. 2016-08-30 21:26:55 -07:00
Jared Boone
f0c4b0fc98 AIS: Doesn't use RRC filter -- use rect instead. 2016-08-29 20:47:37 -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
Jared Boone
e2fe4b65d9 CPLD: Set DECIM1 as input to CPLD.
How did DECIM work before?! Now, decimate is no longer a feature, so this doesn't really matter. But tidying it up anyway.
2016-08-23 10:30:05 -07: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
11a5aa9766 FatFs: Apply patch ff12a_p6.diff. 2016-08-21 23:03:08 -07:00
Jared Boone
60cc9b7faa FatFs: Apply patch ff12a_p5.diff.
Fixed one chunk of this patch in an earlier commit.
2016-08-21 23:02:00 -07: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
Jared Boone
52c089c4df SGPIO: Hi-Z data bus before setting direction pin.
Another tactic to avoid bus contention, however brief.
2016-08-13 16:46:02 -07:00
Jared Boone
62d2ae2336 SGPIO: Change bus direction more deliberately.
There may have been an instant where the CPLD and SGPIO were driving the bus simultaneously, when switching from TX to RX.
2016-08-13 16:42:39 -07:00
Jared Boone
2ec1bab5d5 Plumb BasebandThread to accept direction argument.
Default is to receive, for compatibility with existing users.
2016-08-10 10:36:03 -07:00
Jared Boone
96da55d83a wait_for_buffer() now handles TX buffers.
Feels a bit awkward to read LLI src/dest to determine if RX or TX. But it works.
2016-08-10 10:34:14 -07:00
Jared Boone
c8af6dcd70 Add SMULL instruction inline function. 2016-08-10 09:53:35 -07:00