Jared Boone
62b1a82b6b
Doc: Fix incorrect comment about MCU->CPLD pin functions.
2017-07-17 16:41:02 -07:00
Jared Boone
1b9a569022
SDC: Adjust clock/data timing and output drive to match SD specs, measurements.
2017-07-17 16:38:31 -07:00
furrtek
33a2df9d2a
OutputStream (file M0 -> M4 radio) now works
...
Disabled numbers station for now (too buggy, low priority)
2017-06-23 08:40:22 +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
47cc88d1e1
ILI9341: Tidy scroll types, use height().
2017-06-19 16:31:54 -07: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
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
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
600dcb734e
AK4951: Initial commit.
2017-05-31 11:45:54 -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
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
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
furrtek
a35d9ee8a9
Missing image files
2017-05-18 21:56:55 +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
Jared Boone
dd0048db8d
Remove broken simd32_t type.
2017-05-03 09:58:07 +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
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
40b49e2072
POCSAG address filter now ignores alpha messages
...
Experimenting with FIFOs for replay...
2017-04-19 22:05:16 +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
fbc054ca75
Coaster pager address scan
...
Merged tone setups
2017-04-11 08:42:31 +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
2d75722b74
Added microphone TX (very basic for now)
2017-03-12 07:10:09 +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
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
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
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
21de81bb85
POCSAG TX: Support for numeric only and address only messages
2017-02-08 01:19:29 +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
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
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
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
0642d633c3
Frequency manager empty file bugfix
2017-01-30 01:09:00 +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
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
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
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
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
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
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
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
227719ff1d
Fix static_cast warning.
2016-11-28 12:05:24 -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
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
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
414dd41577
Allow modification of StreamBuffer (data values, size).
2016-10-04 09:15:19 -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
bb29efeda6
Added Nuoptix DTMF sync transmit (Disney parades, light shows...)
...
Soundboard ignores stereo files
2016-09-23 17:34:50 +02: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
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
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
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
02f0271553
Added basic POCSAG receiver
...
Added Yes/no modal screen (for future tx warnings)
2016-08-23 08:45:33 +02: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
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
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
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
c58039e557
Fixed LCR scan and alt format, console widget, text input autotrim
2016-07-29 04:52:51 +02: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
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
82f6e7c306
Change default frequency when NVRAM is initialized.
2016-07-27 14:17:57 -07:00
furrtek
e958b4bd7d
Fixed LCR transmit and AFSK baseband module
2016-07-27 21:26:03 +02: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
20bcbf511e
Move thread_base.hpp from baseband/ to common/.
...
I want to use it with M0 code as well.
2016-07-26 10:22:10 -07:00
furrtek
fdfa7c9776
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
firmware/Makefile
firmware/application/Makefile
firmware/application/event_m0.cpp
firmware/application/ui_setup.cpp
firmware/application/ui_setup.hpp
firmware/baseband/baseband_thread.cpp
firmware/baseband/baseband_thread.hpp
firmware/bootstrap/CMakeLists.txt
firmware/common/message.hpp
firmware/common/portapack_shared_memory.hpp
hardware/.gitignore
2016-07-25 16:35:42 +02:00
furrtek
966a758a0b
Added frequency manager skeleton, LCR alt encoding, GPS jammer
2016-07-25 16:21:27 +02:00
Jared Boone
8b02e40602
Move touch ADC data collection to M0.
...
...so it continues when M4 is shut down.
It's not as pretty as using DMA, but it's far simpler, even if it involves letting the ADC run continuously and taking the last samples even if not synchronizing to the phase of the sampling of the channels.
2016-07-24 15:31:53 -07:00
Jared Boone
b3f4ea8978
Clean up SharedMemory placement new.
2016-07-24 15:27:05 -07:00
Jared Boone
49d6cda731
Move BasebandConfiguration to receiver_model.hpp.
...
That's the only place it's being used now -- it's no longer moving between cores.
2016-07-19 17:11:32 -07:00
Jared Boone
74b5571e8b
Remove baseband::start()/stop() and related message.
2016-07-19 17:06:22 -07:00
Jared Boone
4b7fa9f411
CPLD: Add XC2C64A method to init from EEPROM contents.
2016-07-18 11:31:21 -07:00
Jared Boone
4cc356f325
JTAG: Code to manage HackRF CPLD interactions.
2016-07-17 15:45:00 -07:00
Jared Boone
71c7f543c5
JTAG: Add TAP state management.
...
Not all that happy with the implementation, but it's doing the job for now.
2016-07-17 15:44:30 -07:00
Jared Boone
c0f4fbe32d
JTAG: Add GPIO definitions for HackRF CPLD.
2016-07-16 14:06:58 -07:00
Jared Boone
22143c9543
JTAG: Remove unused methods.
2016-07-13 11:02:13 -07:00
Jared Boone
18fe30136e
JTAG: Move Target interface to separate header.
2016-07-11 09:39:02 -07:00
Jared Boone
6917ffe1e3
JTAG: Clean up definition of Target interface.
2016-07-11 09:16:47 -07:00
Jared Boone
ad4a68f90a
CMake: Generate portapack_cpld_data.cpp from SVF via tool.
2016-07-05 12:45:31 -07:00
Jared Boone
3ed1d9e24a
CPLD: Method to calculate bitstream CRC32.
2016-07-05 12:06:51 -07:00
Jared Boone
df825807d6
CRC: Rearrange public methods to reduce user error.
...
If you can access process_bits() without considering RevIn value, you will likely not get the CRC value you're expecting! Put RevIn check where it belongs, in process_bits().
2016-07-05 11:57:57 -07:00
Jared Boone
57293bc5eb
Clear application message queue after baseband is shut down.
2016-07-02 16:19:41 -07:00
Jared Boone
eac4cf678a
Capture M4 chDbgPanic msg, show in application.
2016-07-02 15:33:03 -07:00
Jared Boone
97ba19af24
Change M4 loader to use image tags.
...
Also finish moving HackRF binary to tagged image region.
2016-07-01 10:37:22 -07:00
Jared Boone
0e62876578
Add types for tagged data chunks in SPI flash.
2016-07-01 10:32:52 -07:00