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
furrtek
e686c7437e
Fixed OOK clk setting
2016-08-06 12:55:39 +02: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
Jared Boone
447a7a5661
Add TXGainField user interface element.
2016-08-03 16:14:34 -07:00
Jared Boone
ef9b4051b7
Expose TX gain on ReceiverModel.
...
Obviously, ReceiverModel is an even worse name/concept than it was before.
2016-08-03 16:13:54 -07:00
Jared Boone
1e39b7ea45
Expose TX gain in radio API.
2016-08-03 16:12:22 -07:00
Jared Boone
45a1ccbc53
Correctly map TX gain from dB to register value.
2016-08-03 16:12:01 -07: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
94b27ec45c
Scrollable menuview
2016-07-30 05:27:28 +02:00
Jared Boone
69173f5292
FatFs: My patch to fix wrong argument type warning.
2016-07-28 23:21:13 -07:00
Jared Boone
e9d97dfd0f
FatFs: Update application ffconf.h from template.
2016-07-28 23:15:10 -07:00
Jared Boone
e5810ab7c7
FatFs: Remove (deprecated?) _USE_WRITE, _USE_IOCTL guards.
2016-07-28 23:14:43 -07:00
Jared Boone
4f6254cc93
FatFs: Apply patch ff12a_p4.diff.
2016-07-28 23:14:08 -07:00
Jared Boone
aa8c8b2937
FatFs: Apply patch ff12a_p3.diff.
2016-07-28 23:13:07 -07:00
Jared Boone
897110f715
FatFs: Apply patch ff12a_p2.diff.
2016-07-28 23:12:04 -07:00
Jared Boone
3a51933882
FatFs: Apply patch ff12a_p1.diff.
2016-07-28 23:11:23 -07:00
Jared Boone
d5234633ba
FatFs: Update to R0.12a.
2016-07-28 23:06:21 -07:00
furrtek
c58039e557
Fixed LCR scan and alt format, console widget, text input autotrim
2016-07-29 04:52:51 +02:00
Jared Boone
16a6d7efe0
Touch: Adjust thresholds and parameters for new scan.
2016-07-27 21:58:35 -07:00
Jared Boone
dd2097a447
Touch: Simplify scanning.
2016-07-27 21:57:51 -07:00
Jared Boone
8a8e84d763
Remove debugging code.
2016-07-27 21:57:00 -07: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
Jared Boone
aa1b8f63fc
Remove errant debug #define.
2016-07-27 15:12:08 -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
f85d83475c
ReceiverModel: Clean up Mode enum.
2016-07-27 14:57:50 -07:00
Jared Boone
f05d917a7c
ReceiverModel: Use Mode instead of integer.
2016-07-27 14:51:37 -07:00
Jared Boone
371c6e0906
ReceiverModel: Eliminate now-redundant BasebandConfiguration.
2016-07-27 14:42:46 -07:00
Jared Boone
b60e88ef68
ReceiverModel: More method renaming.
...
update_baseband_configuration() -> update_sampling_rate().
2016-07-27 14:41:36 -07:00
Jared Boone
5a05a758a1
ReceiverModel: Use accessor method.
2016-07-27 14:40:30 -07:00
Jared Boone
44a1b7d9d7
ReceiverModel: Method renaming.
...
update_modulation_configuration() -> update_modulation().
2016-07-27 14:39:49 -07:00
Jared Boone
82f6e7c306
Change default frequency when NVRAM is initialized.
2016-07-27 14:17:57 -07:00
Jared Boone
24fa97439d
Touch: Add touch configuration UI.
2016-07-27 14:15:21 -07:00
Jared Boone
cd9b76ef78
Touch: Average/threshold tweaks.
2016-07-27 14:08:24 -07:00
Jared Boone
7492d50f0b
Touch: Use calibration matrix.
2016-07-27 14:08:02 -07:00
Jared Boone
e813db16fd
Touch: Missing #include.
2016-07-27 14:04:04 -07:00
Jared Boone
5e5417b456
Touch: Default and active calibration API of sorts.
2016-07-27 14:03:06 -07:00
Jared Boone
c022a72ef4
Touch: Add Calibration class.
...
Matrix transforms coordinates from digitizer to display.
2016-07-27 14:01:20 -07:00
furrtek
e958b4bd7d
Fixed LCR transmit and AFSK baseband module
2016-07-27 21:26:03 +02:00
Jared Boone
8d330784b2
CFlags: Add "-g" compiler option for debug symbols.
2016-07-27 11:46:09 -07:00
Jared Boone
9500da4b1b
Touch: Fix small loss of precision calculating X/Y positions.
2016-07-27 11:14:11 -07:00
Jared Boone
f1a3201940
Touch: Add bitmaps for calibration UI.
2016-07-27 11:13:07 -07:00
Jared Boone
6c2eb37248
Bitmap: Add note about how data is structured.
2016-07-26 21:29:59 -07: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
d0fd56bc78
Touch: Expose metrics calculation struct/function.
2016-07-26 15:13:07 -07: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
Jared Boone
729ab9bb8e
TPMS: Increase channel sampling rate, improve hit rate.
2016-07-25 16:13:14 -07:00
Jared Boone
3759e142d8
ERT: Add RSSI to app UI.
2016-07-25 16:12:32 -07:00
Jared Boone
508ce89271
ERT: Add RSSI reporter to processor.
2016-07-25 16:12:13 -07:00
Jared Boone
5e362534c3
Transponder apps: Use gains from receiver model.
2016-07-25 16:07:22 -07:00
Jared Boone
c573f3b57d
ERT: Fix initial focus.
2016-07-25 16:06:26 -07:00
Jared Boone
00f542e96b
ERT: Add gain controls.
2016-07-25 16:06:09 -07:00
Jared Boone
aaa0e389b9
AIS: Add gain controls, RSSI and channel indications.
2016-07-25 15:46:37 -07:00
Jared Boone
512539fd8c
AIS: Add RSSI reporting to processor.
2016-07-25 15:45:27 -07:00
Jared Boone
4eb3f044a0
TPMS: Close row between controls and table header.
2016-07-25 15:29:52 -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
fe1a6c09bb
Clean up baseband processors to each have a main().
2016-07-24 21:42:11 -07:00
Jared Boone
c8ffea0098
baseband: Move all init code into baseband.cpp.
2016-07-24 21:34:38 -07:00
Jared Boone
ea143bd3fc
Move baseband init/shutdown code to before/after main(), not inside.
2016-07-24 21:26:00 -07:00
Jared Boone
ffa797b926
File: Remove puts(), add write_line(), cascade changes in interface.
2016-07-24 20:39:21 -07:00
Jared Boone
c2d971d59e
WAVFileWriter: Error handling while updating header.
2016-07-24 19:14:48 -07:00
Jared Boone
ff17f8f293
File: Do not use f_error() in puts(), it doesn't return the reason for failure.
...
TODO: Improve puts() behavior to return a more specific error than FR_EOF.
2016-07-24 19:13:39 -07:00
Jared Boone
d556ef38b4
File: Make incomplete write()s return FR_DISK_FULL.
2016-07-24 19:12:37 -07:00
Jared Boone
931853a55f
Make File::Result::value() const.
2016-07-24 19:12:09 -07: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
3c46abdb24
Remove redundant #include.
2016-07-19 14:25:56 -07:00
Jared Boone
ff9c911a93
Optional code to disable baseband DMA synchronization.
2016-07-19 11:02:30 -07:00
Jared Boone
2993f7be1d
SDIO: Commit optional code to run at 50MHz.
2016-07-19 11:00:31 -07:00
Jared Boone
6f65cdf41e
Add frequency step control to capture app.
...
Redistribute other controls, remove empty row that had been reserved for options views.
2016-07-19 10:48:45 -07:00
Jared Boone
a98ada0cb7
Extract FrequencyStepView from FrequencyOptionsView.
...
...for use in capture app.
2016-07-19 10:47:15 -07:00
Jared Boone
77291b4e31
On PortaPack shutdown, init HackRF CPLD to EEPROM bitstream.
2016-07-18 11:32:14 -07:00
Jared Boone
4b7fa9f411
CPLD: Add XC2C64A method to init from EEPROM contents.
2016-07-18 11:31:21 -07:00
Jared Boone
c0b9761fe5
Move CPLD management into PortaPack::init().
2016-07-18 11:30:45 -07:00
Jared Boone
5390c45e04
Fix Python 2 vs 3 breakage relating to hex().
...
In Python 2, hex() of large ints has a "L" on the end.
2016-07-17 16:16:13 -07:00
Jared Boone
3f3fe3bb67
JTAG: Report if HackRF CPLD bitstream matches released version.
...
TODO: Could be better reporting (CRC?), and could not pause while checking CPLD EEPROM, and could offer a means to program the bitstream if it doesn't match...
2016-07-17 15:56:24 -07:00
Jared Boone
204408d288
JTAG: Load HackRF CPLD bitstream into SRAM from firmware image.
...
No further concerns about the HackRF CPLD having an ancient bitstream on it! At least in PortaPack mode...
2016-07-17 15:54:02 -07:00
Jared Boone
c8b1a8fbf6
JTAG: Add functions to check EEPROM, load SRAM of HackRF CPLD.
2016-07-17 15:52:58 -07:00
Jared Boone
1d58f05163
JTAG: Auto-generate HackRF CPLD data from SVF.
2016-07-17 15:50:36 -07:00
Jared Boone
cd3a91b3af
JTAG: HackRF CPLD SVF file for embedding in firmware.
2016-07-17 15:48:02 -07:00
Jared Boone
51c114405b
JTAG: Tool that generates C++ files from XC2C64A SVF data.
2016-07-17 15:46:12 -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
7bcde54050
Tool for generating CPLD bitstreams in C++ arrays, from SVF file.
2016-07-05 12:33:15 -07:00
Jared Boone
740edc4d49
Remove PortaPack CPLD checksum display.
...
No point in calculating or showing, since full compare against desired bits is done at every startup -- way better than a CRC, and if it fails tries to program. If programming fails, the PortaPack panics and LED flashes.
2016-07-05 12:08:56 -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
42190b9587
CMake: Fix ldscript dependencies.
2016-07-03 18:48:39 -07:00
Jared Boone
0899c48735
Remove linker map generation, other unnecessary(?) flags.
2016-07-03 18:33:36 -07:00
Jared Boone
b6fe392512
CMake: Improve dependencies, how output files are managed/cleaned.
...
I almost think I understand CMake, now. Almost.
2016-07-03 18:32:50 -07:00
Jared Boone
45ca3cf7e6
CMake: reduce intermediate targets, add script dependencies.
2016-07-03 11:32:21 -07:00
Jared Boone
53434f3789
Fix Python2 string type error.
2016-07-02 18:15:39 -07:00
Jared Boone
c52f5fa26c
Expose static EventDispatcher to stop main loop.
...
Used to fix reboot into HackRF firmware.
2016-07-02 16:38:01 -07:00
Jared Boone
57293bc5eb
Clear application message queue after baseband is shut down.
2016-07-02 16:19:41 -07:00
Jared Boone
30efa53956
Clear M4->M0 interrupt before M4 image is loaded.
...
...out of an abundance of caution.
2016-07-02 16:15:43 -07:00
Jared Boone
34e45412d1
Dumb baseband-running state tracking to ease use of baseband API.
2016-07-02 16:12:36 -07:00
Jared Boone
b2d5e47308
Clear baseband message at end of shutdown().
...
Allow baseband to shut down completely before shutdown message is acknowledged.
2016-07-02 16:02:50 -07:00
Jared Boone
dbd0c17c2f
Clear baseband message for non-shutdown messages.
2016-07-02 16:02:03 -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
Jared Boone
f683980052
Generate and append terminator chunk to basebands image.
2016-06-30 19:37:32 -07:00
Jared Boone
c3d81f1496
Add HackRF factory firmware to basebands image.
2016-06-30 19:37:05 -07:00
Jared Boone
61f954dbeb
Tweak make_image_chunk to produce empty chunk when argc == 2.
2016-06-30 19:36:23 -07:00
Jared Boone
184eb9eb0d
Utility to strip HackRF firmware DFU header.
2016-06-30 19:35:51 -07:00
Jared Boone
01833ccb83
Write all baseband binaries into tagged image file.
2016-06-30 16:45:41 -07:00
Jared Boone
f4c897946b
Add top-level CMake file.
2016-06-30 15:59:36 -07:00
Jared Boone
97760a2f9d
Remove GNU Make files, now using CMake to build firmware.
2016-06-30 12:04:10 -07:00
Jared Boone
cf5ac441ae
Add CMake firmware build system.
2016-06-30 12:02:43 -07:00
Jared Boone
500a651bcf
Give Processors a run() function.
...
So main() can call it, start a Processor linked in to the baseband binary.
2016-06-30 11:53:58 -07:00
Jared Boone
1a5f3a4422
Give new Processor to EventDispatcher.
2016-06-25 11:14:28 -07:00
Jared Boone
525e72ac86
Move Baseband/RSSI threads into Processors.
2016-06-25 11:12:22 -07:00
Jared Boone
74c8429f75
Take processor as argument to BasebandThread.
...
Remove lots of dependency on specific processors.
Reduce state by removing processor switching from BasebandThread.
2016-06-25 10:57:16 -07:00
Jared Boone
bb32ef5321
Bracket BasebandThread loop with enable/disable code.
2016-06-25 10:53:16 -07:00
Jared Boone
9188bb9ee9
Remove thread pointer checking.
2016-06-24 15:46:53 -07:00
Jared Boone
f8a473d56b
Change baseband, RSSI threads to be more RAII.
2016-06-24 15:34:49 -07:00
Jared Boone
2b7e763619
Don't check EventDispatcher::thread_event_loop before using.
...
If static methods are getting called, variable is already set.
2016-06-24 15:27:23 -07:00
Jared Boone
9444d21c12
Remove baseband stats tracking code.
...
It was half-baked, and is getting in the way of a major refactoring.
2016-06-24 15:24:26 -07:00
Jared Boone
d41c6ee36a
Simplify app->baseband message handling.
...
No need for a FIFO when all messages are intended to be synchronous.
2016-06-24 14:16:45 -07:00
Jared Boone
61325e4696
Enable M4 interrupt from M0 only when expected.
2016-06-24 13:44:40 -07:00
Jared Boone
e263420ea3
Enable M4 interrupt on M0 core only when M4 image is running.
2016-06-24 11:32:24 -07:00
Jared Boone
c7497577a0
Make all app->baseband messages synchronous.
...
No idea why they shouldn't be...
2016-06-24 11:31:41 -07:00
Jared Boone
303bfeaafc
Run baseband image per application.
...
First step toward having separate baseband images per app or function.
2016-06-24 11:30:54 -07:00
Jared Boone
ac0bdc35a6
Set TPMS app initial focus.
2016-06-23 22:11:47 -07:00
Jared Boone
fead46cc46
Fix state management in Capture mode.
...
Don't alter ReceiverModel modulation/mode when capturing.
2016-06-23 12:03:47 -07:00
Jared Boone
1010e6a234
Remove unused DMA Handler types.
2016-06-22 11:22:28 -07:00
Jared Boone
3cdce88e5d
TPMS: Allow band selection: 315 or 433.92 (~434) MHz.
2016-06-21 15:36:57 -07:00
Jared Boone
b34512e3d6
Eliminate a buffer_t copy/duplication.
2016-06-21 15:23:51 -07:00
Jared Boone
003ce4990d
Move CaptureThread::static_fn into .cpp.
2016-06-21 12:15:57 -07:00
Jared Boone
264c19b312
Rename CaptureThread message, callback method, handle success.
2016-06-21 12:05:55 -07:00
Jared Boone
81d4e59aeb
Add CaptureThread success_callback.
2016-06-21 11:53:07 -07:00
Jared Boone
4ffb05212e
Pass error_callback by value.
2016-06-21 11:52:05 -07:00
Jared Boone
0e33d7e5d0
Refresh UIRecordVide status display when appropriate.
2016-06-21 11:35:41 -07:00
Jared Boone
44fb66b4f9
Rename UIRecordView::on_tick_second() -> update_status_display().
2016-06-21 11:35:15 -07:00
Jared Boone
19e5e111a9
Move UIRecordView::set_sampling_rate to .cpp.
2016-06-21 11:33:23 -07:00
Jared Boone
59aa99c8ff
Whoops, use events_flag(), not events_flag_isr().
2016-06-21 11:19:22 -07:00
Jared Boone
320d979924
Simplify CaptureThread error callback functions.
2016-06-21 11:13:58 -07:00
Jared Boone
cfaa44b02a
Send CaptureThread error into app-local message queue.
2016-06-21 11:04:10 -07:00
Jared Boone
76c5fe96af
Use app-local queue for messages coming from application.
...
Messages are now deferred until application thread call stack unwinds, events are checked.
2016-06-21 11:00:42 -07:00
Jared Boone
dbe735233a
Add app-local MessageQueue.
2016-06-21 10:57:44 -07:00
Jared Boone
7023616808
Move MessageQueue locations in SharedMemory structure.
2016-06-21 10:56:00 -07:00
Jared Boone
9f95eb90a3
Shrink baseband queue size, 2^12 -> 2^11.
2016-06-21 10:55:24 -07:00
Jared Boone
c990963298
Expose filesystem_error code.
2016-06-21 10:54:13 -07:00
Jared Boone
420adea180
Move capture start/stop into baseband API.
...
Hide more calls to baseband/shared memory.
2016-06-20 10:52:59 -07:00
Jared Boone
6bd191349a
Hide MessageHandlerMap.
...
Definitely didn't belong in message.hpp, saw no reason to expose it outside translation unit (.cpp file).
2016-06-19 22:56:06 -07:00
Jared Boone
f731366248
Hide some M0 EventDispatcher event masks.
2016-06-19 11:41:38 -07:00
Jared Boone
dbc2a5c9ea
Hide CaptureThread event mask, only used internally.
2016-06-19 11:20:45 -07:00
Jared Boone
0da48b099c
Add RF amp field to TPMS, capture modes.
2016-06-06 10:34:39 -07:00
Jared Boone
9190fe7e4f
Move common code to LNA/VGA field widgets.
2016-06-06 10:27:33 -07:00
Jared Boone
5ee035fbb3
Move RF amp control code into new class.
2016-06-06 10:13:36 -07:00
Jared Boone
a0e7fdf90b
TPMS: Add gain controls.
2016-06-06 09:50:48 -07:00
Jared Boone
a475daeeea
TPMS: Validate checksum for OOK 8k192 Schrader.
2016-06-02 23:09:55 -07:00
Jared Boone
9628815da7
TPMS: Validate checksum for the OOK 8k4 Schrader variant.
2016-06-02 22:22:22 -07:00
Jared Boone
4734790518
Rework phase detector.
...
Simplify calculation of gate masks.
Use entire symbol period to compute symbol value.
Correct error sign based on symbol value.
2016-06-01 15:22:21 -07:00
Jared Boone
36eefa46e7
Improve OOK phase advance algorithm.
...
Now independent of samples/symbol, adjusts up to 1/8 of a cycle per symbol.
2016-06-01 15:20:23 -07:00
Jared Boone
57767004a2
TPMS: Comments, more descriptive declarations.
2016-05-30 11:28:22 -07:00
Jared Boone
a52d0fbd81
Rename format_manchester/ManchesterFormatted to "[sS]ymbols".
2016-05-30 11:24:59 -07:00
Jared Boone
3d22222689
Extract DecodedSymbol from ManchesterDecoder.
2016-05-30 11:23:13 -07:00
furrtek
e15f659a6a
RDS radiotext transmit (group 2A)
...
Keyboard/Unistroke text input method selection
2016-05-29 12:06:47 +02:00
furrtek
ceced96673
Started fixing RDS and adding more group types
2016-05-28 01:59:13 +02:00
Jared Boone
05b55f2696
TPMS: Extract packet readers.
2016-05-27 13:41:56 -07:00
furrtek
9c3e3bddad
LCR scanner and bugfixes, keyboard bugfixes
2016-05-27 09:26:43 +02:00
furrtek
6a0816ba56
Added carrier wake up in Xylos TX and cute icons
2016-05-27 06:48:04 +02:00
Jared Boone
e7aaf0e8cf
Format TPMS signal type details in log file.
2016-05-25 18:03:43 -07:00
Jared Boone
04c472e802
Push SignalType inside tpms::Packet.
2016-05-25 17:58:32 -07:00
Jared Boone
83e4aec49c
Hack to paint over last options view when none should be visible.
2016-05-25 11:39:03 -07:00
Jared Boone
6a294e7d0e
Shameful hack to hide RecordView when sampling_rate == 0.
...
Switch visibility of child widgets -- UI fields/controls vs. a black rectangle. TODO: Fix painting and state management, which right now is just terrible.
2016-05-25 11:33:23 -07:00
Jared Boone
ff57b3c8cb
Add Color-only constructor to ui::Rectangle widget.
2016-05-25 11:32:06 -07:00