Compare commits

...

18 Commits

Author SHA1 Message Date
Erwin Ried 477635a100 Version bump 2020-05-30 01:42:08 +02:00
Erwin Ried 6c7dfbfc89 The more arrow looks better with 1 px spacing on some UIs 2020-05-30 01:42:00 +02:00
Erwin Ried 589611c8bd Control alignment on Fileman app 2020-05-30 01:39:08 +02:00
Erwin Ried 9a1d6aabe4 Merge branch 'master' of https://github.com/eried/portapack-mayhem 2020-05-30 01:38:28 +02:00
Erwin Ried 25a660138b Merge pull request #38 from jboone/patch-1
Stop replay before exiting Replay app, to avoid freeze.
2020-05-30 01:17:23 +02:00
Jared Boone f2886715ce Stop replay before exiting Replay app, to avoid freeze. 2020-05-29 14:52:11 -07:00
Erwin Ried defdd57ea3 Few more icons refreshed 2020-05-29 03:10:13 +02:00
Erwin Ried acbb100d64 Fix for https://github.com/eried/portapack-mayhem/issues/35 Capture app hang on exit 2020-05-29 00:55:57 +02:00
Erwin Ried 9b010686b6 Tweaking more icons for consistency in style 2020-05-29 00:04:07 +02:00
Erwin Ried 9aa2d17753 Python3 compatibility 2020-05-29 00:03:47 +02:00
Erwin Ried 1ce4c402e0 Merge branch 'master' of https://github.com/eried/portapack-mayhem 2020-05-27 21:40:55 +02:00
Erwin Ried decce5cc17 Revert "Adding 2 more steps to the frequency selector (#28)"
This reverts commit ebfcc81894.
2020-05-27 21:40:50 +02:00
Erwin Ried 125aa75553 fix OOK transmit - getting stuck after '12E' type
From https://github.com/z4ziggy/portapack-havoc/commit/395bc486f12b4303cadfc2fa59e9095a409aaaa8
2020-05-26 11:45:48 +02:00
Erwin Ried 687b1187d1 Version bump 2020-05-24 23:37:27 +02:00
Erwin Ried a467e74a78 Minor UI changes to Soundboard 2020-05-24 23:34:49 +02:00
Erwin Ried e889a54e55 Example sound clips
From www.myinstants.com
2020-05-24 21:40:28 +02:00
Erwin Ried f501955dfd Updating the sdcard folder with the release files 2020-05-24 20:58:15 +02:00
Erwin Ried cfd1fe2b18 Progress bar fix 2020-05-23 22:53:20 +02:00
40 changed files with 190 additions and 207 deletions
+2 -4
View File
@@ -13,7 +13,6 @@
/sdcard/FREQMAN/BHT*
/sdcard/FREQMAN/R.TXT
/sdcard/FREQMAN/XXX.TXT
/sdcard/WAV/*
# Compiled Object files
*.slo
@@ -61,7 +60,6 @@ CMakeFiles/
*.sublime-project
*.sublime-workspace
# Host OS turds
# Host OS leftovers
.DS_Store
/firmware/CMakeCache.txt
/sdcard/ADSB/airlines.txt
/firmware/CMakeCache.txt
+1 -1
View File
@@ -82,7 +82,7 @@ void GpsSimAppView::on_file_changed(std::filesystem::path new_file_path) {
auto file_size = data_file.size();
auto duration = (file_size * 1000) / (1 * 2 * sample_rate);
progressbar.set_max(file_size);
progressbar.set_max(file_size / 1024);
text_filename.set(file_path.filename().string().substr(0, 12));
text_duration.set(to_string_time_ms(duration));
+1
View File
@@ -231,6 +231,7 @@ ReplayAppView::~ReplayAppView() {
}
void ReplayAppView::on_hide() {
stop(false);
// TODO: Terrible kludge because widget system doesn't notify Waterfall that
// it's being shown or hidden.
waterfall.on_hide();
+3 -3
View File
@@ -207,8 +207,8 @@ SoundBoardView::SoundBoardView(
&menu_view,
&text_empty,
&options_tone_key,
&text_title,
&text_duration,
//&text_title,
//&text_duration,
&progressbar,
&check_loop,
&check_random,
@@ -217,7 +217,7 @@ SoundBoardView::SoundBoardView(
refresh_list();
text_title.set(to_string_dec_uint(file_list.size()));
//text_title.set(to_string_dec_uint(file_list.size()));
tone_keys_populate(options_tone_key);
options_tone_key.set_selected_index(0);
+9 -9
View File
@@ -80,12 +80,12 @@ private:
void on_select_entry();
Labels labels {
{ { 0, 20 * 8 + 4 }, "Title:", Color::light_grey() },
{ { 0, 23 * 8 }, "Key:", Color::light_grey() }
//{ { 0, 20 * 8 + 4 }, "Title:", Color::light_grey() },
{ { 0, 180 }, "Key:", Color::light_grey() }
};
MenuView menu_view {
{ 0, 2 * 8, 240, 20 * 8 },
{ 0, 0, 240, 175 },
true
};
Text text_empty {
@@ -93,22 +93,22 @@ private:
"Empty directory !",
};
Text text_title {
/*Text text_title {
{ 6 * 8, 20 * 8 + 4, 15 * 8, 16 }
};
};*/
Text text_duration {
/*Text text_duration {
{ 22 * 8, 20 * 8 + 4, 6 * 8, 16 }
};
};*/
OptionsField options_tone_key {
{ 4 * 8, 23 * 8 },
{ 32 , 180 },
18,
{ }
};
Checkbox check_loop {
{ 8, 25 * 8 + 4 },
{ 0, 25 * 8 + 4 },
4,
"Loop"
};
+1 -1
View File
@@ -55,7 +55,7 @@ private:
//uint8_t scan_count;
//double scan_progress;
//unsigned int scan_index;
int16_t waveform_buffer[512];
int16_t waveform_buffer[550];
const encoder_def_t * encoder_def { };
//uint8_t enc_type = 0;
+3 -3
View File
@@ -97,7 +97,7 @@ protected:
};
Button button_exit {
{ 20 * 8, 34 * 8, 10 * 8, 4 * 8 },
{ 16 * 8, 34 * 8, 14 * 8, 32 },
"Exit"
};
};
@@ -157,11 +157,11 @@ private:
};
Button button_rename {
{ 0 * 8, 29 * 8, 12 * 8, 32 },
{ 0 * 8, 29 * 8, 14 * 8, 32 },
"Rename"
};
Button button_delete {
{ 18 * 8, 29 * 8, 12 * 8, 32 },
{ 16 * 8, 29 * 8, 14 * 8, 32 },
"Delete"
};
+150 -150
View File
@@ -439,9 +439,9 @@ static constexpr uint8_t bitmap_icon_debug_data[] = {
0xAA, 0x0A,
0x52, 0x01,
0xAA, 0x12,
0x02, 0x18,
0x02, 0x08,
0x02, 0xFC,
0x02, 0x18,
0x02, 0x08,
0xFE, 0x13,
0x00, 0x00,
};
@@ -451,20 +451,20 @@ static constexpr Bitmap bitmap_icon_debug {
static constexpr uint8_t bitmap_icon_dir_data[] = {
0x00, 0x00,
0xFC, 0x00,
0x02, 0x01,
0x01, 0x3E,
0x01, 0xE0,
0x01, 0xA0,
0x01, 0xA0,
0x01, 0xA0,
0x01, 0xA0,
0x02, 0x40,
0x02, 0x40,
0x02, 0x40,
0x02, 0x40,
0x02, 0x40,
0xFC, 0x3F,
0x3E, 0x00,
0x41, 0x00,
0xC1, 0x7F,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xAF, 0xEA,
0x57, 0xF5,
0xEF, 0xEF,
0xF7, 0xF7,
0xEE, 0x6F,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_dir {
@@ -560,22 +560,22 @@ static constexpr Bitmap bitmap_icon_file_image {
};
static constexpr uint8_t bitmap_icon_file_iq_data[] = {
0x98, 0x00,
0x24, 0x06,
0xA4, 0x08,
0x34, 0x10,
0xB8, 0x20,
0x20, 0x20,
0x80, 0x00,
0xD5, 0x55,
0x80, 0x00,
0x02, 0x70,
0x82, 0x20,
0xFC, 0x03,
0x04, 0x06,
0x04, 0x0E,
0x04, 0x1E,
0x04, 0x3E,
0x04, 0x20,
0x88, 0x20,
0x30, 0x70,
0x80, 0x00,
0x00, 0x00,
0x04, 0x20,
0x04, 0x21,
0x44, 0x25,
0x54, 0x25,
0xF4, 0x2F,
0xA4, 0x2A,
0x84, 0x22,
0x04, 0x22,
0x04, 0x20,
0xFC, 0x3F,
};
static constexpr Bitmap bitmap_icon_file_iq {
{ 16, 16 }, bitmap_icon_file_iq_data
@@ -627,20 +627,20 @@ static constexpr Bitmap bitmap_icon_fox {
static constexpr uint8_t bitmap_icon_freqman_data[] = {
0x00, 0x00,
0x0E, 0x00,
0x02, 0x00,
0xE6, 0x7F,
0x02, 0x00,
0x00, 0x00,
0x0E, 0x00,
0x02, 0x00,
0xE6, 0x7B,
0x02, 0x00,
0x00, 0x00,
0x0E, 0x00,
0x02, 0x00,
0x66, 0x7F,
0x02, 0x00,
0x7E, 0x7E,
0x81, 0x81,
0xBD, 0xBD,
0x81, 0x81,
0xBD, 0xBD,
0x81, 0x81,
0xBD, 0x9D,
0x81, 0x81,
0xBD, 0xE1,
0x81, 0x61,
0x7E, 0x3E,
0x00, 0x00,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_freqman {
@@ -692,22 +692,22 @@ static constexpr Bitmap bitmap_icon_hackrf {
};
static constexpr uint8_t bitmap_icon_jammer_data[] = {
0xA6, 0xAC,
0x73, 0x47,
0xAE, 0xB9,
0x55, 0xD7,
0x7E, 0xAE,
0xD3, 0x45,
0xCA, 0xBA,
0x71, 0x15,
0xDA, 0xFE,
0xF5, 0xAB,
0xAF, 0x98,
0x4A, 0x77,
0xAD, 0xCA,
0x58, 0x7D,
0xBF, 0xAF,
0x5A, 0x65,
0xE0, 0x07,
0xF8, 0x1F,
0x1C, 0x38,
0x0E, 0x78,
0x06, 0x7C,
0x03, 0xCE,
0x03, 0xC7,
0x83, 0xC3,
0xC3, 0xC1,
0xE3, 0xC0,
0x73, 0xC0,
0x3E, 0x60,
0x1E, 0x70,
0x1C, 0x38,
0xF8, 0x1F,
0xE0, 0x07,
};
static constexpr Bitmap bitmap_icon_jammer {
{ 16, 16 }, bitmap_icon_jammer_data
@@ -1008,8 +1008,8 @@ static constexpr uint8_t bitmap_icon_receivers_data[] = {
0x80, 0x01,
0x80, 0x01,
0x80, 0x01,
0xF8, 0x1F,
0xF0, 0x0F,
0x98, 0x19,
0xB0, 0x0D,
0xE0, 0x07,
0xC0, 0x03,
0x83, 0xC1,
@@ -1074,10 +1074,10 @@ static constexpr uint8_t bitmap_icon_scanner_data[] = {
0x00, 0x00,
0x03, 0x01,
0x80, 0x01,
0xC3, 0x01,
0xC3, 0x00,
0xE0, 0xFF,
0xEF, 0xFF,
0xC0, 0x01,
0xC0, 0x00,
0x83, 0x01,
0x00, 0x01,
0x03, 0x00,
@@ -1198,44 +1198,44 @@ static constexpr Bitmap bitmap_icon_sleep {
};
static constexpr uint8_t bitmap_icon_sonde_data[] = {
0xE0, 0x03,
0x90, 0x07,
0xE8, 0x0F,
0xF8, 0x0F,
0xF8, 0x0F,
0xF0, 0x07,
0xF0, 0x07,
0xE0, 0x03,
0xE0, 0x03,
0xC0, 0x01,
0xC0, 0x01,
0x80, 0x00,
0x80, 0x00,
0x80, 0x02,
0xC0, 0x01,
0xC0, 0x01,
0x80, 0x03,
0xE0, 0x0F,
0xE0, 0x0F,
0xF0, 0x1F,
0xF0, 0x1F,
0xF0, 0x1F,
0xE0, 0x0F,
0xE0, 0x0F,
0x00, 0x00,
0x20, 0x09,
0x00, 0x00,
0x40, 0x05,
0x00, 0x00,
0xC0, 0x07,
0xC0, 0x07,
0xC0, 0x07,
};
static constexpr Bitmap bitmap_icon_sonde {
{ 16, 16 }, bitmap_icon_sonde_data
};
static constexpr uint8_t bitmap_icon_soundboard_data[] = {
0xFF, 0xAA,
0x81, 0x00,
0xA1, 0x42,
0xB1, 0x20,
0xBD, 0x52,
0xBD, 0x28,
0xBD, 0x52,
0xB1, 0x20,
0xA1, 0x42,
0x81, 0x00,
0xFF, 0xAA,
0x00, 0x00,
0xFF, 0xFF,
0x63, 0x8C,
0x21, 0x84,
0x21, 0x84,
0xDF, 0xFB,
0x63, 0x8C,
0x21, 0x84,
0x21, 0x84,
0xDF, 0xFB,
0x63, 0x8C,
0x21, 0x84,
0x21, 0x84,
0xFF, 0xFF,
0x00, 0x00,
0x00, 0x00,
0xAA, 0xAA,
0x01, 0x00,
0xA0, 0x42,
0x11, 0x20,
};
static constexpr Bitmap bitmap_icon_soundboard {
{ 16, 16 }, bitmap_icon_soundboard_data
@@ -1264,22 +1264,22 @@ static constexpr Bitmap bitmap_icon_speaker {
};
static constexpr uint8_t bitmap_icon_sstv_data[] = {
0x10, 0x08,
0x20, 0x04,
0x40, 0x02,
0x80, 0x01,
0xFF, 0xFF,
0x03, 0xF8,
0x5D, 0xF0,
0x05, 0xD0,
0x01, 0xF0,
0x01, 0xD0,
0x01, 0xF0,
0x01, 0xD0,
0x01, 0xF0,
0x01, 0x90,
0x03, 0x98,
0x00, 0x00,
0x00, 0x00,
0xFE, 0x7F,
0x03, 0xC0,
0x53, 0xD5,
0xAB, 0xCA,
0x53, 0xD5,
0xAB, 0xCA,
0x53, 0xD5,
0xAB, 0xCA,
0x53, 0xD5,
0x03, 0xC0,
0xFF, 0xFF,
0xFB, 0xD7,
0xFE, 0x7F,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_sstv {
{ 16, 16 }, bitmap_icon_sstv_data
@@ -1355,8 +1355,8 @@ static constexpr uint8_t bitmap_icon_transmit_data[] = {
0x80, 0x01,
0xC0, 0x03,
0xE0, 0x07,
0xF0, 0x0F,
0xF8, 0x1F,
0xB0, 0x0D,
0x98, 0x19,
0x80, 0x01,
0x80, 0x01,
0x80, 0x01,
@@ -1396,14 +1396,14 @@ static constexpr Bitmap bitmap_icon_utilities {
};
static constexpr uint8_t bitmap_more_data[] = {
0x18,
0x18,
0x18,
0x18,
0xFF,
0x7E,
0x3C,
0x18,
0x10,
0x10,
0x10,
0x10,
0x54,
0x38,
0x10,
0x00,
};
static constexpr Bitmap bitmap_more {
{ 8, 8 }, bitmap_more_data
@@ -1432,22 +1432,22 @@ static constexpr Bitmap bitmap_play {
};
static constexpr uint8_t bitmap_record_data[] = {
0xE0, 0x07,
0xF8, 0x1F,
0xFC, 0x3F,
0xFE, 0x7F,
0xFE, 0x7F,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFE, 0x7F,
0xFE, 0x7F,
0xFC, 0x3F,
0xF8, 0x1F,
0xE0, 0x07,
0xC0, 0x07,
0xF0, 0x1F,
0xF8, 0x3F,
0xFC, 0x7F,
0xFC, 0x7F,
0x66, 0xCC,
0x56, 0xF7,
0x66, 0xF6,
0x56, 0xF7,
0x56, 0xCC,
0xFC, 0x7F,
0xFC, 0x7F,
0xF8, 0x3F,
0xF0, 0x1F,
0xC0, 0x07,
0x00, 0x00,
};
static constexpr Bitmap bitmap_record {
{ 16, 16 }, bitmap_record_data
@@ -1808,21 +1808,21 @@ static constexpr Bitmap bitmap_sig_tri {
};
static constexpr uint8_t bitmap_stop_data[] = {
0x00, 0x00,
0x00, 0x00,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0xFC, 0x3F,
0x00, 0x00,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0x8B, 0xCD,
0xDD, 0xAA,
0xDB, 0xCA,
0xDB, 0xEA,
0xDD, 0xED,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
0x00, 0x00,
};
static constexpr Bitmap bitmap_stop {
-2
View File
@@ -247,8 +247,6 @@ public:
parent_pos,
5,
{
{ " 1 ", 1 },
{ " 10 ", 10 },
{ " 100", 100 },
{ " 1k ", 1000 },
{ " 3k ", 3000 }, /* Approximate SSB bandwidth */
+1 -1
View File
@@ -109,7 +109,7 @@ public:
void set_title(const std::string new_value);
private:
static constexpr auto default_title = "MAYHEM v1.0.1"; // TODO: Move the version somewhere
static constexpr auto default_title = "MAYHEM v1.0.3"; // TODO: Move the version somewhere
NavigationView& nav_;
+5
View File
@@ -201,6 +201,11 @@ void RecordView::start() {
update_status_display();
}
void RecordView::on_hide() {
stop(); // Stop current recording
View::on_hide();
}
void RecordView::stop() {
if( is_active() ) {
capture_thread.reset();
+1
View File
@@ -59,6 +59,7 @@ public:
void start();
void stop();
void on_hide() override;
bool is_active() const;
+6 -22
View File
@@ -58,34 +58,18 @@ void ReplayProcessor::execute(const buffer_c8_t& buffer) {
}
// Fill and "stretch"
for (size_t i = 0; i < buffer.count; i++) {
/*if (i & 3) {
buffer.p[i] = buffer.p[i - 1];
} else {
auto re_out = iq_buffer.p[i >> 3].real() ;
auto im_out = iq_buffer.p[i >> 3].imag() ;
buffer.p[i] = { (int8_t)re_out, (int8_t)im_out };
}*/
/*
if (i % 8 != 0) {
buffer.p[i] = buffer.p[i - 1];
} else {
auto re_out = iq_buffer.p[i/8].real() ;
auto im_out = iq_buffer.p[i/8].imag() ;
buffer.p[i] = { (int8_t)re_out, (int8_t)im_out };
}*/
auto re_out = iq_buffer.p[i].real() ;
auto im_out = iq_buffer.p[i].imag() ;
for (size_t i = 0; i < buffer.count; i++) {
auto re_out = iq_buffer.p[i].real() ;
auto im_out = iq_buffer.p[i].imag() ;
buffer.p[i] = { (int8_t)re_out, (int8_t)im_out };
}
spectrum_samples += buffer.count;
if( spectrum_samples >= spectrum_interval_samples ) {
spectrum_samples -= spectrum_interval_samples;
//channel_spectrum.feed(iq_buffer, channel_filter_pass_f, channel_filter_stop_f);
txprogress_message.progress = bytes_read; // Inform UI about progress
txprogress_message.progress = bytes_read / 1024; // Inform UI about progress
txprogress_message.done = false;
shared_memory.application_queue.push(txprogress_message);
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 B

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 B

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 B

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 B

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 B

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 B

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 B

After

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 B

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 146 B

+1 -1
View File
@@ -112,4 +112,4 @@ f.write("\n")
f.write("} /* namespace ui */\n\n")
f.write("#endif/*__BITMAP_HPP__*/\n")
print "Converted " + str(count) + " files"
print("Converted " + str(count) + " files")
@@ -0,0 +1,2 @@
[InternetShortcut]
URL=https://github.com/furrtek/portapack-havoc/issues/326
@@ -0,0 +1,2 @@
[InternetShortcut]
URL=https://github.com/eried/portapack-havoc/wiki/GPS-Sim
-10
View File
@@ -1,10 +0,0 @@
# How to generate world_map.bin
World_map.bin is required if you want to use the world map view in some apps. It's a huge (~450MB) raw image file in a format that can be easily rendered by the PortaPack.
Since Github doesn't allow uploading such large files, you must generate it yourself from the provided jpg file.
1. Make sure that `world_map.jpg` is in `/sdcard/ADSB`.
1. Go in `/firmware/tools`.
1. Run 'python adsb_map.py'. Give it some time.
1. `world_map.bin` should appear ! Leave it in the ADSB directory.
+2
View File
@@ -0,0 +1,2 @@
[InternetShortcut]
URL=https://twitter.com/caj380/status/1264586260187959296
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 MiB