Compare commits

...

28 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
Erwin Ried c80ea840d7 Version bump 2020-05-20 14:50:44 +02:00
Erwin Ried 6e590d0764 Fixing python in the dockerfiles
For some misterious reason it broke...
2020-05-20 14:48:44 +02:00
Erwin Ried 9f72e62db7 For some reason bzip2 is required now 2020-05-20 13:39:14 +02:00
Erwin Ried f3bf8dbd2f Merge pull request #33 from furrtek/master
Sync
2020-05-20 12:52:34 +02:00
Erwin Ried 739218116d Adding phase field (extracted from @jamesshao8 repo) (#357) 2020-05-20 12:34:20 +02:00
Erwin Ried bdeab6428b Update capture_app.cpp (#356) 2020-05-20 12:32:42 +02:00
Erwin Ried 619fa00967 Merge pull request #32 from ydixken/master
python-pip not available in repositories
2020-05-15 09:30:48 +02:00
Yannick M. Dixken 9f0b8852f6 fixed the invokation of python for get-pip.py 2020-05-15 01:08:23 +02:00
Yannick M. Dixken e87a088842 fixed the docker build process by installing pip manually 2020-05-15 00:40:24 +02:00
Yannick M. Dixken 4c60aed563 fixed the docker build process by installing pip manually 2020-05-15 00:31:20 +02:00
42 changed files with 212 additions and 211 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
+11 -1
View File
@@ -14,10 +14,20 @@ COPY ./ /havocsrc
#Fetch dependencies from APT
RUN apt-get update && \
apt-get install -y tar wget dfu-util cmake python python-pip && \
apt-get install -y tar wget dfu-util cmake python bzip2 curl && \
apt-get -qy autoremove
#Install current pip from PyPa
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python get-pip.py
#Fetch additional dependencies from Python 2.x pip
RUN pip install pyyaml
RUN ln -s /usr/bin/python3 /usr/bin/python && \
ln -s /usr/bin/pip3 /usr/bin/pip
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
#Grab the GNU ARM toolchain from arm.com
#Then extract contents to /opt/build/armbin/
+11 -1
View File
@@ -11,10 +11,20 @@ WORKDIR /havoc/firmware
# Fetch dependencies from APT
RUN apt-get update && \
apt-get install -y git tar wget dfu-util cmake python3 python-pip ccache && \
apt-get install -y git tar wget dfu-util cmake python3 ccache bzip2 curl && \
apt-get -qy autoremove
#Install current pip from PyPa
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3 get-pip.py
#Fetch additional dependencies from Python 3.x pip
RUN pip install pyyaml
RUN ln -s /usr/bin/python3 /usr/bin/python && \
ln -s /usr/bin/pip3 /usr/bin/pip
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
# Grab the GNU ARM toolchain from arm.com
# Then extract contents to /opt/build/armbin/
+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 -3
View File
@@ -54,8 +54,6 @@ enum modal_t {
ABORT
};
//#define VERSION_STRING "v1.0.0"; // TODO: Move somewhere else
class NavigationView : public View {
public:
std::function<void(const View&)> on_view_changed { };
@@ -111,7 +109,7 @@ public:
void set_title(const std::string new_value);
private:
static constexpr auto default_title = "MAYHEM v1.0.0"; // 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