mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-12-01 20:32:23 +00:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
687b1187d1 | ||
|
|
a467e74a78 | ||
|
|
e889a54e55 | ||
|
|
f501955dfd | ||
|
|
cfd1fe2b18 | ||
|
|
c80ea840d7 | ||
|
|
6e590d0764 | ||
|
|
9f72e62db7 | ||
|
|
f3bf8dbd2f | ||
|
|
739218116d | ||
|
|
bdeab6428b | ||
|
|
619fa00967 | ||
|
|
9f0b8852f6 | ||
|
|
e87a088842 | ||
|
|
4c60aed563 |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -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
|
||||
12
dockerfile
12
dockerfile
@@ -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,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/
|
||||
|
||||
@@ -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));
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"
|
||||
};
|
||||
|
||||
@@ -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.2"; // TODO: Move the version somewhere
|
||||
|
||||
NavigationView& nav_;
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
2
sdcard/ADSB/About the new world_map.bin.url
Normal file
2
sdcard/ADSB/About the new world_map.bin.url
Normal file
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=https://github.com/furrtek/portapack-havoc/issues/326
|
||||
2
sdcard/GPS/How to generate files for the GPS Sim.url
Normal file
2
sdcard/GPS/How to generate files for the GPS Sim.url
Normal file
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=https://github.com/eried/portapack-havoc/wiki/GPS-Sim
|
||||
@@ -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
sdcard/WAV/How to generate WAV files.url
Normal file
2
sdcard/WAV/How to generate WAV files.url
Normal file
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=https://twitter.com/caj380/status/1264586260187959296
|
||||
BIN
sdcard/WAV/do not give up.wav
Normal file
BIN
sdcard/WAV/do not give up.wav
Normal file
Binary file not shown.
BIN
sdcard/WAV/epic sax.wav
Normal file
BIN
sdcard/WAV/epic sax.wav
Normal file
Binary file not shown.
BIN
sdcard/WAV/final countdown.wav
Normal file
BIN
sdcard/WAV/final countdown.wav
Normal file
Binary file not shown.
BIN
sdcard/WAV/mission impossible.wav
Normal file
BIN
sdcard/WAV/mission impossible.wav
Normal file
Binary file not shown.
BIN
sdcard/WAV/sexy.wav
Normal file
BIN
sdcard/WAV/sexy.wav
Normal file
Binary file not shown.
BIN
sdcard/WAV/thug life.wav
Normal file
BIN
sdcard/WAV/thug life.wav
Normal file
Binary file not shown.
BIN
sdcard/WAV/trololol.wav
Normal file
BIN
sdcard/WAV/trololol.wav
Normal file
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 28 MiB |
Reference in New Issue
Block a user